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": "..."
}
}paramappears only when the error can be traced to one request field.requestIdis always present and is also returned in theX-Request-Idresponse header. Include it when you contact support.
Error codes
Branch on error.code, not on the message text. The codes are a fixed set:
| Code | Meaning |
|---|---|
unauthorized | Missing or invalid API key or intermediary key |
invalid_request | Malformed or missing request data |
not_found | No quote group or quote matches the given ID |
conflict | Reserved; no endpoint returns it today |
unprocessable | The request is well-formed but the API can't act on it |
rate_limited | Too many requests; see Rate limits |
server_error | Unexpected 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.
