Usage & subscription
Read your plan, balance and month-to-date usage over the API.
GET /v1/usage
The numbers behind the meter, for the key you present: your plan and its limits, the live subscription window, this month's character count, and your remaining balance with its next expiry. It is the API version of the console's balance view — build your own gauge or alerting from it instead of scraping x-ratelimit-* response headers.
/v1/usageAuth is your normal API key, either header convention (see Authentication). Limits attach to your organization, so every key in the workspace reads the same numbers.
Response fields
| Parameter | Type | Default | Description |
|---|---|---|---|
| mode | string | - | How your balance is accounted: lots (prepaid character lots — the normal state), wallet or allowance (legacy accounting; the fields below degrade gracefully). |
| plan | object | - | Your tier and the limits admission enforces: monthly characters, requests per minute, concurrent streams. -1 means unlimited. |
| subscription | object | null | - | The live window: which plan, when it ends, whether autopay renews it, and falls_back_to — the plan you revert to if it lapses. |
| month.characters_used | int | - | Characters metered this calendar month (UTC), across every key in the workspace. Only successful requests count. |
| month.resets_at | timestamp | - | First instant of next month, UTC — when the monthly counter starts over. |
| balance.characters_remaining | int | - | What you can spend right now. This is the same number admission checks. |
| balance.lots | array | - | Your balance by cohort — plan grants, top-ups (purchase), promos — each with its own expiry. Whatever expires soonest is spent first. |
| balance.next_expiry | object | null | - | The soonest cohort death: when, and how many characters go with it. |
ElevenLabs dialect
If you are using the ElevenLabs SDK against Svara (see SDKs & compatibility), its subscription call works unchanged:
/v1/user/subscriptioncharacter_count and character_limit are cycle-shaped the way that SDK expects: consumed versus granted across your live cohorts, with next_character_count_reset_unix set to the soonest expiry. For the richer per-cohort picture, prefer /v1/usage.