Skip to main content
Errors use HTTP status codes and a JSON body with a single error object:

Codes

Reports that ask for too much

A report request can be valid and still exceed what one call may compute. Grouping by counterparty over several years produces too_many_groups; asking for a period longer than a report allows produces period_too_long. Both messages name what the request would have produced and the ceiling, so you can narrow it without guessing:
Reports are never partial. A request either returns a complete answer or fails.

Rate limits

Requests are limited per API key. A 429 response carries a Retry-After header with the number of seconds to wait. Back off and retry after that interval. Paging with limit=500 is the cheapest way to pull large ranges.

Unknown ids

Fetching an id that does not exist in the key’s workspace returns 404, including ids that exist in another workspace. The API never confirms the existence of data you cannot read.