Errors

Here’s a quick reference for all the error responses defined in the OpenAPI spec. All errors return application/json bodies with at least:

  • code – the HTTP status

  • message – a human-readable description

  • optional errors – field-level details (on 400/500)

Status

Description

When it can happen (examples)

400

Bad Request, validation failed

  • POST /api/v1/orders with missing/invalid payload

401

Unauthorized

  • GET /api/v1/menus without a valid token

404

Not Found

  • GET /api/v1/orders/:id with nonexistent order

409

Conflict

  • POST /api/v1/orders with the same idempotency-key but a different payload

429

Too Many Requests, rate limit exceeded

  • GET /api/v1/orders/:id (or any endpoint) with more than 5 requests per second using the same API key

500

Internal Server Error

  • Something went wrong on our end

Keep an eye on the exact message text in the spec for each endpoint, but this table covers all of the HTTP error codes you’ll see.