Idempotency
SendIdempotency-Key: <your unique string> on any POST. The response is stored per API key for 24 hours:
- The same key with the same request replays the stored response, with
idempotent-replayed: true. - The same key with a different request is
409 idempotency_conflict. - A retry that arrives while the first request is still running is
409 idempotency_in_progress; retry it shortly and it replays the finished response.
Rate limits
Limits count per key and per project in one-minute windows, and hold across all of our servers. Every response carries:x-ratelimit-reset is the unix time the window ends. Over the limit is 429 rate_limit_error with retry-after. Defaults by plan are on the overview; a project can have its own limit.
Concurrent calls
Live calls per project are capped by plan (1 / 5 / 25), with a deployment-wide cap on top. A call over the cap is refused with429 rate_limit_error before it starts, and a slot is freed as soon as a call ends.