A valid request URL is required to generate request examples{
"status": "success",
"message": "<string>",
"tools_count": 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": {
"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": {
"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": {
"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": {
"model_requested": "<string>",
"request_type": "<string>"
}
}Verify a pending or repair a needs_reauth token_exchange MCP client
Completes admin verification for an MCP client with auth_type “token_exchange”. No request body: the subject of the exchange is always the signed-in admin’s own identity-provider token (from an SSO session or an identity-authenticated bearer request) — there is no manual token input. Bifrost exchanges it exactly like a real caller’s token would be exchanged, opens an upstream connection with the result, discovers the tool list, persists it, and transitions the client to connected. The exchanged token (and any refresh token the identity provider issued alongside it) is retained as the admin discovery credential the periodic tool syncer uses to refresh the tool list; end-user tool calls always exchange the caller’s own token instead. Synchronous; no browser flow.
Serves two situations: the one-time bootstrap verification for a client sitting in pending_verification, and a voluntary refresh of an already-verified client’s retained admin discovery credential — resubmitting always re-runs verification and retains a fresh credential, whether or not it currently needs repair (mirrors POST /reauthorize for OAuth-based clients).
A valid request URL is required to generate request examples{
"status": "success",
"message": "<string>",
"tools_count": 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": {
"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": {
"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": {
"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": {
"model_requested": "<string>",
"request_type": "<string>"
}
}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.
Path Parameters
MCP client ID
Was this page helpful?

