TrellisDevelopers
API reference

Cash Management

GET
/cash-management/drawers

Toast-inspired cash drawer list with current open, paused, and closed state plus expected and actual balances.

Query Parameters

locationId?string
state?||
assignedStaffUserId?string

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/cash-management/drawers" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "drawers": [    {      "id": "string",      "locationId": "string",      "label": "string",      "baseLabel": "string",      "sequenceNumber": 1,      "state": "open",      "assignedStaffUserId": "string",      "lockedToStaffUserId": "string",      "openingStaffUserId": "string",      "startingBalance": 0,      "expectedBalance": 0,      "actualBalance": 0,      "overShortAmount": 0,      "closeoutMode": "standard",      "closeoutRequireApprovalAmount": 0,      "closeoutWarningAmount": 0,      "stateComment": "string",      "parentDrawerId": "string",      "replacementDrawerId": "string",      "payload": {        "property1": null,        "property2": null      },      "openedAt": "2019-08-24T14:15:22Z",      "pausedAt": "2019-08-24T14:15:22Z",      "closedAt": "2019-08-24T14:15:22Z",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "page": {    "total": 0  }}
POST
/cash-management/drawers

Creates an open cash drawer with an assigned employee, expected balance tracking, and drawer closeout settings.

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/cash-management/drawers" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "locationId": "string",    "label": "string",    "startingBalance": 0  }'
{  "id": "string",  "locationId": "string",  "label": "string",  "baseLabel": "string",  "sequenceNumber": 1,  "state": "open",  "assignedStaffUserId": "string",  "lockedToStaffUserId": "string",  "openingStaffUserId": "string",  "startingBalance": 0,  "expectedBalance": 0,  "actualBalance": 0,  "overShortAmount": 0,  "closeoutMode": "standard",  "closeoutRequireApprovalAmount": 0,  "closeoutWarningAmount": 0,  "stateComment": "string",  "parentDrawerId": "string",  "replacementDrawerId": "string",  "payload": {    "property1": null,    "property2": null  },  "openedAt": "2019-08-24T14:15:22Z",  "pausedAt": "2019-08-24T14:15:22Z",  "closedAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/cash-management/drawers/{id}

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/cash-management/drawers/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "drawer": {    "id": "string",    "locationId": "string",    "label": "string",    "baseLabel": "string",    "sequenceNumber": 1,    "state": "open",    "assignedStaffUserId": "string",    "lockedToStaffUserId": "string",    "openingStaffUserId": "string",    "startingBalance": 0,    "expectedBalance": 0,    "actualBalance": 0,    "overShortAmount": 0,    "closeoutMode": "standard",    "closeoutRequireApprovalAmount": 0,    "closeoutWarningAmount": 0,    "stateComment": "string",    "parentDrawerId": "string",    "replacementDrawerId": "string",    "payload": {      "property1": null,      "property2": null    },    "openedAt": "2019-08-24T14:15:22Z",    "pausedAt": "2019-08-24T14:15:22Z",    "closedAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "entries": [    {      "id": "string",      "drawerId": "string",      "locationId": "string",      "entryType": "cash_in",      "amount": 0,      "balanceDelta": 0,      "comment": "string",      "reason": "string",      "createdByStaffUserId": "string",      "relatedStaffUserId": "string",      "payload": {        "property1": null,        "property2": null      },      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "reconciliation": {    "drawerId": "string",    "closeoutMode": "standard",    "startingBalance": 0,    "expectedBalance": 0,    "actualBalance": 0,    "overShortAmount": 0,    "requiresWarningConfirmation": true,    "requiresManagerApproval": true,    "status": "exact"  },  "closeoutSummary": {    "shiftId": "string",    "locationId": "string",    "staffUserId": "string",    "orderIds": [      "string"    ],    "paymentIntentIds": [      "string"    ],    "openOrderIds": [      "string"    ],    "unresolvedPaymentIntentIds": [      "string"    ],    "orderCount": 0,    "openOrderCount": 0,    "paidOpenCheckCount": 0,    "authorizedPaymentCount": 0,    "openTabCount": 0,    "unresolvedPaymentCount": 0,    "capturedPaymentCount": 0,    "refundedPaymentCount": 0,    "grossCapturedAmount": 0,    "grossRefundedAmount": 0,    "netCapturedAmount": 0,    "tipAmount": 0,    "refundedTipAmount": 0,    "blockingReasons": [      "string"    ],    "status": "ready"  }}
POST
/cash-management/drawers/{id}/assign

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/cash-management/drawers/string/assign" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "locationId": "string",  "label": "string",  "baseLabel": "string",  "sequenceNumber": 1,  "state": "open",  "assignedStaffUserId": "string",  "lockedToStaffUserId": "string",  "openingStaffUserId": "string",  "startingBalance": 0,  "expectedBalance": 0,  "actualBalance": 0,  "overShortAmount": 0,  "closeoutMode": "standard",  "closeoutRequireApprovalAmount": 0,  "closeoutWarningAmount": 0,  "stateComment": "string",  "parentDrawerId": "string",  "replacementDrawerId": "string",  "payload": {    "property1": null,    "property2": null  },  "openedAt": "2019-08-24T14:15:22Z",  "pausedAt": "2019-08-24T14:15:22Z",  "closedAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
POST
/cash-management/drawers/{id}/entries

Supports Toast-style during-shift entries including cash in, cash collected, cash out, payout, tip out, cash drop, and no sale.

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/cash-management/drawers/string/entries" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "entryType": "cash_in"  }'
{  "drawer": {    "id": "string",    "locationId": "string",    "label": "string",    "baseLabel": "string",    "sequenceNumber": 1,    "state": "open",    "assignedStaffUserId": "string",    "lockedToStaffUserId": "string",    "openingStaffUserId": "string",    "startingBalance": 0,    "expectedBalance": 0,    "actualBalance": 0,    "overShortAmount": 0,    "closeoutMode": "standard",    "closeoutRequireApprovalAmount": 0,    "closeoutWarningAmount": 0,    "stateComment": "string",    "parentDrawerId": "string",    "replacementDrawerId": "string",    "payload": {      "property1": null,      "property2": null    },    "openedAt": "2019-08-24T14:15:22Z",    "pausedAt": "2019-08-24T14:15:22Z",    "closedAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "entry": {    "id": "string",    "drawerId": "string",    "locationId": "string",    "entryType": "cash_in",    "amount": 0,    "balanceDelta": 0,    "comment": "string",    "reason": "string",    "createdByStaffUserId": "string",    "relatedStaffUserId": "string",    "payload": {      "property1": null,      "property2": null    },    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "reconciliation": {    "drawerId": "string",    "closeoutMode": "standard",    "startingBalance": 0,    "expectedBalance": 0,    "actualBalance": 0,    "overShortAmount": 0,    "requiresWarningConfirmation": true,    "requiresManagerApproval": true,    "status": "exact"  },  "closeoutSummary": {    "shiftId": "string",    "locationId": "string",    "staffUserId": "string",    "orderIds": [      "string"    ],    "paymentIntentIds": [      "string"    ],    "openOrderIds": [      "string"    ],    "unresolvedPaymentIntentIds": [      "string"    ],    "orderCount": 0,    "openOrderCount": 0,    "paidOpenCheckCount": 0,    "authorizedPaymentCount": 0,    "openTabCount": 0,    "unresolvedPaymentCount": 0,    "capturedPaymentCount": 0,    "refundedPaymentCount": 0,    "grossCapturedAmount": 0,    "grossRefundedAmount": 0,    "netCapturedAmount": 0,    "tipAmount": 0,    "refundedTipAmount": 0,    "blockingReasons": [      "string"    ],    "status": "ready"  }}
POST
/cash-management/drawers/{id}/pause

Models Toast count-later behavior: the current drawer becomes paused and a new open drawer can inherit the same starting balance.

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/cash-management/drawers/string/pause" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "pausedDrawer": {    "id": "string",    "locationId": "string",    "label": "string",    "baseLabel": "string",    "sequenceNumber": 1,    "state": "open",    "assignedStaffUserId": "string",    "lockedToStaffUserId": "string",    "openingStaffUserId": "string",    "startingBalance": 0,    "expectedBalance": 0,    "actualBalance": 0,    "overShortAmount": 0,    "closeoutMode": "standard",    "closeoutRequireApprovalAmount": 0,    "closeoutWarningAmount": 0,    "stateComment": "string",    "parentDrawerId": "string",    "replacementDrawerId": "string",    "payload": {      "property1": null,      "property2": null    },    "openedAt": "2019-08-24T14:15:22Z",    "pausedAt": "2019-08-24T14:15:22Z",    "closedAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "replacementDrawer": {    "id": "string",    "locationId": "string",    "label": "string",    "baseLabel": "string",    "sequenceNumber": 1,    "state": "open",    "assignedStaffUserId": "string",    "lockedToStaffUserId": "string",    "openingStaffUserId": "string",    "startingBalance": 0,    "expectedBalance": 0,    "actualBalance": 0,    "overShortAmount": 0,    "closeoutMode": "standard",    "closeoutRequireApprovalAmount": 0,    "closeoutWarningAmount": 0,    "stateComment": "string",    "parentDrawerId": "string",    "replacementDrawerId": "string",    "payload": {      "property1": null,      "property2": null    },    "openedAt": "2019-08-24T14:15:22Z",    "pausedAt": "2019-08-24T14:15:22Z",    "closedAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  }}
POST
/cash-management/drawers/{id}/reopen

Allows managers to reopen a drawer to resolve discrepancies, make adjustments, and close the drawer again.

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/cash-management/drawers/string/reopen" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "locationId": "string",  "label": "string",  "baseLabel": "string",  "sequenceNumber": 1,  "state": "open",  "assignedStaffUserId": "string",  "lockedToStaffUserId": "string",  "openingStaffUserId": "string",  "startingBalance": 0,  "expectedBalance": 0,  "actualBalance": 0,  "overShortAmount": 0,  "closeoutMode": "standard",  "closeoutRequireApprovalAmount": 0,  "closeoutWarningAmount": 0,  "stateComment": "string",  "parentDrawerId": "string",  "replacementDrawerId": "string",  "payload": {    "property1": null,    "property2": null  },  "openedAt": "2019-08-24T14:15:22Z",  "pausedAt": "2019-08-24T14:15:22Z",  "closedAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
POST
/cash-management/drawers/{id}/closeout

Counts the drawer, stores actual balance, calculates over or short variance, and enforces warning or manager-approval thresholds.

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/cash-management/drawers/string/closeout" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "actualBalance": 0  }'
{  "drawer": {    "id": "string",    "locationId": "string",    "label": "string",    "baseLabel": "string",    "sequenceNumber": 1,    "state": "open",    "assignedStaffUserId": "string",    "lockedToStaffUserId": "string",    "openingStaffUserId": "string",    "startingBalance": 0,    "expectedBalance": 0,    "actualBalance": 0,    "overShortAmount": 0,    "closeoutMode": "standard",    "closeoutRequireApprovalAmount": 0,    "closeoutWarningAmount": 0,    "stateComment": "string",    "parentDrawerId": "string",    "replacementDrawerId": "string",    "payload": {      "property1": null,      "property2": null    },    "openedAt": "2019-08-24T14:15:22Z",    "pausedAt": "2019-08-24T14:15:22Z",    "closedAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "reconciliation": {    "drawerId": "string",    "closeoutMode": "standard",    "startingBalance": 0,    "expectedBalance": 0,    "actualBalance": 0,    "overShortAmount": 0,    "requiresWarningConfirmation": true,    "requiresManagerApproval": true,    "status": "exact"  },  "authorization": {    "mode": "not_required",    "actorRoles": [      "string"    ],    "overrideStaffUserId": "string",    "overrideRoles": [      "string"    ]  },  "closeoutSummary": {    "shiftId": "string",    "locationId": "string",    "staffUserId": "string",    "orderIds": [      "string"    ],    "paymentIntentIds": [      "string"    ],    "openOrderIds": [      "string"    ],    "unresolvedPaymentIntentIds": [      "string"    ],    "orderCount": 0,    "openOrderCount": 0,    "paidOpenCheckCount": 0,    "authorizedPaymentCount": 0,    "openTabCount": 0,    "unresolvedPaymentCount": 0,    "capturedPaymentCount": 0,    "refundedPaymentCount": 0,    "grossCapturedAmount": 0,    "grossRefundedAmount": 0,    "netCapturedAmount": 0,    "tipAmount": 0,    "refundedTipAmount": 0,    "blockingReasons": [      "string"    ],    "status": "ready"  }}
POST
/cash-management/shift-reviews/reconcile

Captures the Toast-style reconcile cash and tips step and optionally creates cash collected or tip out entries on a drawer.

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/cash-management/shift-reviews/reconcile" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "locationId": "string",    "payoutMethod": "cash_drawer",    "action": "pay",    "depositTarget": "cash_drawer",    "cashSales": 0,    "nonCashTips": 0  }'
{  "shiftReview": {    "id": "string",    "locationId": "string",    "staffUserId": "string",    "drawerId": "string",    "status": "open",    "payoutMethod": "cash_drawer",    "actionTaken": "pay",    "depositTarget": "cash_drawer",    "cashSales": 0,    "nonCashTips": 0,    "declaredCashTips": 0,    "cashPaidIn": 0,    "tipsPaidOut": 0,    "netToRestaurant": 0,    "netToEmployee": 0,    "payload": {      "property1": null,      "property2": null    },    "completedAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "drawer": {    "id": "string",    "locationId": "string",    "label": "string",    "baseLabel": "string",    "sequenceNumber": 1,    "state": "open",    "assignedStaffUserId": "string",    "lockedToStaffUserId": "string",    "openingStaffUserId": "string",    "startingBalance": 0,    "expectedBalance": 0,    "actualBalance": 0,    "overShortAmount": 0,    "closeoutMode": "standard",    "closeoutRequireApprovalAmount": 0,    "closeoutWarningAmount": 0,    "stateComment": "string",    "parentDrawerId": "string",    "replacementDrawerId": "string",    "payload": {      "property1": null,      "property2": null    },    "openedAt": "2019-08-24T14:15:22Z",    "pausedAt": "2019-08-24T14:15:22Z",    "closedAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "entries": [    {      "id": "string",      "drawerId": "string",      "locationId": "string",      "entryType": "cash_in",      "amount": 0,      "balanceDelta": 0,      "comment": "string",      "reason": "string",      "createdByStaffUserId": "string",      "relatedStaffUserId": "string",      "payload": {        "property1": null,        "property2": null      },      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "laborShift": {    "id": "string",    "status": "string",    "cashSalesTotal": 0,    "nonCashTips": 0,    "cashExpectedToTurnIn": 0,    "cashTurnedIn": 0,    "cashVariance": 0,    "tipPayoutAmount": 0,    "reviewStartedAt": "2019-08-24T14:15:22Z",    "reviewCompletedAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "closeoutSummary": {    "shiftId": "string",    "locationId": "string",    "staffUserId": "string",    "orderIds": [      "string"    ],    "paymentIntentIds": [      "string"    ],    "openOrderIds": [      "string"    ],    "unresolvedPaymentIntentIds": [      "string"    ],    "orderCount": 0,    "openOrderCount": 0,    "paidOpenCheckCount": 0,    "authorizedPaymentCount": 0,    "openTabCount": 0,    "unresolvedPaymentCount": 0,    "capturedPaymentCount": 0,    "refundedPaymentCount": 0,    "grossCapturedAmount": 0,    "grossRefundedAmount": 0,    "netCapturedAmount": 0,    "tipAmount": 0,    "refundedTipAmount": 0,    "blockingReasons": [      "string"    ],    "status": "ready"  }}
GET
/cash-management/closeout/day

Aggregates open, paused, and closed drawer balances into a Toast-style closeout day cash snapshot.

Query Parameters

locationId*string

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/cash-management/closeout/day?locationId=string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "locationId": "string",  "openDrawerCount": 0,  "pausedDrawerCount": 0,  "closedDrawerCount": 0,  "expectedTotalBalance": 0,  "totalStartingBalance": 0,  "expectedTotalCloseoutCash": 0,  "actualTotalCloseoutCash": 0,  "cashOverShort": 0}
GET
/cashmgmt/v1/deposits

Query Parameters

businessDate?string|number

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

toast-restaurant-external-id*string

Response Body

application/json

curl -X GET "https://example.com/cashmgmt/v1/deposits" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "toast-restaurant-external-id: string"
[  null]
GET
/cashmgmt/v1/entries

Query Parameters

businessDate?string|number

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

toast-restaurant-external-id*string

Response Body

application/json

curl -X GET "https://example.com/cashmgmt/v1/entries" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "toast-restaurant-external-id: string"
[  null]