# ErrorBody `ErrorBody` — object ## Attributes - `error` (object, required) - `code` (string, required, `MALFORMED_REQUEST` | `UNAUTHORIZED` | `CONNECTION_REVOKED` | `ORDER_NOT_FOUND` | `STORE_OFFLINE` | `WEBHOOK_NOT_CONFIGURED` | `ORDER_CONFLICT` | `INVALID_TRANSITION` | `REQUEST_IN_PROGRESS` | `INVALID_FIELD` | `INVALID_AMOUNTS` | `CURRENCY_MISMATCH` | `RATE_LIMITED` | `INTERNAL_ERROR` | `SERVICE_UNAVAILABLE`) - `MALFORMED_REQUEST` (400): the body is not valid JSON. - `UNAUTHORIZED` (401): key missing, wrong, expired or revoked. - `CONNECTION_REVOKED` (403): the restaurant deleted the connection. - `ORDER_NOT_FOUND` (404): unknown order, or another connection's. - `STORE_OFFLINE` (409): the restaurant is not taking orders through this connection. - `WEBHOOK_NOT_CONFIGURED` (409): set a webhook URL first. - `ORDER_CONFLICT` (409): the `externalId` exists with another payload. - `INVALID_TRANSITION` (409): cancel of a completed/rejected order; courier update for a store-delivered order. - `REQUEST_IN_PROGRESS` (409): the same order is still being received, or secret rotations collide; `Retry-After`. - `INVALID_FIELD` (422): schema violation (`path`), invalid webhook URL, invalid payment combination. - `INVALID_AMOUNTS` (422): sums or `amountPaid` do not add up. - `CURRENCY_MISMATCH` (422): not the restaurant's currency. - `RATE_LIMITED` (429): too many requests; `Retry-After`. - `INTERNAL_ERROR` (500): our failure; retry with the same body. - `SERVICE_UNAVAILABLE` (503): a service we depend on is not reachable; retry later. - `message` (string, required) - `path` (string, optional) Field path in dot notation, e.g. items.0.unitPrice - `details` (optional) Additional data for some errors - `requestId` (string, required) Quote it to support; your x-request-id if you sent one ## Example ```json { "error": { "code": "MALFORMED_REQUEST", "message": "string", "path": "string", "details": null, "requestId": "string" } } ```