Rate limits & credits

How throughput and prepaid balance are enforced.
View as Markdown

Rate limits

Each API key has an RPM limit (requests per minute) enforced over a sliding window of two 1-minute buckets. Exceeding it returns 429 with code rate_limit_exceeded — back off and retry.

The limiter is fail-open: if the backing store has trouble, requests are never blocked. You will not be rate-limited due to an infrastructure hiccup on our side.

A separate 429 upstream_rate_limited means the provider throttled us rather than your key hitting its limit. Retry with backoff.

Credits

Kontinent is prepaid. Your organization holds a credit balance in micro-EUR, and each request debits the cost of the tokens it used.

  • Credits are checked optimistically against a hot balance, so a small overdraft (bounded by your RPM) is possible by design.
  • A background worker reconciles spend within about 60 seconds. Once an organization is exhausted, further requests get a hard 402 (insufficient_credits) until a top-up lands.
  • A top-up lifts suspension immediately — you do not wait for the next reconcile cycle.

402 insufficient_credits is safe to retry after topping up. Until then, retrying without adding credit will keep failing.