AVI·GOAPI Reference
Production
v1

Core concepts

Rate limits

Each key has a per-second rate and a daily quota. The daily quota resets at 00:00 UTC. Both apply before permission checks, so throttling protects the platform regardless of scope.

When you exceed a limit you receive 429 Too Many Requests with a Retry-After header (seconds to wait, minimum 1). For per-second limits this is the time to the next window; for the daily quota it is the time to the next UTC midnight.

Response headers

HeaderWhenDescription
Retry-AfterOn 429Seconds to wait before retrying.
X-RateLimit-LimitOn successYour per-second ceiling.
X-RateLimit-RemainingOn successPer-second calls left in the current window.

The X-RateLimit-* headers appear on successful responses only; a 429 carries just Retry-After. There is no remaining header for the daily quota. Retry on 429 with exponential backoff; honor Retry-After as the floor.

Throttled429 · limit
# HTTP/1.1 429 Too Many Requests
# Retry-After: 1

{
  "code": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests",
  "traceId": "b1d2…"
}