Get the Calling Key
/v1/keyOverview
OpenRouter-compatible key details for the key that authenticates the call. usage is settled spend plus amounts held for requests in progress, across products. A null rate_limit.requests means no per-key limit is set. Needs no extra scope. Also available under /api/v1.
Responses
200Key details.
dataobjectRequiredShow nested fields
labelstringRequirednamestringRequiredlimitnumber | nullRequiredThe key's tightest own limit in USD, its lifetime spend_limit or a budget; null when it has none.
usagenumberRequiredUSD spent, including holds for requests in progress.
usage_dailynumberUSD spent in the current UTC day.
usage_weeklynumberUSD spent in the current UTC week, from Monday.
usage_monthlynumberUSD spent in the current UTC month.
limit_remainingnumber | nullRequiredWhat is left under limit.
limit_resetstring | nullThe period of limit; null for a lifetime limit or none.
Values: "daily""weekly""monthly"null
budgetsobject[]Every limit that applies to the key, its own and its workspace's.
Show nested fields
scopestringRequiredValues: "key""workspace"
periodstringRequiredlifetime is the key's spend_limit.
Values: "daily""weekly""monthly""lifetime"
limitnumberRequiredusagenumberRequiredremainingnumberRequiredresets_atstring | nullRequirednull for a lifetime limit.
effective_budgetobject | nullThe limit with the least left, which stops the key first; null when nothing applies.
Show nested fields
Option 1: object
scopestringRequiredValues: "key""workspace"
periodstringRequiredlifetime is the key's spend_limit.
Values: "daily""weekly""monthly""lifetime"
limitnumberRequiredusagenumberRequiredremainingnumberRequiredresets_atstring | nullRequirednull for a lifetime limit.
Option 2: null
null
include_byok_in_limitbooleanis_free_tierbooleanis_provisioning_keybooleancredits_remainingnumberRequiredThe workspace's credit balance in USD.
rate_limitobjectRequiredShow nested fields
requestsinteger | nullRequiredintervalstringRequiredscopesstring[]RequiredShow nested fields
string
expires_atstring | null401Authentication is missing or invalid.
errorobjectRequiredShow nested fields
codestringRequiredmessagestringRequiredparamstring | nullrequest_idstring | nullmetadataobjectTyped detail for some refusals. budget_exceeded (402): limit (key_budget or workspace_budget) and budget with scope, period, limit, usage and resets_at. key_limit_exceeded (402): limit key_spend_limit. access_denied (403): policy (workspace or key), rule (models, providers or products), product, provider and model.
403Authenticated principal lacks permission.
errorobjectRequiredShow nested fields
codestringRequiredmessagestringRequiredparamstring | nullrequest_idstring | nullmetadataobjectTyped detail for some refusals. budget_exceeded (402): limit (key_budget or workspace_budget) and budget with scope, period, limit, usage and resets_at. key_limit_exceeded (402): limit key_spend_limit. access_denied (403): policy (workspace or key), rule (models, providers or products), product, provider and model.
500Internal server error.
errorobjectRequiredShow nested fields
codestringRequiredmessagestringRequiredparamstring | nullrequest_idstring | nullmetadataobjectTyped detail for some refusals. budget_exceeded (402): limit (key_budget or workspace_budget) and budget with scope, period, limit, usage and resets_at. key_limit_exceeded (402): limit key_spend_limit. access_denied (403): policy (workspace or key), rule (models, providers or products), product, provider and model.