API reference · Headers

Response headers.

The API keeps its header surface small and stable: which model served you, where your request window stands, and — when you're asked to slow down — exactly how long to wait.

On every response

HeaderExampleMeaning
x1-modellx1-gpt-oss-120bThe model that served this request — always the catalog id you asked for.
x-ratelimit-limit-requests1000Your plan's requests-per-minute limit.
x-ratelimit-remaining-requests997Requests left in the current window.
x-ratelimit-reset-requests42Seconds until the window fully resets.
x1-allowance-limit200.00Your plan's monthly included usage, measured in list-price USD.
x1-allowance-remaining142.3120Included usage left this month (USD). When it reaches zero, requests return 429 allowance_exhausted until reset or upgrade.
x1-allowance-reset1209600sSeconds until the monthly allowance resets.
x1-model: lx1-gpt-oss-120b
x-ratelimit-limit-requests: 1000
x-ratelimit-remaining-requests: 997
x-ratelimit-reset-requests: 42
x1-allowance-limit: 200.00
x1-allowance-remaining: 142.3120
x1-allowance-reset: 1209600s
Example response headers

The x-ratelimit-* trio lets a client pace itself instead of discovering the limit by hitting it — throttle proactively as remaining approaches zero. Per-plan limits are published on Plans & limits.

On 429 responses

HeaderExampleMeaning
retry-after12Seconds to wait before retrying. Present on every 429 — a short pause on a rate limit, the seconds to month-end on an exhausted allowance.
x1-allowanceexhaustedPresent only when the 429 is the monthly allowance (type allowance_exhausted), so clients can tell it apart from a transient rate limit without parsing the body.

Honor it exactly; the value is computed, not a guess. The retry recipe (and which statuses to retry at all) is on Errors.

Note

This is the complete customer-visible header surface. Anything else you may observe is not part of the API contract and can change without notice — build only against the headers on this page.