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.

CategoryUnits per callFor
read1answers from what is stored
compute4answers that run something small
write20anything that changes state
run40a program in the sandbox
generate400a 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/me and 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.