curl --request GET \
--url https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/quotas/me \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/quotas/me', 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/me"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"computed_at": "2026-01-15T10:00:00.000Z",
"policy": "hard_block",
"gauges": [
{
"key": "llm.rpm",
"scope": "user",
"window": "minute",
"limit": 20,
"used": 9,
"percent": 45,
"as_of": "2026-01-15T09:59:40.000Z"
},
{
"key": "llm.monthly_tokens",
"scope": "org",
"window": "month",
"limit": 10000000,
"used": 6400000,
"percent": 64
}
]
}{
"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 caller's effective quotas
Effective LLM quota status for the calling user in their active
organization: the per-user rate limits (llm.rpm, llm.tpm) and the
organization monthly budgets (llm.monthly_tokens, llm.monthly_cost)
with current usage. Only limits that are actually configured are
returned as gauges.
The per-user limit is the most specific one configured: user override, then per-role limit, then the plan’s per-user default.
Usage figures are snapshots: rate gauges are refreshed on each LLM
request (as_of = time of the last request, and a sliding window means
the live value can only be lower), monthly usage is aggregated hourly.
Requires a user session: calls without a user identity (for
example an org API key) get 401 UNAUTHORIZED. When the caller has no
active organization, the response carries an empty gauges list.
Rate limiting. 60 requests per 60 seconds per user.
curl --request GET \
--url https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/quotas/me \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/quotas/me', 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/me"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"computed_at": "2026-01-15T10:00:00.000Z",
"policy": "hard_block",
"gauges": [
{
"key": "llm.rpm",
"scope": "user",
"window": "minute",
"limit": 20,
"used": 9,
"percent": 45,
"as_of": "2026-01-15T09:59:40.000Z"
},
{
"key": "llm.monthly_tokens",
"scope": "org",
"window": "month",
"limit": 10000000,
"used": 6400000,
"percent": 64
}
]
}{
"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
Quota status for the caller.
Organization quota policy (hard_block by default, or soft_downgrade).
"hard_block"
Configured limits only. Per-user gauges have scope user, monthly budgets org.
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).
Organization display settings for the quota gauges (settings.quotas.display), when configured.
Was this page helpful?