Error
A valid request URL is required to generate request examples{
"projects": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"is_active": true,
"expires_at": "2023-11-07T05:31:56Z",
"access_rule": "intersect",
"membership_mode": "explicit",
"accounting_mode": "both",
"split_policy": "none",
"calendar_aligned": false,
"budgets": [
{
"max_limit": 1,
"reset_duration": "1M",
"id": "<string>",
"reset_config": {
"quarter_start_month": 6
},
"current_usage": 123,
"last_reset": "2023-11-07T05:31:56Z",
"override_amount": 123,
"override_mode": "<string>",
"override_cycles_remaining": 123,
"override_cycles_total": 123,
"override_anchor_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"rate_limit": {
"id": "<string>",
"token_max_limit": 1,
"token_reset_duration": "1h",
"request_max_limit": 1,
"request_reset_duration": "1h",
"token_current_usage": 123,
"token_last_reset": "2023-11-07T05:31:56Z",
"request_current_usage": 123,
"request_last_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"provider_configs": [
{
"provider_name": "openai",
"id": 123,
"all_models_allowed": false,
"allowed_models": [
"<string>"
],
"blacklisted_models": [
"<string>"
],
"key_ids": [
"<string>"
],
"weight": 123,
"budgets": [
{
"max_limit": 1,
"reset_duration": "1M",
"id": "<string>",
"reset_config": {
"quarter_start_month": 6
},
"current_usage": 123,
"last_reset": "2023-11-07T05:31:56Z",
"override_amount": 123,
"override_mode": "<string>",
"override_cycles_remaining": 123,
"override_cycles_total": 123,
"override_anchor_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"rate_limit": {
"id": "<string>",
"token_max_limit": 1,
"token_reset_duration": "1h",
"request_max_limit": 1,
"request_reset_duration": "1h",
"token_current_usage": 123,
"token_last_reset": "2023-11-07T05:31:56Z",
"request_current_usage": 123,
"request_last_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"model_budgets": [
{
"model_name": "<string>",
"budgets": [
{
"max_limit": 1,
"reset_duration": "1M",
"id": "<string>",
"reset_config": {
"quarter_start_month": 6
},
"current_usage": 123,
"last_reset": "2023-11-07T05:31:56Z",
"override_amount": 123,
"override_mode": "<string>",
"override_cycles_remaining": 123,
"override_cycles_total": 123,
"override_anchor_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"rate_limit": {
"id": "<string>",
"token_max_limit": 1,
"token_reset_duration": "1h",
"request_max_limit": 1,
"request_reset_duration": "1h",
"token_current_usage": 123,
"token_last_reset": "2023-11-07T05:31:56Z",
"request_current_usage": 123,
"request_last_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}
]
}
],
"mcp_configs": [
{
"id": 123,
"mcp_client_id": 123,
"mcp_client_name": "<string>",
"mcp_client": {
"config": {
"client_id": "<string>",
"name": "<string>",
"is_code_mode_client": true,
"connection_type": "http",
"connection_string": "<string>",
"stdio_config": {
"command": "<string>",
"args": [
"<string>"
],
"envs": [
"<string>"
]
},
"tls_config": {
"insecure_skip_verify": true,
"ca_cert_pem": "<string>"
},
"auth_type": "none",
"oauth_config_id": "<string>",
"headers": {},
"tools_to_execute": [
"<string>"
],
"tools_to_auto_execute": [
"<string>"
],
"tool_pricing": {},
"allow_on_all_virtual_keys": false,
"per_user_header_keys": [
"<string>"
],
"token_exchange": {
"audience": "<string>",
"use_idp_credentials": true,
"client_id": "<string>",
"client_secret": "<string>",
"scopes": [
"<string>"
],
"authorization_server_url": "<string>"
},
"disabled": false
},
"tools": [
{
"name": "<string>",
"description": "<string>",
"parameters": {},
"strict": true
}
],
"state": "healthy",
"last_failure": {
"stage": "connect",
"message": "<string>",
"at": "2023-11-07T05:31:56Z",
"since": "2023-11-07T05:31:56Z"
},
"node_states": {},
"vk_configs": [
{
"virtual_key_id": "<string>",
"virtual_key_name": "<string>",
"tools_to_execute": [
"<string>"
]
}
]
},
"tools_to_execute": [
"<string>"
]
}
],
"virtual_mcps": [
{
"virtual_mcp_id": 2
}
],
"members": [
{
"user_id": "<string>",
"id": "<string>",
"budget_shares": [
{
"source_budget_id": "<string>",
"id": "<string>",
"project_id": "<string>",
"user_id": "<string>",
"budget_id": "<string>",
"share_value": 123,
"share_type": "percent",
"budget": {
"max_limit": 1,
"reset_duration": "1M",
"id": "<string>",
"reset_config": {
"quarter_start_month": 6
},
"current_usage": 123,
"last_reset": "2023-11-07T05:31:56Z",
"override_amount": 123,
"override_mode": "<string>",
"override_cycles_remaining": 123,
"override_cycles_total": 123,
"override_anchor_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"rate_limit_shares": [
{
"source_rate_limit_id": "<string>",
"id": "<string>",
"project_id": "<string>",
"user_id": "<string>",
"rate_limit_id": "<string>",
"token_share": 123,
"token_share_type": "percent",
"request_share": 123,
"request_share_type": "percent",
"rate_limit": {
"id": "<string>",
"token_max_limit": 1,
"token_reset_duration": "1h",
"request_max_limit": 1,
"request_reset_duration": "1h",
"token_current_usage": 123,
"token_last_reset": "2023-11-07T05:31:56Z",
"request_current_usage": 123,
"request_last_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"user_name": "<string>",
"user_email": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"created_by_user_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"pagination": {
"total": 123,
"limit": 123,
"offset": 123
}
}{
"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>"
}
}{
"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>"
}
}Projects
List projects
Returns projects visible to the caller: those they created, those with no
recorded creator, and those they belong to. Each project’s roster is
narrowed the same way, so members is a subset of the true roster and
pagination.total counts only what the caller may see.
GET
/
api
/
governance
/
projects
Error
A valid request URL is required to generate request examples{
"projects": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"is_active": true,
"expires_at": "2023-11-07T05:31:56Z",
"access_rule": "intersect",
"membership_mode": "explicit",
"accounting_mode": "both",
"split_policy": "none",
"calendar_aligned": false,
"budgets": [
{
"max_limit": 1,
"reset_duration": "1M",
"id": "<string>",
"reset_config": {
"quarter_start_month": 6
},
"current_usage": 123,
"last_reset": "2023-11-07T05:31:56Z",
"override_amount": 123,
"override_mode": "<string>",
"override_cycles_remaining": 123,
"override_cycles_total": 123,
"override_anchor_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"rate_limit": {
"id": "<string>",
"token_max_limit": 1,
"token_reset_duration": "1h",
"request_max_limit": 1,
"request_reset_duration": "1h",
"token_current_usage": 123,
"token_last_reset": "2023-11-07T05:31:56Z",
"request_current_usage": 123,
"request_last_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"provider_configs": [
{
"provider_name": "openai",
"id": 123,
"all_models_allowed": false,
"allowed_models": [
"<string>"
],
"blacklisted_models": [
"<string>"
],
"key_ids": [
"<string>"
],
"weight": 123,
"budgets": [
{
"max_limit": 1,
"reset_duration": "1M",
"id": "<string>",
"reset_config": {
"quarter_start_month": 6
},
"current_usage": 123,
"last_reset": "2023-11-07T05:31:56Z",
"override_amount": 123,
"override_mode": "<string>",
"override_cycles_remaining": 123,
"override_cycles_total": 123,
"override_anchor_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"rate_limit": {
"id": "<string>",
"token_max_limit": 1,
"token_reset_duration": "1h",
"request_max_limit": 1,
"request_reset_duration": "1h",
"token_current_usage": 123,
"token_last_reset": "2023-11-07T05:31:56Z",
"request_current_usage": 123,
"request_last_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"model_budgets": [
{
"model_name": "<string>",
"budgets": [
{
"max_limit": 1,
"reset_duration": "1M",
"id": "<string>",
"reset_config": {
"quarter_start_month": 6
},
"current_usage": 123,
"last_reset": "2023-11-07T05:31:56Z",
"override_amount": 123,
"override_mode": "<string>",
"override_cycles_remaining": 123,
"override_cycles_total": 123,
"override_anchor_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"rate_limit": {
"id": "<string>",
"token_max_limit": 1,
"token_reset_duration": "1h",
"request_max_limit": 1,
"request_reset_duration": "1h",
"token_current_usage": 123,
"token_last_reset": "2023-11-07T05:31:56Z",
"request_current_usage": 123,
"request_last_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}
]
}
],
"mcp_configs": [
{
"id": 123,
"mcp_client_id": 123,
"mcp_client_name": "<string>",
"mcp_client": {
"config": {
"client_id": "<string>",
"name": "<string>",
"is_code_mode_client": true,
"connection_type": "http",
"connection_string": "<string>",
"stdio_config": {
"command": "<string>",
"args": [
"<string>"
],
"envs": [
"<string>"
]
},
"tls_config": {
"insecure_skip_verify": true,
"ca_cert_pem": "<string>"
},
"auth_type": "none",
"oauth_config_id": "<string>",
"headers": {},
"tools_to_execute": [
"<string>"
],
"tools_to_auto_execute": [
"<string>"
],
"tool_pricing": {},
"allow_on_all_virtual_keys": false,
"per_user_header_keys": [
"<string>"
],
"token_exchange": {
"audience": "<string>",
"use_idp_credentials": true,
"client_id": "<string>",
"client_secret": "<string>",
"scopes": [
"<string>"
],
"authorization_server_url": "<string>"
},
"disabled": false
},
"tools": [
{
"name": "<string>",
"description": "<string>",
"parameters": {},
"strict": true
}
],
"state": "healthy",
"last_failure": {
"stage": "connect",
"message": "<string>",
"at": "2023-11-07T05:31:56Z",
"since": "2023-11-07T05:31:56Z"
},
"node_states": {},
"vk_configs": [
{
"virtual_key_id": "<string>",
"virtual_key_name": "<string>",
"tools_to_execute": [
"<string>"
]
}
]
},
"tools_to_execute": [
"<string>"
]
}
],
"virtual_mcps": [
{
"virtual_mcp_id": 2
}
],
"members": [
{
"user_id": "<string>",
"id": "<string>",
"budget_shares": [
{
"source_budget_id": "<string>",
"id": "<string>",
"project_id": "<string>",
"user_id": "<string>",
"budget_id": "<string>",
"share_value": 123,
"share_type": "percent",
"budget": {
"max_limit": 1,
"reset_duration": "1M",
"id": "<string>",
"reset_config": {
"quarter_start_month": 6
},
"current_usage": 123,
"last_reset": "2023-11-07T05:31:56Z",
"override_amount": 123,
"override_mode": "<string>",
"override_cycles_remaining": 123,
"override_cycles_total": 123,
"override_anchor_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"rate_limit_shares": [
{
"source_rate_limit_id": "<string>",
"id": "<string>",
"project_id": "<string>",
"user_id": "<string>",
"rate_limit_id": "<string>",
"token_share": 123,
"token_share_type": "percent",
"request_share": 123,
"request_share_type": "percent",
"rate_limit": {
"id": "<string>",
"token_max_limit": 1,
"token_reset_duration": "1h",
"request_max_limit": 1,
"request_reset_duration": "1h",
"token_current_usage": 123,
"token_last_reset": "2023-11-07T05:31:56Z",
"request_current_usage": 123,
"request_last_reset": "2023-11-07T05:31:56Z",
"config_hash": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"user_name": "<string>",
"user_email": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"created_by_user_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"pagination": {
"total": 123,
"limit": 123,
"offset": 123
}
}{
"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>"
}
}{
"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>"
}
}This endpoint is available in Bifrost Enterprise only.
Authorizations
Management API authentication for /api/* endpoints. Use the Authorization header with Bearer <API key>.
Virtual keys, dashboard/user/session tokens, and x-api-key headers are not supported on management APIs.
Query Parameters
Page size, clamped to 100. Defaults to 20.
One-based page number, consulted only when offset is absent.
Case-insensitive match on name or description.
Return only enabled or only disabled projects.
Was this page helpful?

