API
Pagination, Filtering, And Errors
Use common parameters, filters, and error envelopes.
All list endpoints use the same pagination and format parameters.
Common parameters
| Parameter | Meaning |
|---|---|
limit | Rows per page. Default 100. Max 1000 for JSON and 5000 for CSV. |
offset | Pagination offset. Max 100000. |
format | json or csv. Defaults to json. |
Date-backed endpoints can also support:
| Parameter | Meaning |
|---|---|
since | ISO 8601 lower date bound. |
until | ISO 8601 upper date bound. |
Response envelope
{
"data": [],
"pagination": {
"limit": 100,
"offset": 0,
"has_more": false
},
"meta": {
"workspace_id": "...",
"history_start": "2026-03-14T00:00:00.000Z"
}
}CSV responses do not use this JSON envelope. They return text/csv with a
stable header row and a dated attachment filename.
Errors
Errors use a flat envelope:
{
"error": "Provide a valid API key as 'Authorization: Bearer <key>'.",
"code": "invalid_api_key"
}| Status | Code | Meaning |
|---|---|---|
| 400 | validation_error | A query parameter is invalid. |
| 401 | invalid_api_key | The key is missing, malformed, unknown, or revoked. |
| 403 | plan_capability_required | The plan does not include API exports. |
| 404 | not_found | The resource was not found. |
| 429 | rate_limited | The key exceeded its rate limit. |
| 500 | server_error | The request could not be completed. |
All error responses include Cache-Control: no-store.