Skip to main content
GET
/
cash-drawer-openings
/
{cashDrawerOpeningId}
Retrieve a cash drawer opening
curl --request GET \
  --url https://api.openfiskal.com/v1/cash-drawer-openings/{cashDrawerOpeningId} \
  --header 'Authorization: Bearer <token>'
{
  "occurred_at": "2023-11-07T05:31:56Z",
  "id": "cdo_01HXYZ",
  "object": "<string>",
  "register_id": "<string>",
  "received_at": "2023-11-07T05:31:56Z",
  "created_at": "2023-11-07T05:31:56Z",
  "operation_id": "op_01HXYZ",
  "cashier": {
    "id": "<string>",
    "display_name": "Maria R."
  },
  "reason": "Float check",
  "note": "<string>",
  "fiscal": {
    "sequence_number": 1042,
    "signed_at": "2023-11-07T05:31:56Z",
    "signature": "a3f9b2...",
    "jurisdiction_data": {}
  }
}

Authorizations

Authorization
string
header
required

Platform API key sent as Authorization: Bearer ofk_platform_.... Platform integrators also pass OpenFiskal-Organization: org_xxx to act on behalf of a merchant.

Headers

OpenFiskal-Organization
string

Merchant organization ID. Required for platform integrators acting on behalf of a specific merchant. Omit when using an organization-scoped API key directly.

Path Parameters

cashDrawerOpeningId
string
required

Response

Cash drawer opening

occurred_at
string<date-time>
required

Device-side timestamp of when the drawer opened. This is the fiscally relevant timestamp — use the register's local clock, not the time the API call is made. The server records its own received_at separately.

id
string
required
Example:

"cdo_01HXYZ"

object
string
required
Allowed value: "cash_drawer_opening"
register_id
string
required

The register this opening was logged against

received_at
string<date-time>
required

Server-side timestamp when this opening was received. May differ from occurred_at if the register was offline and syncing retroactively.

created_at
string<date-time>
required
operation_id
string | null

The POS operation this drawer opening is associated with, if any. Omit for unattended openings (float checks, manager access, etc.).

Example:

"op_01HXYZ"

cashier
object
reason
string | null

Optional free-text reason for the opening. Some jurisdictions require a reason for openings not linked to an operation.

Example:

"Float check"

note
string | null

Internal note, not transmitted to fiscal authorities

fiscal
object

Jurisdiction-specific fiscal output. Present in jurisdictions that require cash drawer openings to be signed or sequence-numbered in the audit log (e.g. Norway, Sweden).