error.code, not on the message text. Messages may be reworded; codes are stable.
Error codes
Retry guidance
Safe to retry
Safe to retry
429— wait untilX-RateLimit-Reset, then retry.502— retry with exponential backoff (1s, 2s, 4s…). Cap at ~5 attempts.
Do not retry
Do not retry
401,403,400— these will fail identically every time. Fix the request.
Partial failures are not errors
A bundle request can return200 while individual topics inside it failed:
"error": "unavailable" means that specific dataset couldn’t be reached for this request. The overall request still succeeded and is still charged in full.
Always check for an error field on each topic before reading value:
Getting help
Every response includes ameta.request_id. Include it when contacting support — it lets us find the exact request in our logs.