Feature discovery
Per-venue capability discovery. Call this once when onboarding a venue (and optionally periodically) to know what's available before relying on any feature in your UI.
GET /v1/pat/venue/{venueId}/features
Authorization: Bearer <token>
Path parameters
| Name | Type | Notes |
|---|---|---|
venueId | string | Mozrest venue identifier (must be in token scope) |
Response - 200 OK
{
"venueId": "651f2c781027817e9f28e465",
"posCode": "MOZREST_POS",
"payAtTable": {
"billRetrieval": true,
"paymentForwarding": true,
"paymentConfirmation": "immediate"
}
}
| Field | Meaning |
|---|---|
posCode | Identifier of the underlying POS family (e.g. MOZREST_POS, SIMPHONY, LIGHTSPEED_K_SERIES, …). Use this if you want POS-specific UX nuances. |
payAtTable.billRetrieval | When true, Mozrest fetches a live bill from the POS at request time. When false, the bill endpoint still works but serves the last-known state from Mozrest's DB. |
payAtTable.paymentForwarding | When true, Mozrest forwards the payment to the underlying POS (so the waiter's POS UI reflects it). When false, Mozrest still records the payment internally but does not push it to the POS. |
payAtTable.paymentConfirmation | "immediate" or "deferred". On "immediate" (most POSs, and every venue live today) the payment POST answers 200 OK with status: "confirmed" - nothing to poll. On "deferred" it answers 202 Accepted with status: "pending", and you poll the payment status endpoint to a terminal state. Partners following the canonical integration loop never need to branch on this value - it exists for UX tuning (e.g. pre-rendering a "Confirming with the restaurant…" screen on deferred venues). |
Both flags flip to true per-POS once a concrete adapter is registered. Mozrest POS simulator is the first POS with both live; real POS adapters (Simphony first, then the rest of the matrix) follow.
Errors
| Status | When |
|---|---|
401 Unauthorized | Token invalid or revoked. OAuth-style body, not the standard envelope - see Errors |
403 Forbidden | Missing Authorization header, token does not have partner access, or venue not in scope |
404 Not Found | The venue has no active POS connection. message: No POS connection found for the venue. |