Errors

The error envelope and the stable set of error codes.

Every error uses the same JSON envelope:

{
  "error": {
    "code": "invalid_request",
    "message": "Human-readable description",
    "param": "address",
    "requestId": "..."
  }
}
  • param appears only when the error can be traced to one request field.
  • requestId is always present and is also returned in the X-Request-Id response header. Include it when you contact support.

Error codes

Branch on error.code, not on the message text. The codes are a fixed set:

CodeMeaning
unauthorizedMissing or invalid API key or intermediary key
invalid_requestMalformed or missing request data
not_foundNo quote group or quote matches the given ID
conflictReserved; no endpoint returns it today
unprocessableThe request is well-formed but the API can't act on it
rate_limitedToo many requests; see Rate limits
server_errorUnexpected failure; safe to retry

The C#, Python and TypeScript SDKs turn these responses into typed exceptions, so you can catch them without parsing the body yourself.

On this page