Capacity
Introduction
A Capacity budget is the shared concurrency limit for one registrable domain. Sources keep their own origins and credentials. The source Settings callout is how you create a shared origin capacity when another API source already calls the same domain.
Use Capacity when interactive, batch, and partner sources must not over-admit the same upstream together. Per-source concurrency limits alone can drift. A budget keeps one shared concurrency limit and the reservations in one place.
Capacity, including Auto balancing, is available on every paid plan. The Free plan does not include Capacity budgets.
Create a budget
- Open Capacity in the dashboard, or follow the Settings callout on a source that shares a domain with another API source.
- Create a budget. The origin domain is required. Set the shared concurrency limit to the number the reserved shares must add up to. Fixed keeps each share as that source's own limit. Auto can lend unreserved float.
- Matching API sources can be attached at create time. Each selected source gets a reserved share of the shared concurrency limit. The sum of reserved shares cannot exceed that limit. Unchecked sources stay out of the budget.
Create the source first (with its origins and credentials), then attach it. There is no create-from-budget or Adopt flow. The Settings callout never auto-attaches a source.
Fixed vs Auto
Each budget has a balancing strategy:
| Strategy | Behavior |
|---|---|
| Fixed | Each source keeps the concurrency you allocate. No borrowing between sources. Default for new and existing budgets. |
| Auto | Each source keeps a pinned reserve. Unreserved float moves toward load under the shared concurrency limit. |
See Balancing for floors, float, borrow, and tunables.
Live view
The budget show page lists shared concurrency limit, sum reserved, float free, and sum active. Under Auto, the member table also shows borrowed and lending slots so you can see float follow load without leaving the dashboard. Lending normally stays at zero. It can show a short nonzero value while older temporary loans finish draining.
Relationship to source Concurrency
While a source is attached to a budget:
- Origins and credentials stay on the source (Settings).
- A domain-scoped budget only accepts sources whose origins are under that domain. Changing a member source off that domain fails until you detach it.
- Editing Max concurrency on the source Concurrency tab updates that source's reserved share on the budget (and the reverse).
- Under Auto, Concurrency shows the floor, optional climb max, and borrowed slots. Adaptive concurrency (if enabled) remains an inner cap under the source's entitlement. It never raises a source above what the budget allows.
Detach leaves source origins unchanged. Concurrency stays at the last allocation.
Limitations
- Fixed sets each source's concurrency allocation in the dashboard. Auto enforces the shared concurrency limit across members.
- Auto does not replace per-source concurrency settings (queue, RPM, adaptive). Those still apply inside each source.
- When reserved pins fill the shared concurrency limit, Auto has no float to lend. Raise the shared limit or lower reservations to create float.
- Capacity sets a shared in-flight concurrency limit across member sources. It does not route or transform requests. A team may have one domain-scoped budget per origin domain. Legacy budgets with no origin domain still attach any source.