A valid request URL is required to generate request examples{
"buckets": [
{
"timestamp": "2023-11-07T05:31:56Z",
"by_provider": {}
}
],
"bucket_size_seconds": 123,
"providers": [
"<string>"
]
}{
"event_id": "<string>",
"type": "<string>",
"is_bifrost_error": true,
"status_code": 123,
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"event_id": "<string>"
},
"extra_fields": {
"provider": "anthropic",
"model_requested": "<string>",
"request_type": "<string>",
"error_type": "<string>"
}
}{
"event_id": "<string>",
"type": "<string>",
"is_bifrost_error": true,
"status_code": 123,
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"event_id": "<string>"
},
"extra_fields": {
"provider": "anthropic",
"model_requested": "<string>",
"request_type": "<string>",
"error_type": "<string>"
}
}Get throughput histogram by provider
Returns time-bucketed tokens per second with a per-provider breakdown.
A valid request URL is required to generate request examples{
"buckets": [
{
"timestamp": "2023-11-07T05:31:56Z",
"by_provider": {}
}
],
"bucket_size_seconds": 123,
"providers": [
"<string>"
]
}{
"event_id": "<string>",
"type": "<string>",
"is_bifrost_error": true,
"status_code": 123,
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"event_id": "<string>"
},
"extra_fields": {
"provider": "anthropic",
"model_requested": "<string>",
"request_type": "<string>",
"error_type": "<string>"
}
}{
"event_id": "<string>",
"type": "<string>",
"is_bifrost_error": true,
"status_code": 123,
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"event_id": "<string>"
},
"extra_fields": {
"provider": "anthropic",
"model_requested": "<string>",
"request_type": "<string>",
"error_type": "<string>"
}
}| Permission | Granted via |
|---|---|
Dashboard:View | RBAC role or API key scope |
Authorizations
Management API authentication for /api/* endpoints. Use the Authorization header
with Bearer <token>, where <token> is one of:
- a Bifrost management API key,
- a dashboard session token issued by
POST /api/session/login, - base64 of
<admin-username>:<admin-password>(legacy equivalent ofBasicAuth).
Virtual keys (sk-bf-*) and the x-api-key header are not accepted on management APIs -
the sole exception is GET /api/governance/virtual-keys/quota, which is virtual-key-only.
Authentication alone is not sufficient in Bifrost Enterprise: each operation page shows a
Required Permissions table (Resource:Operation, for example Dashboard:View) above
its Authorizations section, and the caller's RBAC role or management API key scopes must
include what it lists, otherwise the request is rejected with 403 Forbidden.
A local admin — authenticated with the admin password, or any caller on a deployment with dashboard auth disabled — bypasses these checks and can call every management endpoint. See Required permissions for how permissions are derived and which endpoints are exempt.
Query Parameters
Comma-separated list of providers to filter by
Comma-separated list of models to filter by
Comma-separated list of statuses to filter by
Comma-separated list of object types to filter by
Comma-separated list of selected key IDs to filter by
Comma-separated list of virtual key IDs to filter by
Comma-separated list of team IDs to filter by
Comma-separated list of customer IDs to filter by
Comma-separated list of user IDs to filter by
Comma-separated list of business unit IDs to filter by
Comma-separated list of project IDs to filter by
Comma-separated list of routing rule IDs to filter by
Comma-separated list of routing engines to filter by
Start time filter (RFC3339 format)
End time filter (RFC3339 format)
Relative time period filter
Minimum latency filter
Maximum latency filter
Minimum tokens filter
Maximum tokens filter
Minimum cost filter
Maximum cost filter
Only show logs with missing cost
Search in request/response content
Exact lookup on a log ID (which is the request ID). Takes precedence over the time range — start_time/end_time/period are ignored when it is set. roots_only is ignored too, so an ID naming a fallback child returns that child rather than collapsing it into its root.
Was this page helpful?

