Skip to main content
Every error is application/problem+json, following RFC 9457. This covers authentication, validation, rate limits, insufficient balance and unavailable dependencies. Never parse error text. Branch on:
  • status for HTTP flow (retry, login, 404)
  • code for product decisions, the stable identifier
  • errors[].field to highlight invalid form fields
  • requestId when contacting support
detail may be reworded or translated. code will not change.

HTTP status

Error codes

Retries

Use an Idempotency-Key on every mutation. Retry automatically only on 429, 502 and 503, keeping the same key, and honor Retry-After on 429. Do not retry 404, 409 or VALIDATION_ERROR without fixing the request.