Errors

Errors return a JSON body with an error string alongside a conventional HTTP status code.

Status codes

StatusMeaningRetry
400A query parameter is malformed (wrong type, out-of-range value, unknown sortBy).Don't retry. Fix the request.
401The x-api-key header is missing or carries an unknown / revoked key.Don't retry. Verify the key in the dashboard.
403The x-api-key header is missing or invalid.Don't retry. Verify the key in the dashboard.
404No resource matches the path parameter (event id, coin slug), or the event is outside your tier date window.Don't retry. Verify the identifier or widen your date filters.
410The event was permanently removed from the catalog within the last 90 days.Don't retry. Remove the event from your local catalog.
429You've exceeded your monthly quota or short-term rate limit.Backoff and retry. Honor Retry-After when present.
500Unexpected server-side failure.Retry once after a few seconds. If it persists, contact support.
503Temporary outage or scheduled maintenance.Retry with exponential backoff (e.g. 1s, 2s, 4s, capped at 30s).

Response shape

{
  "error": "Invalid limit"
}

Retry strategy

  • 4xx are not transient. Don't retry. Fix the request or the credential.
  • 429 needs backoff. Honor Retry-After when present, and reduce repeated requests with caching.
  • 5xx with exponential backoff. 1s → 2s → 4s → 8s, capped at 30s. Give up after 5 attempts and surface the failure.