When to use
- Boot a custom dashboard / status bar that mirrors the console
- Verify which models the current key can call without enumerating
/v1/modelsfirst - Surface balance + low-balance flag in IDE extensions / agents
Request
x-api-key: $BYTESPIKE_API_KEY also works. No body.
Response
Response fields
| Field | Type | Notes |
|---|---|---|
user.tier | string | individual (personal wallet) or enterprise (org-billed). |
balance.available_usd | number | Available now after pending holds. |
balance.lifetime_topup_usd | number | All-time top-ups for this user/org. |
balance.lifetime_spent_usd | number | All-time spend across every API call. |
balance.low_balance_threshold_usd | number | The notification threshold the user set in /account/notifications. |
balance.low_balance_flagged | bool | true when available_usd is at or below the threshold. |
allowed_models[] | array | Models this key can route to. |
allowed_models[].quota_cap_usd | number | null | Per-model spend cap; null = uncapped. |
org | object | null | Set only when the caller is a member of an org. role is owner / admin / member. |
Errors
| Status | error.type | Trigger |
|---|---|---|
| 401 | authentication_error | Missing / revoked key. |
| 403 | permission_error | Key was created in a paused org. |
402 path. 429 is theoretically possible but the per-key cap is ~600/min — only realistic during a key-rotation hammer.
Example — low-balance gate
POST /me/webhooks and subscribe to system.balance.notify.dispatched to be paged instead of polling.