The Cashier API manages the full lifecycle of a cashier shift — from opening with an initial float through intra-shift cash movements, summary inspection, and final arqueo (close-out reconciliation). All monetary values are expressed as integer centavos (Colombian pesos × 100). Every endpoint is scoped to the authenticated user’s branch and enforces fine-grained RBAC permissions defined inDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/CRISTIANCAMACH34/Zippi/llms.txt
Use this file to discover all available pages before exploring further.
rbac.py.
Permissions
| Permission | Description |
|---|---|
cashier.read | Consult the cashier overview, shift list, movements, summaries, and liquidations |
cashier.reconcile | Open shifts, register the initial base, record movements, and close shifts |
cashier built-in role automatically receives both cashier.read and cashier.reconcile.
GET /api/v1/cashier/overview
Returns an at-a-glance summary of the current cashier state for the caller’s branch: active shift count, total cash on hand, and any pending reconciliation flags. Permission required:cashier.read
Response
Whether the request succeeded.
Overview payload with branch cashier state.
GET /api/v1/cashier/shifts
Returns a paginated list of cashier shifts. Optionally filter to a specific courier/cashier or restrict results to active shifts only. Permission required:cashier.read
Query Parameters
Page number (1-indexed).
Number of results per page.
Filter shifts belonging to a specific courier/cashier user ID.
When
true, only returns shifts that are currently open.Response
Whether the request succeeded.
Paginated list of shift objects.
Array of shift records.
Total number of matching shifts.
Current page.
Page size used.
POST /api/v1/cashier/shifts
Opens a new cashier shift. The caller becomes the shift owner. Returns201 Created.
Permission required: cashier.reconcile
Body
Opening float in centavos (e.g.
5000000 = $50,000 COP). Must be a non-negative integer.Optional free-text note attached to the shift opening event.
Response
Always
true on success.Newly created shift record including
shift_id, status, opened_at, and the caller’s user info.GET /api/v1/cashier/shifts/
Retrieves the full detail of a single shift. Permission required:cashier.read
Path Parameters
The numeric ID of the shift.
Response
Whether the request succeeded.
Full shift object including status, amounts, timestamps, and owner.
POST /api/v1/cashier/shifts//base
Registers (or updates) the initial cash base for a shift. Useful when the float is counted after opening, or corrected before the first movement. Permission required:cashier.reconcile
Path Parameters
ID of the target shift.
Body
Verified base amount in centavos.
Optional auditor note.
Response
Always
true on success.Updated shift record.
GET /api/v1/cashier/shifts//movements
Lists all cash movements (income, expenses, adjustments) recorded under a shift. Permission required:cashier.read
Path Parameters
ID of the target shift.
Response
Whether the request succeeded.
List of movement objects, each with
type, amount (centavos), description, created_at, and the recording user.POST /api/v1/cashier/shifts//movements
Records a new cash movement against an open shift. Use this to log collections, petty cash disbursements, or Wompi reconciliation entries. Permission required:cashier.reconcile
Path Parameters
ID of the target shift.
Body
Movement type. Typical values:
income, expense, adjustment.Movement value in centavos. Always positive — the
type field determines sign.Human-readable label for the movement (e.g.
"Order #1023 cash collection").Optional external reference (order ID, payment ID, etc.).
Response
Always
true on success.The newly created movement record.
GET /api/v1/cashier/shifts//summary
Returns a computed summary of the shift: expected cash (base + movements), total income, total expenses, and net balance. Permission required:cashier.read
Path Parameters
ID of the target shift.
Response
Whether the request succeeded.
Summary with
expected_cash, total_income, total_expenses, net_balance — all in centavos.POST /api/v1/cashier/shifts//close
Closes a shift and records the physically counted cash amount (arqueo). The system computes the variance between expected and actual cash and stores it for reconciliation. Permission required:cashier.reconcile
Path Parameters
ID of the shift to close.
Body
Physically counted cash in the drawer, expressed in centavos (e.g.
6800000 = $68,000 COP).Optional closing note or supervisor signature reference.
Response
Always
true on success.Closed shift record including
status: "closed", closed_at, actual_amount, expected_amount, and variance (all in centavos).GET /api/v1/cashier/shifts//liquidation
Returns the full liquidation report for a closed shift, including a breakdown of collections by payment method (cash, Wompi, other), total deliveries, and any outstanding discrepancies. Permission required:cashier.read
Path Parameters
ID of the (closed) shift.
Response
Whether the request succeeded.
Liquidation breakdown:
cash_total, wompi_total, other_total, grand_total, variance, and a line-by-line items array — all monetary values in centavos.