Order validation and placement.
- validateOrder — Validate the cart, get accurate pricing, and receive a
validatedOrderToken - placeOrder — Submit the order using the token (expires in 15 minutes); requires the
Idempotency-Keyheader (UUID v4)
Place order
Places an order with payment. The order is re-validated, payment is processed, and the order is submitted to the restaurant.
Payment
The payment object specifies how to pay. Three options:
GETT_PAYMENT— Payment is handled by Gett (SDK integrations)CARD_ON_FILE— A card token from your own payment solution. RequirespaymentToken.SAVED_CARD— A Gett-managed saved card (iframe checkout flow). RequirespaymentIdand a session JWT.
See the Payments Guide.
Idempotency
The Idempotency-Key header (UUID v4) is REQUIRED. Replays with the same key
return the original response (24h TTL). Use a fresh key for each distinct order;
reusing a key with a different payload is a future-error condition.
Headers
Idempotency-KeyRequired unique key (UUID v4) to ensure the request is processed at most once. If a request with the same key was already processed, the original response is returned.
Place order › Request Body
Shopping cart with line items.
The end user's own IP and user agent. Required on every order request — Gett cannot observe them, because your call reaches us server-to-server.
How and when the order should be fulfilled — the mode (delivery or pickup), schedule, and (for delivery) the destination Address and handoff details. Supply it on the request; on the response it is returned fully resolved.
Payment details — see the Payments Guide.
Pricing breakdown. On validateOrder you supply tip and the response returns
the rest of the breakdown; on placeOrder the response returns the final, authoritative
amounts. Optional on requests that only need validation.
Customer contact information for the order. Supply it on your order requests; it is echoed back, fully resolved, on the response.
Place order › Responses
Order placed. Returns the created Order with the server-assigned gettOrderId, placedAt, and the final amounts breakdown.
Validate order
Validates an order and returns the full order with resolved pricing. Use this before placing to preview amounts and catch errors.
The response is an Order with amounts (pricing breakdown) and errors (validation issues). Check isValid to determine if the order can be placed.
Send an OrderValidateRequest (cart, fulfillment, optional customer/tip); get back the validated Order with server-computed fields filled in.
Validate order › Request Body
Shopping cart with line items.
The end user's own IP and user agent. Required on every order request — Gett cannot observe them, because your call reaches us server-to-server.
How and when the order should be fulfilled — the mode (delivery or pickup), schedule, and (for delivery) the destination Address and handoff details. Supply it on the request; on the response it is returned fully resolved.
Pricing breakdown. On validateOrder you supply tip and the response returns
the rest of the breakdown; on placeOrder the response returns the final, authoritative
amounts. Optional on requests that only need validation.
Customer contact information for the order. Supply it on your order requests; it is echoed back, fully resolved, on the response.
Validate order › Responses
OK