Skip to main content
Errors return a consistent JSON shape and the matching HTTP status code:
  • code — a stable, machine-readable string (switch on this, not the message).
  • message — a human-readable, safe description. It never leaks upstream or internal detail.
  • requestId — quote it in support requests so we can trace the exact call.

Status codes

Every 503 is temporary and safe to retry — wait for the Retry-After header (in seconds) when it’s present. Switch on code if you need to know which one it was. Failed requests are never charged.
422 responses include a details array pinpointing each invalid parameter, so you can surface precise validation feedback to your users.