Cases API
Errors
Every error is a JSON object with a single error string:
{ "error": "<message>" }HTTP status codes
| Status | Meaning |
|---|---|
200 | Success |
400 Bad Request | Invalid query parameter: an unknown status or severity, an open that is not true or false, a limit outside 1–1000, or an unparseable updatedSince |
401 Unauthorized | Missing, malformed, expired, or revoked API key |
403 Forbidden | The key is valid but lacks the read:cases scope |
404 Not Found | No case with that ID in this workspace |
429 Too Many Requests | Rate limit exceeded |
Examples
{ "error": "severity must be one of: LOW, MEDIUM, HIGH, URGENT." }{ "error": "open must be either true or false." }{ "error": "API key missing required scope: read:cases." }What is not an error
A filter that matches nothing returns 200 with an empty list and "nextCursor": null. An assigneeId naming someone with no cases, or an id that names nobody at all, is an empty page rather than a 404.
Limits
Each API key is limited to 120 requests per minute (platform-enforced). Exceeding it returns 429 with a Retry-After header giving the seconds until the window resets.