Skip to main content
When a request fails, Financial Data API returns a JSON body with a stable, machine-readable error code and the same request identifier you would get on success. You can branch on error.code programmatically and quote request_id when you contact support. This page covers the error envelope, the full code table, the fail-closed behavior on unknown parameters, and how to use the request identifier.

The error envelope

Errors mirror the success envelope: an error object replaces data, and the request identifier is preserved at both the top level and inside error.
object
required
The error payload. Present instead of data on any failed request.
string
required
The request identifier, repeated at the envelope root. Identical to error.request_id.

Error codes

Codes are stable. The HTTP status always matches the code as listed here.
Branch your error handling on error.code, never on the HTTP status alone and never on the message string. The code is the part of the contract that is guaranteed stable.

Fail closed on unknown parameters

Financial Data API rejects unknown query parameters rather than silently ignoring them. If you send a parameter the endpoint does not recognize (for example, a typo like contry instead of country), the request fails with bad_request and a 400 status. This is deliberate. Silently ignoring a misspelled filter would return data that does not match what you asked for, which is worse than a clear error. Fail-closed means a typo surfaces immediately instead of quietly returning the wrong rows.
A typo fails closed (cURL)
Check parameter spelling against the OpenAPI spec when you get an unexpected bad_request. A rejected unknown parameter is the most common cause.

Handling errors in code

Using request_id with support

Every error response carries a request_id (and its requestId twin). The value identifies your exact request in the server logs. When something looks wrong and you reach out for help, include:
  • the request_id from the failing response,
  • the error.code you received,
  • the full URL you called (with parameters).
That triple lets support locate your request immediately, without guesswork.

Rate limits

The 429 body, the limit headers, and backoff guidance.

Response envelope

How errors mirror the success envelope.