Skip to main content

Rate limits

Requests are limited to 100 per minute per API key (sliding window). Every response carries the current state:
HeaderMeaning
X-RateLimit-LimitMax requests in the window
X-RateLimit-RemainingRequests left in the current window
X-RateLimit-ResetWhen the window resets (epoch ms)
Retry-AfterSeconds to wait (only on 429)
When exceeded you get 429:
{ "error": "Rate limit exceeded" }

Error shape

Every error response is JSON with an error string (and, on unknown-type 404s, a suggestions array):
{ "error": "Unknown custom object type: order", "suggestions": ["orders"] }

Status codes

StatusWhen
200Success
400Wrong Content-Type, malformed JSON, or schema validation failure
401Missing or invalid API key
404Unknown custom object type, or a relationship endpoint that doesn’t exist
429Rate limit exceeded
500Unexpected server error (internals are never leaked)
Server errors return a generic message by design — they never echo stack traces or payload contents.