Skip to content

Errors

Every endpoint shares the same error format and the same authentication, validation, and rate-limit behavior described on this page. Individual endpoint pages only document status codes and behavior that differ from this page (e.g. 400 on paginated endpoints, 406 on endpoints with multiple response formats).

Error format

Every non-2xx response is a problem-details JSON body (Content-Type: application/problem+json):

{
    "type": "about:blank",
    "title": "Not Found",
    "status": 404,
    "detail": "...",
    "instance": "/v1/...",
    "code": "not_found",
    "request_id": "3a7b2c1d-..."
}

Every response also carries an X-Request-Id header matching request_id in the body, please include it when reporting an issue.

401 Unauthorized

The X-API-KEY header is missing.

403 Forbidden

The API key is invalid, or the requested user_id isn't reachable by this key (not a member of any group the key is linked to).

422 Unprocessable Entity

Request validation failed: a path or query parameter doesn't match its expected type or format (a malformed user_id, an unrecognized enum value, a badly formatted date, and similar). The body includes an errors array with one entry per invalid field.

429 Too Many Requests

Rate limit exceeded. See Rate limit headers for the response headers and how to back off.