curl --request GET \
--url https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/quotas/usage \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/quotas/usage', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/quotas/usage"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"orgSlug": "acme-corp",
"computed_at": "2026-01-15T10:00:00.000Z",
"usage_refreshed_at": "2026-01-15T09:00:00.000Z",
"policy": "hard_block",
"enforced": [
{
"key": "llm.monthly_tokens",
"scope": "org",
"window": "month",
"limit": 10000000,
"used": 6400000,
"percent": 64,
"source": "plan"
}
],
"per_user_defaults": {
"rpm": 20,
"tpm": 20000
}
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}Get the organization's quota usage
Organization-level quota status: the enforced LLM limits of the plan
(llm.rpm, llm.tpm, llm.monthly_tokens, llm.monthly_cost) with
current usage, the quota policy, the plan’s contractual included
limits, the per-user defaults and the org’s per-user quota settings.
Only what the gateway enforces carries usage; the included counters
(members, agents, interactions, storage) are returned as configured in
the plan, without usage.
Requires the models:read permission. Rate limiting. 60 requests
per 60 seconds per consumer.
curl --request GET \
--url https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/quotas/usage \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/quotas/usage', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/quotas/usage"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"orgSlug": "acme-corp",
"computed_at": "2026-01-15T10:00:00.000Z",
"usage_refreshed_at": "2026-01-15T09:00:00.000Z",
"policy": "hard_block",
"enforced": [
{
"key": "llm.monthly_tokens",
"scope": "org",
"window": "month",
"limit": 10000000,
"used": 6400000,
"percent": 64,
"source": "plan"
}
],
"per_user_defaults": {
"rpm": 20,
"tpm": 20000
}
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}Authorizations
User-bound credential carrying an identity: either a session JWT
or a user access token (at:*) generated from the user settings UI.
Send as Authorization: Bearer <token>.
Org API keys (iak_*) are not accepted here - they carry
no user identity. Use the x-prismeai-api-key header instead
(see OrgApiKeyAuth).
Response
Organization quota status.
Organization quota policy (hard_block by default, or soft_downgrade).
Plan limits enforced by the gateway (scope org, source plan).
Hide child attributes
Hide child attributes
llm.rpm, llm.tpm, llm.monthly_tokens, llm.monthly_cost user, org minute, month Configured limit (requests, tokens or cost depending on key).
Current usage in the window (0 until a first request is recorded).
used / limit as a rounded percentage.
Time of the last recorded request (rate gauges only).
plan Last refresh of the monthly usage aggregate (null when none this month).
Contractual limits included in the plan, as configured (no usage).
Plan default per-user limits (rpm, tpm).
Organization per-user quota settings (overrides by user, by_role).
Was this page helpful?