Skip to main content
The API uses standard HTTP status codes and returns structured error responses to help you handle failures programmatically.

Error response format

Error responses include an error code for programmatic handling, a human-readable message, and a link to the relevant documentation:

Authentication errors

Returned when the API key is missing, invalid, or expired.

Authorization errors

Returned when the authenticated user lacks access to the requested resource.

Rate limiting

Service errors

See Rate Limits for details on limits and retry strategies.

Resource errors

Returned when the requested resource does not exist or has been deleted.
A 410 Gone response indicates the resource was soft-deleted. Unlike 404 Not Found, this confirms the resource previously existed.

Mutation errors

Returned when a create, update, or delete operation fails.

API key management errors

These errors apply to the API Key Management endpoints, which use session authentication.

Best practices

  • Check HTTP status first — use the status code to determine the error category (4xx = client error, 5xx = server error).
  • Use the error field for programmatic handling — match on error codes like API_KEY_EXPIRED or RATE_LIMITED in your code.
  • Use the message field for logging — the message provides human-readable context for debugging.
  • Retry on 429 and 5xx — these are transient and may succeed on retry with backoff.
  • Do not retry on 4xx (except 429) — these indicate a client-side issue that needs to be fixed.

Rate Limits

Rate limit thresholds and retry strategies

Authentication

API key authentication and authorization scopes

Pagination

Page-based pagination for list endpoints

Best Practices

Build reliable integrations that handle errors gracefully