Create an order
POST/v1/orders
Creates an order and returns it.
Send service_type and, optionally, client_id (an existing client of your company). table_id is only accepted for TABLE orders; address_id and delivery_price only for DELIVERY orders.
By default the order starts as INITIATED: a draft the merchant does not see yet. Add its items with POST /v1/orders/{id}/combos (and payments or discounts if any), then confirm it with PATCH /v1/orders/{id}/status and status: PENDING (or PREPARING to skip the merchant confirmation). Confirming assigns the daily number and makes the order visible to the merchant. Drafts are never returned by GET /v1/orders: keep the id from this response and read the draft with GET /v1/orders/{id}.
Send status: PENDING to skip the draft and confirm the order on creation.
Requires an Idempotency-Key header; replaying the same key with the same body returns the original result.
Required scope: orders:write
Request
Responses
- 201
- 401
- 403
- 404
- 422
The created order.
Unauthenticated — the request is missing a credential, or the Bearer token / API key is invalid, expired, or revoked.
Insufficient scope — the credential is authenticated but lacks a scope the endpoint requires.
Not found — no resource matches the id in the path (or it belongs to a different company).
Validation failed — the request body failed schema validation. errors[] lists every offending field.