Skip to content

Errors and rate limits

The error shape, every error code, and the per-key rate limits.

Errors

Every error on every route has one shape:

{
  "error": {
    "code": "SLOT_UNAVAILABLE",
    "message": "Human readable",
    "fields": { "customer.email": "Invalid e-mail" }
  }
}

fields is only present when the error belongs to specific request fields.

Code Status Meaning
UNAUTHENTICATED 401 no valid key
FORBIDDEN 403 wrong key kind or unregistered origin
NOT_FOUND 404 unknown route, product or order
METHOD_NOT_ALLOWED 405
VALIDATION 422 the request is not valid, see fields
SLOT_UNAVAILABLE 422 the chosen time slot is full or no longer offered
DELIVERY_UNAVAILABLE 422 no delivery, or not to this zone
PRODUCT_UNAVAILABLE 422 a product is sold out or not orderable now
COUPON_INVALID 422 the coupon is not valid for this order
MINIMUM_NOT_REACHED 422 below the delivery minimum
RATE_LIMITED 429 see Retry-After
INTERNAL 500 a fault on our side, never a client mistake

Rate limits

Per key, answered with 429 RATE_LIMITED and a Retry-After header (seconds):

Key Limit
Public key 1200 requests/min in total, and 120/min per IP address
Secret key 300 requests/min

Type to search…

↑↓ navigate↵ selectEsc close