List orders
Returns closed orders for a venue over a date range. Each order is returned with its checks, items, and totals.
GET /v1/pos/venue/{venueId}/order
Authorization: Bearer <token>
Path parameters
| Name | Type | Notes |
|---|---|---|
venueId | string | Mozrest venue identifier (must be in token scope) |
Query parameters
| Name | Type | Required | Notes |
|---|---|---|---|
from | ISO 8601 date or datetime | Yes | Inclusive lower bound on the order's close time. |
until | ISO 8601 date or datetime | Yes | Inclusive upper bound on the order's close time. Max window: 31 days. Larger windows return 400. |
limit | integer | No | Page size. Default 50, max 100. |
offset | integer | No | Pagination offset. Default 0. |
The endpoint returns closed orders, ordered most recent first.
Response — 200 OK
{
"total": 124,
"orders": [
{
"id": "00ceefd4-8cc8-428b-985a-207b97cc3cba",
"status": "closed",
"tables": ["T 1"],
"partySize": 4,
"reservationDate": "2026-05-11T19:00:00+00:00",
"externalId": "POS-77321",
"prepayment": null,
"openAt": "2026-05-11T18:42:00+00:00",
"createdAt": "2026-05-11T18:42:00+00:00",
"updatedAt": "2026-05-11T20:15:32+00:00",
"checks": [
{
"id": "bd108973-9b22-4f8c-b7e2-ef36c65c8fa9",
"checkNumber": "1",
"status": "closed",
"totalAmount": 84.00,
"tax": 8.40,
"tip": 5.00,
"discount": 0.00,
"paymentMethod": "card",
"items": [
{ "id": 1, "name": "Tasting Menu", "price": 35.00, "quantity": 2 },
{ "id": 2, "name": "Wine Pairing", "price": 7.00, "quantity": 2 }
],
"closedAt": "2026-05-11T20:15:32+00:00",
"voidedAt": null,
"createdAt": "2026-05-11T18:42:00+00:00",
"updatedAt": "2026-05-11T20:15:32+00:00"
}
]
}
]
}
Order
| Field | Notes |
|---|---|
id | Mozrest canonical order ID (UUID). Stable. |
status | Always closed for this endpoint. |
tables | POS-side table identifiers the order was seated at (array of strings). May contain multiple values for merged tables. |
partySize | Guest count if the POS reported it; otherwise null. |
reservationDate | The reservation start time, when the order is linked to a Mozrest reservation. null for walk-ins. |
externalId | POS-side order identifier. Useful for reconciling with the POS's own reports. |
prepayment | Pre-paid amount, when the booking carried one. null otherwise. |
openAt | When the order was opened on the POS. |
createdAt / updatedAt | When Mozrest first persisted / last modified the order. |
checks | One or more checks (split bills) on the order. |
Check
| Field | Notes |
|---|---|
id | Check UUID. |
checkNumber | POS-assigned check number. Unique within the order; not unique across the venue. |
status | closed or void. |
totalAmount | Subtotal before tax/tip/discount, in the venue's currency. |
tax / tip / discount | Individual amounts, in the venue's currency. |
paymentMethod | Free-form (card, cash, wallet, …), as the POS reported. May be null. |
items | Line items on the check. id, name, price, quantity are the fields you can rely on across vendors; other fields a POS may emit pass through unchanged. |
closedAt | When the check was closed. |
voidedAt | When the check was voided. null unless status = void. |
createdAt / updatedAt | When Mozrest first persisted / last modified the check. |
Errors
| Status | When |
|---|---|
400 Bad Request | from/until missing or unparseable; window exceeds 31 days; invalid limit or offset. Body's details.form.errors lists the offending fields. |
401 Unauthorized | Missing or invalid Authorization header. |
403 Forbidden | Token does not have partner access, or venueId is not in scope. |
404 Not Found | venueId is unknown to Mozrest. (Out-of-scope venues return 403, not 404, so venue topology isn't leaked.) |
Examples
Yesterday's orders
curl -s "https://api-sandbox.mozrest.com/v1/pos/venue/651f2c781027817e9f28e465/order?from=2026-05-13&until=2026-05-13" \
-H "Authorization: Bearer $TOKEN" | jq
Past 7 days, second page (50 per page)
curl -s "https://api-sandbox.mozrest.com/v1/pos/venue/651f2c781027817e9f28e465/order?from=2026-05-07&until=2026-05-13&limit=50&offset=50" \
-H "Authorization: Bearer $TOKEN" | jq