Limits

What refuses a call on this account, in the order preflight checks it.

7 days30 days90 days
01

Per request

ceiling · on any preflight

Checked first, with no database read. A call whose estimated_units exceed its ceiling is refused with ceiling_exceeded and reserves nothing.

4 refused · last 30 days
02

Plan quota

builder plan · preflight calls per calendar month

50,000 preflight calls a month, counted and rolled inside the same transaction that reserves, so concurrent calls at the line cannot all pass. Past it the call is refused with plan_limit_exceeded and an upgrade_url.

12,480 of 50,000 this month · 25% 0 refused · last 30 days
03

Per customer

customer_id · one balance each

A customer is created the first time its id is seen, with 5,000 units, the account default. Change it with PUT /budget, which also creates the customer if it is new; a ceiling may be set below what is already used and reserved, and that customer is then refused until the reservations settle. Calls without a customer_id share the customer named default. The reservation is atomic: used, reserved and the estimate must fit under the limit together, or the call is refused with budget_exhausted.

3 customers with a limit · 1 without 7 refused · last 30 days Balances →
04

Per task

task_ref + task_ceiling · one ceiling for one job

Every call and tool that shares a task_ref is checked against one ceiling, fixed by the first preflight of that task; later task_ceiling values are ignored. A task preflight has never seen must carry a ceiling or the call is rejected with task_ceiling_required. Refused with task_ceiling_exceeded. A record that lands past the ceiling after the call ran is kept as a leak, not hidden.

4 tasks under a ceiling now 24 refused · last 30 days 1 leaked · all time Burn-down →

Every ceiling above is set by the calling code, and read here. Nothing on this page edits one. GET /budget?customer_id= returns a customer's balance and creates it if it is new; PUT /budget sets that customer's ceiling. The per-request and per-task ceilings are arguments to the call itself and have no endpoint.

Every number on this page is on the API too: GET /decisions for refusals, /tasks for budgets, /customers for balances, /keys for keys, each with Authorization: Bearer <your key>.