Skip to main content
When a request fails, the Dealroom API returns a JSON envelope with a consistent shape and an HTTP status code. Error codes are stable strings — switch on error.code in your client rather than parsing the human-readable message.

Response envelope

Error-code catalog

Common scenarios

Invalid filter expression

Invalid enum value

Enum filters (round_type, preferred_round, investor_type, article_type) accept a closed, case-insensitive value set. An unknown value returns 400 rather than an empty result — discover valid values via /reference/filters/{key}/values.

Missing required header

The API requires Authorization on every authenticated request. API-key (M2M) requests additionally require X-Client-Id set to the key’s client_id. The status code depends on which header is missing:
  • Missing Authorization401 UNAUTHORIZED
  • Missing X-Client-Id on an M2M request400 VALIDATION_ERROR

Expired token

After your access_token expires (default 24h):
Refresh the token via the OAuth2 client-credentials flow — see the Quickstart. The SDK snippets in the Authentication guide handle this automatically.

Query timeout

A heavy aggregate or unfiltered list query may exceed the 15-second execution budget:
Narrow the query (add filters, reduce limit) or switch to a purpose-built aggregate endpoint instead of paging through raw entities.

Handling errors

Switch on error.code — it’s stable across API versions. Messages may change for clarity.
Treat the message field as informative, not contractual. Always switch on code.

Endpoint-specific errors

Each endpoint may return a subset of these codes plus endpoint-specific ones. See the API Reference for the catalog per endpoint.