OneTablet API Documentation

Get one order

POST/management/orders/fetchOrder

Get ONE order by its OneTablet id — the read a webhook consumer makes the moment a delivery lands, to fetch the full record behind the event.

Org-scoped to the organization your api key resolves to. An orderId that belongs to another organization is INDISTINGUISHABLE from one that does not exist: both are 404, and neither ever confirms that some other tenant holds that id. Same convention as every other unknown id on this API.

Safe to retry: this operation is read-only and idempotent.

Request

application/json
required
  • orderIdstring

    OneTablet's identifier for the order (uuid) — the Order.id every webhook carries.

Responses

200 — The order.

Headers

  • x-mealco-tx-idstringoptional

    The correlation id for this call, echoed on every response — a 200 exactly as much as a 400, 401 or 500. Quote it when reporting a problem and we can find every log line for the request, in every service it touched. You may also send your own x-mealco-tx-id on the request and we adopt it, so your correlation id becomes ours. Not marked required for one reason: a request whose JSON body is malformed is rejected before it reaches an operation, so no id exists yet and that single response carries neither this header nor the txId field of the error body. Everything that reaches an operation carries it.

  • orderOrder

    The order. An object wrapper rather than a bare Order so later versions can add sibling fields additively — the same reason every other reply on this API is an object.

About Orders

Orders placed with your restaurants — read them, and act on them.

This is where an integration starts: poll fetchOrders for the orders OneTablet has accepted on your behalf across every delivery platform you are connected to, normalised into ONE shape regardless of whether they arrived from DoorDash, Uber Eats, Grubhub or a direct channel.

Two conventions hold everywhere on this API and are worth learning once. Money is always an integer in the currency's minor unit — 1250 is $12.50 — because a decimal total cannot survive a round trip through every language's default number type. Times are always ISO-8601 in UTC; a store's local time is a rendering decision, and the API does not make it for you.

All endpoints are POST with a single JSON body, and the path carries no version segment: evolution here is additive — new fields and new endpoints, never removals or narrowing — so there is no cutover a /v1 would ever mark.