Skip to main content
A reference for the numbers Duraton applies when you don’t set one. Where a value is configurable, the option is linked.

Requests & pagination

API rate limits

Duraton does not impose a fixed per-second request rate limit on the API. There is no requests/second quota on POST /events or on the read endpoints, and no 429 Too Many Requests / Retry-After back-off protocol to code against - a well-formed request is admitted regardless of how many preceded it. Two real ceilings apply instead: Suspension is the ceiling that actually gates throughput, and it is not a rate limit - it is a hard stop until usage falls back under the plan or the plan is raised. Its shape differs by endpoint:
  • POST /events on a suspended project still returns 202 Accepted, but starts no new run: the response carries suspended: true with no runId, and any in-flight waitForEvent waiters are still woken. The event is recorded; only the fan-out into new runs is withheld.
  • Other run-creating actions (and cron-triggered runs) on a suspended project are refused with 403 Forbidden.
Because there is no request-rate throttle, protect a busy ingest path with your own client-side batching or concurrency limit; the durable back-pressure you can configure is per-workflow flow control (concurrency, throttle, rate-limit, debounce, batch), which shapes how fast admitted events turn into runs.

Retries & delivery

AI steps

Per-run AI spend ceilings are opt-in and unlimited by default - see cap.

Connection defaults

These are what the SDK uses when a value and its environment variable are both unset: