Skip to main content
PUT
Error
This path is deprecated and will be removed in the following major release. Use /api/governance/access-profiles/{profile_id} instead.
This endpoint is available in Bifrost Enterprise only.

Authorizations

Authorization
string
header
required

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 of BasicAuth).

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.

Path Parameters

profile_id
integer
required

Body

application/json

Partial update. Omitted fields preserve the current value. rate_limit: null explicitly clears the existing rate limit; omitting the field preserves it. Update enforces size limits not enforced on create: max 100 provider_configs, max 100 budgets, max 50 tags.

name
string
Maximum string length: 255
description
string | null
tags
string[]
provider_configs
object[]
budgets
object[]
rate_limit
object | null
calendar_aligned
boolean | null
allow_all_providers
boolean | null

When true, grants access to every provider, including ones without a provider_configs entry and providers added later. A listed provider keeps its own model allow/blacklist, budgets, rate limits, and key selection; an unlisted provider gets all models, all keys, and no per-provider limits. When false, provider-wide access is disabled and access is deny-by-default via provider_configs. Omit to leave unchanged.

auto_rotation_interval

Replace the rotation schedule ("30d", "12h" or nanoseconds); "" or 0 turns it off. Omit to leave the schedule unchanged.

Pattern: ^$|^[0-9]+d$|^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Example:

"30d"

next_rotation_at
string<date-time> | null

Override the next rotation time (must be in the future). null clears it, which is only valid when the interval is off. Omit to keep the existing schedule; a changed interval re-anchors it to now + interval.

mcp_tool_groups
object[]
mcp_servers
object[]
mcp_tool_overrides
object[]

Response

Profile updated

access_profile
object