DocsGuide
Usage and units
How a call is counted, what each category costs, the monthly allowance, and what happens when it runs out.
Units
Every operation in the Reference belongs to a category, and a category costs a fixed number of units per call. An account's usage is one number, units, the same across products, so an expensive call and a cheap one are counted on one scale.
| Category | Units per call | For |
|---|---|---|
read | 1 | answers from what is stored |
compute | 4 | answers that run something small |
write | 20 | anything that changes state |
run | 40 | a program in the sandbox |
generate | 400 | a model generation |
GET /v1/accounts/units/categories answers the same list (scope usage:read, or signed in). A price
change applies to calls made after it; what was already counted keeps the price it was
counted at, and the changelog says when a price moves.
What is counted
Every answered call made for your account: with any of its API keys, and by you or your team on the inorbit.hr sites. A stream counts once, when it opens; a call over the WebSocket or MCP counts like the same call over REST.
Not counted:
- a call the gateway refused (no token, a missing scope, an unknown route,
rate_limited,quota_exceeded); - a call that failed on our side (
internal,unavailable,timeout,unimplemented); GET /v1/meand the OpenAPI documents.
The monthly allowance
An account's plan gives it an allowance of units per calendar month, UTC. Every account
starts on free: 100 000 units a month. The allowance renews at 00:00 UTC on the 1st.
When the allowance runs out on a plan that blocks, which free does, calls with the
account's API keys are refused with 429 quota_exceeded until it renews or the
allowance is raised. Your own use of the sites goes on; their per-product daily limits
still apply. A plan with overage keeps serving and records the excess.
{
"code": "quota_exceeded",
"error": "this key's account has used its units for the month; they renew on the 1st (UTC), or sooner when its allowance is raised",
"details": []
}Do not retry quota_exceeded in a loop: nothing changes until the month turns or the
allowance does. Counting happens a few seconds after each call, so an account can run a
few calls past zero before its keys are refused.
Seeing it
The console's Usage page shows the month: units
used, the allowance, what remains, a bar per day, and every operation by key with its
category. With a key, GET /v1/accounts/orgs/{org_id}/units answers the same (scope
usage:read); GET /v1/accounts/orgs/{org_id}/usage keeps answering what each product
reported by day, units among them.