Skip to main content
Every error, from any route, has the same shape:
type is one of the values below, read from the API’s schema at build time. message is for a human. param names the offending field when there is one, and code carries a machine-readable reason when there is one.
  • api_error
  • authentication_error
  • invalid_request_error
  • rate_limit_error
  • idempotency_error
  • not_found

In the SDK

Every 4xx throws ElapseInvalidRequestError or ElapseAuthenticationError or ElapseRateLimitError, every 5xx throws ElapseAPIError, and all of them expose status, type, message, param and code from the envelope.

Idempotency

Send an Idempotency-Key header on any POST and a repeat with the same key and body within 24 hours returns the stored response instead of acting twice. The SDK sets it from { idempotencyKey }.