A valid request URL is required to generate request examples{
"status": "pending_oauth",
"message": "<string>",
"oauth_config_id": "<string>",
"authorize_url": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"mcp_client_id": "<string>",
"complete_url": "<string>",
"status_url": "<string>",
"next_steps": [
"<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>"
}
}Initiate verification for a pending MCP client
Starts the one-time admin OAuth authorization for an MCP client sitting in pending_verification state (declared via config.json with auth_type “oauth” or “per_user_oauth”). Runs OAuth metadata discovery (RFC 8414) and dynamic client registration (RFC 7591) against the client’s connection_string when the declared oauth_config omits those fields, creates a fresh OAuth flow, and returns the authorization URL.
Complete the flow like a create-time OAuth flow: open authorize_url in a browser, poll status_url until “authorized”, then POST complete_url. Safe to call again if a previous attempt expired or was abandoned — each call starts a fresh flow.
A valid request URL is required to generate request examples{
"status": "pending_oauth",
"message": "<string>",
"oauth_config_id": "<string>",
"authorize_url": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"mcp_client_id": "<string>",
"complete_url": "<string>",
"status_url": "<string>",
"next_steps": [
"<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
Response
OAuth flow initiated
Response when initiating an OAuth flow
pending_oauth ID of the OAuth config created for this flow
URL to redirect the user to for authorization
When the OAuth authorization request expires
The MCP client ID that initiated this OAuth flow
Relative URL to POST once the flow is authorized (/api/mcp/client/{oauth_config_id}/complete-oauth). Note the path parameter is the oauth_config_id, not the MCP client ID.
Relative URL to poll for the flow status (/api/oauth/config/{oauth_config_id}/status). Wait for status "authorized" before calling complete_url.
Human-readable steps to complete the flow (authorize, poll, complete)
Was this page helpful?

