Request limits#
A room works on one request at a time; further requests queue, and the meter says so. Limits apply per key and per room, and the live /api/v1/limits route returns the current envelope: requests_per_minute, rungs_per_minute and the period's spend limit.
Public bearer access draws on prepaid credit, with automatic recharge and spend limits you set, or on the Developer plan's £5 of credit a month. Spend tiers start at £100 a month and rise with payment history and account age; the number of rooms an account may create rises with its tier.
Limits response#
{
"tier": "developer",
"requests_per_minute": 300,
"rungs_per_minute": 5000000,
"monthly_allowance": 10000000,
"monthly_used": 128400
}Usage in the period#
Current-period usage is returned by /api/v1/usage, historical periods by /api/v1/usage/history, and the live envelope by /api/v1/limits. Usage is counted in rungs at the level each request ran at, and priced at that level: output per 1M rungs, input at 30% of it.
The usage response includes allowance and remaining, the room's spend limit for the period in rungs, and estimated_cost_pence.
For the exact JSON contract of those endpoints, use Usage API.
{
"period_start": "2026-04-01T00:00:00+00:00",
"period_end": "2026-05-01T00:00:00+00:00",
"input_rungs": 48100,
"output_rungs": 80300,
"total_rungs": 128400,
"request_count": 93,
"allowance": 10000000,
"remaining": 9871600,
"estimated_cost_pence": 0
}Rate limit headers#
Successful non-stream responses emit live rate headers plus rung-usage headers. Rate-limit failures also emit the same envelope with remaining set to zero.
| Header | Description |
|---|---|
x-ratelimit-limit | Requests-per-minute ceiling |
x-ratelimit-remaining | Remaining requests in the current minute |
x-evaesi-input-rungs | Input rungs billed for the request |
x-evaesi-output-rungs | Output rungs billed for the request, at the level that ran |
x-evaesi-total-rungs | Total rungs billed for the request |
retry-after | Returned on 429 responses; currently 60 seconds |
Example headers#
x-ratelimit-limit: 60
x-ratelimit-remaining: 42
x-evaesi-input-rungs: 29
x-evaesi-output-rungs: 118
x-evaesi-total-rungs: 147Limit handling#
At a limit you receive a 429 RATE_LIMITED response with retry-after and x-ratelimit-remaining: 0. If a request would pass the room's spend limit or your credit, the platform returns 402 BUDGET_EXCEEDED before inference is dispatched. See Error Codes for retry guidance.
