API key IDs to include.













Beta Admin Billing Endpoints
(beta) Admin API - manage spend limits, rate limits and roles. Requires an admin API key.












Examples
Real world code examples
Detailed Usage Query
POST /v1/admin/usage/query#
Query the organization's detailed usage for a required time range.
Optional filters, caller-selected grouping and time buckets, pagination, aggregates, and distinct API-call counts
are supported. The response contains usage quantities only; it does not include prices, currency, or calculated
costs. For a fixed monthly report with pricing, use GET /v1/admin/usage.
AdminApiKey#
api_key_id#
api_zone#
Inference regions to include.
billing_display_name#
Customer-facing billing metric names to include.
billing_group#
Billing metric components to include.
billing_metric#
Billing metric identifiers to include.
filters#
Additional inclusion or exclusion filters applied alongside the dimension fields.
group_by#
Dimensions used to group the returned usage rows.
include_aggregates#
Default Value: false
Return aggregates computed over the complete filtered result set.
include_nb_api_calls#
Default Value: false
Include the number of distinct API calls in grouped rows and aggregates.
organization_id#
Organization IDs to include within the authenticated customer.
service_account_id#
Service account IDs to include.
service_tier#
Service tiers to include.
time_bucket#
Time interval used to bucket grouped rows.
untracked#
Filter by attribution status. Omit or use null to include both tracked and untracked usage.
usage_type#
Usage event types to include.
user_id#
User IDs to include.
workspace_ids#
Workspace IDs to include. Use null to include usage without a workspace.
200
Successful Response
aggregates#
Aggregates over the complete filtered result set when requested.
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/admin/usage/query \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"end": "2026-09-01T00:00:00Z",
"start": "2026-08-01T00:00:00Z"
}'curl https://api.mistral.ai/v1/admin/usage/query \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"end": "2026-09-01T00:00:00Z",
"start": "2026-08-01T00:00:00Z"
}'200
{
"groups": [
{}
],
"metadata": {
"has_more": "false",
"query_params": {
"end": "2026-09-01T00:00:00Z",
"start": "2026-08-01T00:00:00Z"
}
}
}{
"groups": [
{}
],
"metadata": {
"has_more": "false",
"query_params": {
"end": "2026-09-01T00:00:00Z",
"start": "2026-08-01T00:00:00Z"
}
}
}Get Rate Limits
GET /v1/admin/rate-limit#
Get Rate Limits
AdminApiKey#
200
OK
Maximum API requests allowed per second.
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/admin/rate-limit \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/admin/rate-limit \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"requests_per_second": 87,
"tokens_limits_by_model": [
{
"tokens_per_minute": 14,
"tokens_per_month": 56
}
]
}{
"requests_per_second": 87,
"tokens_limits_by_model": [
{
"tokens_per_minute": 14,
"tokens_per_month": 56
}
]
}Get Spend Limits
GET /v1/admin/spend-limit#
Get usage, rate, and job limits for the Organization.
AdminApiKey#
200
OK
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/admin/spend-limit \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/admin/spend-limit \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"limits": {
"completion": {
"monthly_limit_reached": false
},
"currency": "USD",
"last_payment_failure": false,
"last_payment_failure_protection": null
}
}{
"limits": {
"completion": {
"monthly_limit_reached": false
},
"currency": "USD",
"last_payment_failure": false,
"last_payment_failure_protection": null
}
}Playground
Test the endpoints live
curl https://api.mistral.ai/v1/admin/spend-limit \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"amount": 87
}'curl https://api.mistral.ai/v1/admin/spend-limit \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"amount": 87
}'200
{
"limits": {
"completion": {
"monthly_limit_reached": false
},
"currency": "USD",
"last_payment_failure": false,
"last_payment_failure_protection": null
}
}{
"limits": {
"completion": {
"monthly_limit_reached": false
},
"currency": "USD",
"last_payment_failure": false,
"last_payment_failure_protection": null
}
}Monthly Usage and Pricing
GET /v1/admin/usage#
Return the organization's usage for a calendar month in a fixed, product-oriented format.
The response includes the applicable price catalog and currency. For custom time ranges, filters, grouping, and
pagination, use POST /v1/admin/usage/query.
AdminApiKey#
200
OK
Currency used for usage prices.
Currency symbol used for usage prices.
Next month in the usage report.
Previous month in the usage report.
Legacy Vibe usage field. Always 0; use the Vibe usage API instead.
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/admin/usage \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/admin/usage \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"audio": {
"models": [
[
[
[
null
]
]
]
]
},
"audio_agents": {
"models": [
[
[
[
null
]
]
]
]
},
"audio_characters": {
"models": [
[
[
[
null
]
]
]
]
},
"chat": {
"models": [
[
[
[
null
]
]
]
]
},
"completion": {
"models": [
[
[
[
null
]
]
]
]
},
"connectors": {
"models": [
[
[
[
null
]
]
]
]
},
"currency": null,
"currency_symbol": null,
"date": "2025-12-17T10:25:07.818693Z",
"end_date": "2025-12-17T10:25:07.818693Z",
"fine_tuning": {
"storage": [
87
],
"training": [
[
[
[
null
]
]
]
]
},
"libraries_api": {
"audio_seconds": {
"models": [
[
[
[
null
]
]
]
]
},
"pages": {
"models": [
[
[
[
null
]
]
]
]
},
"tokens": {
"models": [
[
[
[
null
]
]
]
]
}
},
"next_month": null,
"ocr": {
"models": [
[
[
[
null
]
]
]
]
},
"previous_month": null,
"prices": null,
"start_date": "2025-12-17T10:25:07.818693Z",
"vibe_code": {
"audio": {
"models": [
[
[
[
null
]
]
]
]
},
"audio_characters": {
"models": [
[
[
[
null
]
]
]
]
},
"completion": {
"models": [
[
[
[
null
]
]
]
]
},
"connectors": {
"models": [
[
[
[
null
]
]
]
]
},
"ocr": {
"models": [
[
[
[
null
]
]
]
]
}
},
"vibe_usage": 14
}{
"audio": {
"models": [
[
[
[
null
]
]
]
]
},
"audio_agents": {
"models": [
[
[
[
null
]
]
]
]
},
"audio_characters": {
"models": [
[
[
[
null
]
]
]
]
},
"chat": {
"models": [
[
[
[
null
]
]
]
]
},
"completion": {
"models": [
[
[
[
null
]
]
]
]
},
"connectors": {
"models": [
[
[
[
null
]
]
]
]
},
"currency": null,
"currency_symbol": null,
"date": "2025-12-17T10:25:07.818693Z",
"end_date": "2025-12-17T10:25:07.818693Z",
"fine_tuning": {
"storage": [
87
],
"training": [
[
[
[
null
]
]
]
]
},
"libraries_api": {
"audio_seconds": {
"models": [
[
[
[
null
]
]
]
]
},
"pages": {
"models": [
[
[
[
null
]
]
]
]
},
"tokens": {
"models": [
[
[
[
null
]
]
]
]
}
},
"next_month": null,
"ocr": {
"models": [
[
[
[
null
]
]
]
]
},
"previous_month": null,
"prices": null,
"start_date": "2025-12-17T10:25:07.818693Z",
"vibe_code": {
"audio": {
"models": [
[
[
[
null
]
]
]
]
},
"audio_characters": {
"models": [
[
[
[
null
]
]
]
]
},
"completion": {
"models": [
[
[
[
null
]
]
]
]
},
"connectors": {
"models": [
[
[
[
null
]
]
]
]
},
"ocr": {
"models": [
[
[
[
null
]
]
]
]
}
},
"vibe_usage": 14
}