error object containing a code string and a human-readable message. Your integration should check the HTTP status code and the error code to decide how to respond.
Error Response Format
Every failed request returns a JSON body in this shape:Error Codes
Retry Guidance
Treat 429 and 503 as retryable. Use exponential backoff with jitter to avoid thundering herd problems.1
Inspect the response headers
Read
X-RateLimit-Reset (Unix timestamp) or Retry-After (seconds) when present.2
Calculate backoff
Wait at least
2^attempt * 1000ms before retrying, capped at 60 seconds. Add random jitter.3
Retry with a limit
Attempt up to 5 retries for 429/503. Do not retry 400, 401, 403, 404, 409, 422, or 500 indefinitely.
Example: Handling a 429 in Code
All 4xx errors indicate a problem with your request and should not be retried without modification. 500 errors may be transient, but persistent 500s should be reported to support.