openapi: 3.1.0 info: title: Bifrost API description: | Bifrost HTTP Transport API for AI model inference and gateway management. This API provides a unified interface for interacting with multiple AI providers including OpenAI, Anthropic, Bedrock, Gemini, and more through a single API, along with comprehensive management APIs for configuring and monitoring the gateway. ## API Structure ### Unified Inference API (`/v1/*`) The primary API using Bifrost's unified format. Model parameters use the format `provider/model` (e.g., `openai/gpt-4`, `anthropic/claude-3-opus`). ### Async Inference API (`/v1/async/*`) Submit inference requests for asynchronous execution. Returns a job ID immediately and allows polling for results. Supports all inference types except batches, files, and containers. ### Provider Integration APIs Native provider-format APIs for drop-in compatibility: - `/openai/*` - OpenAI-compatible API - `/anthropic/*` - Anthropic-compatible API - `/genai/*` - Google GenAI (Gemini) compatible API - `/bedrock/*` - AWS Bedrock compatible API - `/cohere/*` - Cohere compatible API ### Framework Integration APIs Multi-provider proxy endpoints for AI frameworks: - `/litellm/*` - LiteLLM proxy with all provider formats - `/langchain/*` - LangChain compatible endpoints - `/pydanticai/*` - PydanticAI compatible endpoints ### Management APIs (`/api/*`) APIs for managing and monitoring the Bifrost gateway: - `/api/config` - Configuration management - `/api/providers` - Provider and API key management - `/api/plugins` - Plugin management - `/api/governance/*` - Virtual keys, teams, customers, budgets, rate limits, routing rules, and pricing overrides - `/api/logs` - Log search and analytics - `/api/mcp/*` - MCP (Model Context Protocol) client management - `/api/session/*` - Authentication and session management - `/api/cache/*` - Cache management - `/health` - Health check endpoint ## Fallbacks Requests can include fallback models that will be tried if the primary model fails. version: 1.0.0 contact: name: Contact Us url: https://getmaxim.ai/bifrost license: name: Apache 2.0 url: https://opensource.org/licenses/Apache-2.0 servers: - url: "{baseUrl}" description: Your Bifrost instance variables: baseUrl: default: http://localhost:8080 description: Base URL of your Bifrost instance (e.g. https://bifrost.mycompany.com) security: - BearerAuth: [] - BasicAuth: [] - ApiKeyAuth: [] tags: # Unified Inference API - name: Models description: Model listing and information - name: Chat Completions description: Chat-based text generation - name: Text Completions description: Text completion generation - name: Responses description: OpenAI Responses API compatible endpoints - name: Rerank description: Document reranking by relevance to a query - name: Embeddings description: Text embedding generation - name: Images description: Image generations, editing, and variations - name: Videos description: Video generation and management - name: Audio description: Speech synthesis and transcription - name: Count Tokens description: Token counting utilities - name: Batch description: Batch processing operations - name: Files description: File management operations - name: Containers description: Container management operations - name: Async Jobs description: Asynchronous job submission and retrieval endpoints # Provider Integrations - name: OpenAI Integration description: OpenAI-compatible API endpoints (/openai/*) - name: Azure Integration description: Azure OpenAI integration endpoints - name: Anthropic Integration description: Anthropic-compatible API endpoints (/anthropic/*) - name: GenAI Integration description: Google GenAI (Gemini) compatible API endpoints (/genai/*) - name: Bedrock Integration description: AWS Bedrock compatible API endpoints (/bedrock/*) - name: Cohere Integration description: Cohere compatible API endpoints (/cohere/*) - name: LiteLLM Integration description: LiteLLM proxy endpoints with multi-provider support (/litellm/*) - name: LangChain Integration description: LangChain compatible endpoints with multi-provider support (/langchain/*) - name: PydanticAI Integration description: PydanticAI compatible endpoints with multi-provider support (/pydanticai/*) # Management APIs - name: Health description: Health check endpoints - name: Configuration description: Configuration management endpoints - name: Session description: Session and authentication endpoints - name: Providers description: Provider management endpoints - name: Plugins description: Plugin management endpoints - name: MCP description: Model Context Protocol endpoints - name: Governance description: Virtual keys, teams, and customers management - name: Logging description: Log search and management endpoints - name: Cache description: Cache management endpoints paths: # ==================== Unified Inference API ==================== /v1/models: $ref: './paths/inference/models.yaml#/models' /v1/chat/completions: $ref: './paths/inference/chat-completions.yaml#/chat-completions' /v1/completions: $ref: './paths/inference/text-completions.yaml#/text-completions' /v1/responses: $ref: './paths/inference/responses.yaml#/responses' /v1/rerank: $ref: './paths/inference/rerank.yaml#/rerank' /v1/embeddings: $ref: './paths/inference/embeddings.yaml#/embeddings' /v1/audio/speech: $ref: './paths/inference/audio.yaml#/speech' /v1/audio/transcriptions: $ref: './paths/inference/audio.yaml#/transcriptions' /v1/images/generations: $ref: './paths/inference/images.yaml#/image-generation' /v1/images/edits: $ref: './paths/inference/images.yaml#/image-edit' /v1/images/variations: $ref: './paths/inference/images.yaml#/image-variation' /v1/videos: $ref: './paths/inference/videos.yaml#/video-generation' /v1/videos/{video_id}: $ref: './paths/inference/videos.yaml#/video-by-id' /v1/videos/{video_id}/content: $ref: './paths/inference/videos.yaml#/video-download' /v1/videos/{video_id}/remix: $ref: './paths/inference/videos.yaml#/video-remix' /v1/responses/input_tokens: $ref: './paths/inference/count-tokens.yaml#/count-tokens' /v1/batches: $ref: './paths/inference/batches.yaml#/batches' /v1/batches/{batch_id}: $ref: './paths/inference/batches.yaml#/batches-by-id' /v1/batches/{batch_id}/cancel: $ref: './paths/inference/batches.yaml#/batches-cancel' /v1/batches/{batch_id}/results: $ref: './paths/inference/batches.yaml#/batches-results' /v1/files: $ref: './paths/inference/files.yaml#/files' /v1/files/{file_id}: $ref: './paths/inference/files.yaml#/files-by-id' /v1/files/{file_id}/content: $ref: './paths/inference/files.yaml#/files-content' /v1/containers: $ref: './paths/inference/containers.yaml#/containers' /v1/containers/{container_id}: $ref: './paths/inference/containers.yaml#/containers-by-id' /v1/containers/{container_id}/files: $ref: './paths/inference/containers.yaml#/container-files' /v1/containers/{container_id}/files/{file_id}: $ref: './paths/inference/containers.yaml#/container-files-by-id' /v1/containers/{container_id}/files/{file_id}/content: $ref: './paths/inference/containers.yaml#/container-files-content' # ==================== Async Inference API ==================== /v1/async/chat/completions: $ref: './paths/inference/async.yaml#/async-chat-completions' /v1/async/completions: $ref: './paths/inference/async.yaml#/async-text-completions' /v1/async/responses: $ref: './paths/inference/async.yaml#/async-responses' /v1/async/embeddings: $ref: './paths/inference/async.yaml#/async-embeddings' /v1/async/audio/speech: $ref: './paths/inference/async.yaml#/async-speech' /v1/async/audio/transcriptions: $ref: './paths/inference/async.yaml#/async-transcriptions' /v1/async/images/generations: $ref: './paths/inference/async.yaml#/async-image-generation' /v1/async/images/edits: $ref: './paths/inference/async.yaml#/async-image-edit' /v1/async/images/variations: $ref: './paths/inference/async.yaml#/async-image-variation' /v1/async/chat/completions/{job_id}: $ref: './paths/inference/async.yaml#/async-chat-completions-job' /v1/async/completions/{job_id}: $ref: './paths/inference/async.yaml#/async-text-completions-job' /v1/async/responses/{job_id}: $ref: './paths/inference/async.yaml#/async-responses-job' /v1/async/embeddings/{job_id}: $ref: './paths/inference/async.yaml#/async-embeddings-job' /v1/async/audio/speech/{job_id}: $ref: './paths/inference/async.yaml#/async-speech-job' /v1/async/audio/transcriptions/{job_id}: $ref: './paths/inference/async.yaml#/async-transcriptions-job' /v1/async/images/generations/{job_id}: $ref: './paths/inference/async.yaml#/async-image-generation-job' /v1/async/images/edits/{job_id}: $ref: './paths/inference/async.yaml#/async-image-edit-job' /v1/async/images/variations/{job_id}: $ref: './paths/inference/async.yaml#/async-image-variation-job' # ==================== OpenAI Integration ==================== # Chat Completions /openai/v1/chat/completions: $ref: './paths/integrations/openai/chat.yaml#/chat-completions' /openai/openai/deployments/{deployment-id}/chat/completions: $ref: './paths/integrations/openai/chat.yaml#/azure-chat-completions' # Text Completions (Legacy) /openai/v1/completions: $ref: './paths/integrations/openai/text.yaml#/text-completions' /openai/openai/deployments/{deployment-id}/completions: $ref: './paths/integrations/openai/text.yaml#/azure-text-completions' # Responses API /openai/v1/responses: $ref: './paths/integrations/openai/responses.yaml#/responses' /openai/openai/deployments/{deployment-id}/responses: $ref: './paths/integrations/openai/responses.yaml#/azure-responses' /openai/v1/responses/input_tokens: $ref: './paths/integrations/openai/responses.yaml#/responses-input-tokens' # Embeddings /openai/v1/embeddings: $ref: './paths/integrations/openai/embeddings.yaml#/embeddings' /openai/openai/deployments/{deployment-id}/embeddings: $ref: './paths/integrations/openai/embeddings.yaml#/azure-embeddings' # Audio (Speech & Transcription) /openai/v1/audio/speech: $ref: './paths/integrations/openai/audio.yaml#/speech' /openai/openai/deployments/{deployment-id}/audio/speech: $ref: './paths/integrations/openai/audio.yaml#/azure-speech' /openai/v1/audio/transcriptions: $ref: './paths/integrations/openai/audio.yaml#/transcriptions' /openai/openai/deployments/{deployment-id}/audio/transcriptions: $ref: './paths/integrations/openai/audio.yaml#/azure-transcriptions' # Models /openai/v1/models: $ref: './paths/integrations/openai/models.yaml#/models' /openai/openai/deployments/{deployment-id}/models: $ref: './paths/integrations/openai/models.yaml#/azure-models' # Batch API /openai/v1/batches: $ref: './paths/integrations/openai/batch.yaml#/batches' /openai/v1/batches/{batch_id}: $ref: './paths/integrations/openai/batch.yaml#/batches-by-id' /openai/v1/batches/{batch_id}/cancel: $ref: './paths/integrations/openai/batch.yaml#/batches-cancel' # Image Generation /openai/v1/images/generations: $ref: './paths/integrations/openai/images.yaml#/image-generation' /openai/openai/deployments/{deployment-id}/images/generations: $ref: './paths/integrations/openai/images.yaml#/azure-image-generation' # Files API /openai/v1/files: $ref: './paths/integrations/openai/files.yaml#/files' /openai/v1/files/{file_id}: $ref: './paths/integrations/openai/files.yaml#/files-by-id' /openai/v1/files/{file_id}/content: $ref: './paths/integrations/openai/files.yaml#/files-content' # Containers API /openai/v1/containers: $ref: './paths/integrations/openai/containers.yaml#/containers' /openai/v1/containers/{container_id}: $ref: './paths/integrations/openai/containers.yaml#/containers-by-id' /openai/v1/containers/{container_id}/files: $ref: './paths/integrations/openai/containers.yaml#/container-files' /openai/v1/containers/{container_id}/files/{file_id}: $ref: './paths/integrations/openai/containers.yaml#/container-files-by-id' /openai/v1/containers/{container_id}/files/{file_id}/content: $ref: './paths/integrations/openai/containers.yaml#/container-files-content' # ==================== Anthropic Integration ==================== # Messages API /anthropic/v1/messages: $ref: './paths/integrations/anthropic/messages.yaml#/messages' # Legacy Complete API /anthropic/v1/complete: $ref: './paths/integrations/anthropic/text.yaml#/complete' # Models /anthropic/v1/models: $ref: './paths/integrations/anthropic/models.yaml#/models' # Count Tokens /anthropic/v1/messages/count_tokens: $ref: './paths/integrations/anthropic/count-tokens.yaml#/count-tokens' # Batch API /anthropic/v1/messages/batches: $ref: './paths/integrations/anthropic/batch.yaml#/batches' /anthropic/v1/messages/batches/{batch_id}: $ref: './paths/integrations/anthropic/batch.yaml#/batches-by-id' /anthropic/v1/messages/batches/{batch_id}/cancel: $ref: './paths/integrations/anthropic/batch.yaml#/batches-cancel' /anthropic/v1/messages/batches/{batch_id}/results: $ref: './paths/integrations/anthropic/batch.yaml#/batches-results' # Files API /anthropic/v1/files: $ref: './paths/integrations/anthropic/files.yaml#/files' /anthropic/v1/files/{file_id}/content: $ref: './paths/integrations/anthropic/files.yaml#/files-content' /anthropic/v1/files/{file_id}: $ref: './paths/integrations/anthropic/files.yaml#/files-by-id' # ==================== GenAI (Gemini) Integration ==================== # Generation /genai/v1beta/models/{model}:generateContent: $ref: './paths/integrations/genai/generation.yaml#/generate-content' /genai/v1beta/models/{model}:streamGenerateContent: $ref: './paths/integrations/genai/generation.yaml#/stream-generate-content' /genai/v1beta/models/{model}:embedContent: $ref: './paths/integrations/genai/generation.yaml#/embed-content' /genai/v1beta/models/{model}:countTokens: $ref: './paths/integrations/genai/generation.yaml#/count-tokens' /genai/v1beta/models/{model}:predict: $ref: './paths/integrations/genai/generation.yaml#/image-generation' # Models /genai/v1beta/models: $ref: './paths/integrations/genai/models.yaml#/models' # Files /genai/upload/v1beta/files: $ref: './paths/integrations/genai/files.yaml#/files-upload' /genai/v1beta/files: $ref: './paths/integrations/genai/files.yaml#/files' /genai/v1beta/files/{file_id}: $ref: './paths/integrations/genai/files.yaml#/files-by-id' # ==================== Bedrock Integration ==================== # Converse API /bedrock/model/{modelId}/converse: $ref: './paths/integrations/bedrock/converse.yaml#/converse' /bedrock/model/{modelId}/converse-stream: $ref: './paths/integrations/bedrock/converse.yaml#/converse-stream' # Invoke API (Legacy/Raw) /bedrock/model/{modelId}/invoke: $ref: './paths/integrations/bedrock/invoke.yaml#/invoke' /bedrock/model/{modelId}/invoke-with-response-stream: $ref: './paths/integrations/bedrock/invoke.yaml#/invoke-stream' # Batch API /bedrock/model-invocation-jobs: $ref: './paths/integrations/bedrock/batch.yaml#/batch-jobs' /bedrock/model-invocation-jobs/{jobIdentifier}: $ref: './paths/integrations/bedrock/batch.yaml#/batch-job-by-id' /bedrock/model-invocation-jobs/{jobIdentifier}/stop: $ref: './paths/integrations/bedrock/batch.yaml#/batch-job-cancel' # ==================== Cohere Integration ==================== # Chat (v2) /cohere/v2/chat: $ref: './paths/integrations/cohere/chat.yaml#/chat' # Embed (v2) /cohere/v2/embed: $ref: './paths/integrations/cohere/embed.yaml#/embed' # Tokenize (v1) /cohere/v1/tokenize: $ref: './paths/integrations/cohere/tokenize.yaml#/tokenize' # ==================== LiteLLM Integration ==================== # OpenAI-compatible /litellm/v1/completions: $ref: './paths/integrations/litellm/openai.yaml#/text-completions' /litellm/v1/chat/completions: $ref: './paths/integrations/litellm/openai.yaml#/chat-completions' /litellm/v1/embeddings: $ref: './paths/integrations/litellm/openai.yaml#/embeddings' /litellm/v1/models: $ref: './paths/integrations/litellm/openai.yaml#/models' /litellm/v1/responses: $ref: './paths/integrations/litellm/openai.yaml#/responses' /litellm/v1/responses/input_tokens: $ref: './paths/integrations/litellm/openai.yaml#/responses-input-tokens' /litellm/v1/audio/speech: $ref: './paths/integrations/litellm/openai.yaml#/speech' /litellm/v1/audio/transcriptions: $ref: './paths/integrations/litellm/openai.yaml#/transcriptions' # Anthropic-compatible /litellm/anthropic/v1/messages: $ref: './paths/integrations/litellm/anthropic.yaml#/messages' # GenAI-compatible /litellm/genai/v1beta/models: $ref: './paths/integrations/litellm/genai.yaml#/models' /litellm/genai/v1beta/models/{model}:generateContent: $ref: './paths/integrations/litellm/genai.yaml#/generate-content' /litellm/genai/v1beta/models/{model}:streamGenerateContent: $ref: './paths/integrations/litellm/genai.yaml#/stream-generate-content' # Bedrock-compatible /litellm/bedrock/model/{modelId}/converse: $ref: './paths/integrations/litellm/bedrock.yaml#/converse' /litellm/bedrock/model/{modelId}/converse-stream: $ref: './paths/integrations/litellm/bedrock.yaml#/converse-stream' # Cohere-compatible /litellm/cohere/v2/chat: $ref: './paths/integrations/litellm/cohere.yaml#/chat' /litellm/cohere/v2/embed: $ref: './paths/integrations/litellm/cohere.yaml#/embed' /litellm/cohere/v1/tokenize: $ref: './paths/integrations/litellm/cohere.yaml#/tokenize' # ==================== LangChain Integration ==================== # OpenAI-compatible /langchain/v1/completions: $ref: './paths/integrations/langchain/openai.yaml#/text-completions' /langchain/v1/chat/completions: $ref: './paths/integrations/langchain/openai.yaml#/chat-completions' /langchain/v1/embeddings: $ref: './paths/integrations/langchain/openai.yaml#/embeddings' /langchain/v1/models: $ref: './paths/integrations/langchain/openai.yaml#/models' /langchain/v1/responses: $ref: './paths/integrations/langchain/openai.yaml#/responses' /langchain/v1/responses/input_tokens: $ref: './paths/integrations/langchain/openai.yaml#/responses-input-tokens' /langchain/v1/audio/speech: $ref: './paths/integrations/langchain/openai.yaml#/speech' /langchain/v1/audio/transcriptions: $ref: './paths/integrations/langchain/openai.yaml#/transcriptions' # Anthropic-compatible /langchain/anthropic/v1/messages: $ref: './paths/integrations/langchain/anthropic.yaml#/messages' /langchain/anthropic/v1/messages/count_tokens: $ref: './paths/integrations/langchain/anthropic.yaml#/count-tokens' # GenAI-compatible /langchain/genai/v1beta/models: $ref: './paths/integrations/langchain/genai.yaml#/models' /langchain/genai/v1beta/models/{model}:generateContent: $ref: './paths/integrations/langchain/genai.yaml#/generate-content' /langchain/genai/v1beta/models/{model}:streamGenerateContent: $ref: './paths/integrations/langchain/genai.yaml#/stream-generate-content' # Bedrock-compatible /langchain/bedrock/model/{modelId}/converse: $ref: './paths/integrations/langchain/bedrock.yaml#/converse' /langchain/bedrock/model/{modelId}/converse-stream: $ref: './paths/integrations/langchain/bedrock.yaml#/converse-stream' # Cohere-compatible /langchain/cohere/v2/chat: $ref: './paths/integrations/langchain/cohere.yaml#/chat' /langchain/cohere/v2/embed: $ref: './paths/integrations/langchain/cohere.yaml#/embed' /langchain/cohere/v1/tokenize: $ref: './paths/integrations/langchain/cohere.yaml#/tokenize' # ==================== PydanticAI Integration ==================== # OpenAI-compatible /pydanticai/v1/completions: $ref: './paths/integrations/pydanticai/openai.yaml#/text-completions' /pydanticai/v1/chat/completions: $ref: './paths/integrations/pydanticai/openai.yaml#/chat-completions' /pydanticai/v1/embeddings: $ref: './paths/integrations/pydanticai/openai.yaml#/embeddings' /pydanticai/v1/models: $ref: './paths/integrations/pydanticai/openai.yaml#/models' /pydanticai/v1/responses: $ref: './paths/integrations/pydanticai/openai.yaml#/responses' /pydanticai/v1/responses/input_tokens: $ref: './paths/integrations/pydanticai/openai.yaml#/responses-input-tokens' /pydanticai/v1/audio/speech: $ref: './paths/integrations/pydanticai/openai.yaml#/speech' /pydanticai/v1/audio/transcriptions: $ref: './paths/integrations/pydanticai/openai.yaml#/transcriptions' # Anthropic-compatible /pydanticai/anthropic/v1/messages: $ref: './paths/integrations/pydanticai/anthropic.yaml#/messages' # GenAI-compatible /pydanticai/genai/v1beta/models: $ref: './paths/integrations/pydanticai/genai.yaml#/models' /pydanticai/genai/v1beta/models/{model}:generateContent: $ref: './paths/integrations/pydanticai/genai.yaml#/generate-content' /pydanticai/genai/v1beta/models/{model}:streamGenerateContent: $ref: './paths/integrations/pydanticai/genai.yaml#/stream-generate-content' # Bedrock-compatible /pydanticai/bedrock/model/{modelId}/converse: $ref: './paths/integrations/pydanticai/bedrock.yaml#/converse' /pydanticai/bedrock/model/{modelId}/converse-stream: $ref: './paths/integrations/pydanticai/bedrock.yaml#/converse-stream' # Cohere-compatible /pydanticai/cohere/v2/chat: $ref: './paths/integrations/pydanticai/cohere.yaml#/chat' /pydanticai/cohere/v2/embed: $ref: './paths/integrations/pydanticai/cohere.yaml#/embed' /pydanticai/cohere/v1/tokenize: $ref: './paths/integrations/pydanticai/cohere.yaml#/tokenize' # ==================== Management APIs ==================== # Health /health: $ref: './paths/management/health.yaml#/health' # Configuration /api/config: $ref: './paths/management/config.yaml#/config' /api/version: $ref: './paths/management/config.yaml#/version' /api/proxy-config: $ref: './paths/management/config.yaml#/proxy-config' /api/pricing/force-sync: $ref: './paths/management/config.yaml#/force-sync-pricing' # Users /api/users: $ref: './paths/management/users.yaml#/users' /api/users/{id}: $ref: './paths/management/users.yaml#/users-by-id' /api/users/me/permissions: $ref: './paths/management/users.yaml#/users-me-permissions' /api/users/{id}/role: $ref: './paths/management/users.yaml#/users-role' /api/users/{id}/teams: $ref: './paths/management/users.yaml#/users-teams' # Teams /api/teams: $ref: './paths/management/users.yaml#/teams' /api/teams/{id}: $ref: './paths/management/users.yaml#/teams-by-id' /api/teams/{id}/members: $ref: './paths/management/users.yaml#/team-members' /api/teams/{id}/members/{userId}: $ref: './paths/management/users.yaml#/team-member-by-id' # Session /api/session/login: $ref: './paths/management/session.yaml#/login' /api/session/logout: $ref: './paths/management/session.yaml#/logout' /api/session/is-auth-enabled: $ref: './paths/management/session.yaml#/is-auth-enabled' /api/session/ws-ticket: $ref: './paths/management/session.yaml#/ws-ticket' # Providers /api/providers: $ref: './paths/management/providers.yaml#/providers' /api/providers/{provider}: $ref: './paths/management/providers.yaml#/providers-by-name' /api/providers/{provider}/keys: $ref: './paths/management/providers.yaml#/provider-keys' /api/providers/{provider}/keys/{key_id}: $ref: './paths/management/providers.yaml#/provider-key-by-id' /api/keys: $ref: './paths/management/providers.yaml#/keys' /api/models: $ref: './paths/management/providers.yaml#/models' /api/models/details: $ref: './paths/management/providers.yaml#/models-details' /api/models/parameters: $ref: './paths/management/providers.yaml#/models-parameters' /api/models/base: $ref: './paths/management/providers.yaml#/models-base' # Plugins /api/plugins: $ref: './paths/management/plugins.yaml#/plugins' /api/plugins/{name}: $ref: './paths/management/plugins.yaml#/~1plugins~1{name}' # MCP /v1/mcp/tool/execute: $ref: './paths/management/mcp.yaml#/execute-tool' /api/mcp/clients: $ref: './paths/management/mcp.yaml#/clients' /api/mcp/client: $ref: './paths/management/mcp.yaml#/client' /api/mcp/client/{id}: $ref: './paths/management/mcp.yaml#/client-by-id' /api/mcp/client/{id}/reconnect: $ref: './paths/management/mcp.yaml#/client-reconnect' /api/mcp/client/{id}/complete-oauth: $ref: './paths/management/mcp.yaml#/client-complete-oauth' # MCP - OAuth (server-level) /api/oauth/callback: $ref: './paths/management/oauth.yaml#/oauth-callback' /api/oauth/config/{id}/status: $ref: './paths/management/oauth.yaml#/oauth-config-status' # Per-User OAuth 2.1 Authorization Server /api/oauth/per-user/register: $ref: './paths/management/oauth.yaml#/per-user-oauth-register' /api/oauth/per-user/authorize: $ref: './paths/management/oauth.yaml#/per-user-oauth-authorize' /api/oauth/per-user/token: $ref: './paths/management/oauth.yaml#/per-user-oauth-token' /api/oauth/per-user/upstream/authorize: $ref: './paths/management/oauth.yaml#/per-user-oauth-upstream-authorize' # Per-User OAuth Consent Flow (browser UI) /oauth/consent: $ref: './paths/management/oauth.yaml#/consent-identity-page' /oauth/consent/mcps: $ref: './paths/management/oauth.yaml#/consent-mcps-page' /api/oauth/per-user/consent/vk: $ref: './paths/management/oauth.yaml#/consent-submit-vk' /api/oauth/per-user/consent/user-id: $ref: './paths/management/oauth.yaml#/consent-submit-user-id' /api/oauth/per-user/consent/skip: $ref: './paths/management/oauth.yaml#/consent-skip' /api/oauth/per-user/consent/submit: $ref: './paths/management/oauth.yaml#/consent-submit' # OAuth Discovery (RFC 9728 + RFC 8414) /.well-known/oauth-protected-resource: $ref: './paths/management/oauth.yaml#/oauth-protected-resource-metadata' /.well-known/oauth-authorization-server: $ref: './paths/management/oauth.yaml#/oauth-authorization-server-metadata' # Governance - Virtual Keys /api/governance/virtual-keys: $ref: './paths/management/governance.yaml#/virtual-keys' /api/governance/virtual-keys/quota: $ref: './paths/management/governance.yaml#/virtual-keys-quota' /api/governance/virtual-keys/{vk_id}: $ref: './paths/management/governance.yaml#/virtual-keys-by-id' # Governance - Teams /api/governance/teams: $ref: './paths/management/governance.yaml#/teams' /api/governance/teams/{team_id}: $ref: './paths/management/governance.yaml#/teams-by-id' # Governance - Customers /api/governance/customers: $ref: './paths/management/governance.yaml#/customers' /api/governance/customers/{customer_id}: $ref: './paths/management/governance.yaml#/customers-by-id' # Governance - Budgets and Rate Limits /api/governance/budgets: $ref: './paths/management/governance.yaml#/budgets' /api/governance/rate-limits: $ref: './paths/management/governance.yaml#/rate-limits' /api/governance/routing-rules: $ref: './paths/management/governance.yaml#/routing-rules' /api/governance/routing-rules/{rule_id}: $ref: './paths/management/governance.yaml#/routing-rules-by-id' # Governance - Model Configs /api/governance/model-configs: $ref: './paths/management/governance.yaml#/model-configs' /api/governance/model-configs/{mc_id}: $ref: './paths/management/governance.yaml#/model-configs-by-id' # Governance - Provider Governance /api/governance/providers: $ref: './paths/management/governance.yaml#/provider-governance' /api/governance/providers/{provider_name}: $ref: './paths/management/governance.yaml#/provider-governance-by-name' # Governance - Pricing Overrides /api/governance/pricing-overrides: $ref: './paths/management/governance.yaml#/pricing-overrides' /api/governance/pricing-overrides/{id}: $ref: './paths/management/governance.yaml#/pricing-overrides-by-id' # Logging /api/logs: $ref: './paths/management/logging.yaml#/logs' /api/logs/{id}: $ref: './paths/management/logging.yaml#/logs-by-id' /api/logs/stats: $ref: './paths/management/logging.yaml#/logs-stats' /api/logs/histogram: $ref: './paths/management/logging.yaml#/logs-histogram' /api/logs/histogram/tokens: $ref: './paths/management/logging.yaml#/logs-histogram-tokens' /api/logs/histogram/cost: $ref: './paths/management/logging.yaml#/logs-histogram-cost' /api/logs/histogram/models: $ref: './paths/management/logging.yaml#/logs-histogram-models' /api/logs/histogram/latency: $ref: './paths/management/logging.yaml#/logs-histogram-latency' /api/logs/histogram/cost/by-provider: $ref: './paths/management/logging.yaml#/logs-histogram-cost-by-provider' /api/logs/histogram/tokens/by-provider: $ref: './paths/management/logging.yaml#/logs-histogram-tokens-by-provider' /api/logs/histogram/latency/by-provider: $ref: './paths/management/logging.yaml#/logs-histogram-latency-by-provider' /api/logs/dropped: $ref: './paths/management/logging.yaml#/logs-dropped' /api/logs/filterdata: $ref: './paths/management/logging.yaml#/logs-filterdata' /api/logs/recalculate-cost: $ref: './paths/management/logging.yaml#/logs-recalculate-cost' # MCP Logs /api/mcp-logs: $ref: './paths/management/logging.yaml#/mcp-logs' /api/mcp-logs/stats: $ref: './paths/management/logging.yaml#/mcp-logs-stats' /api/mcp-logs/filterdata: $ref: './paths/management/logging.yaml#/mcp-logs-filterdata' # Prompt Repository /api/prompt-repo/folders: $ref: './paths/management/prompts.yaml#/folders' /api/prompt-repo/folders/{id}: $ref: './paths/management/prompts.yaml#/folders-by-id' /api/prompt-repo/prompts: $ref: './paths/management/prompts.yaml#/prompts' /api/prompt-repo/prompts/{id}: $ref: './paths/management/prompts.yaml#/prompts-by-id' /api/prompt-repo/prompts/{id}/versions: $ref: './paths/management/prompts.yaml#/prompt-versions' /api/prompt-repo/versions/{id}: $ref: './paths/management/prompts.yaml#/versions-by-id' /api/prompt-repo/prompts/{id}/sessions: $ref: './paths/management/prompts.yaml#/prompt-sessions' /api/prompt-repo/sessions/{id}: $ref: './paths/management/prompts.yaml#/sessions-by-id' /api/prompt-repo/sessions/{id}/rename: $ref: './paths/management/prompts.yaml#/sessions-rename' /api/prompt-repo/sessions/{id}/commit: $ref: './paths/management/prompts.yaml#/sessions-commit' # Cache /api/cache/clear/{requestId}: $ref: './paths/management/cache.yaml#/clear-by-request-id' /api/cache/clear-by-key/{cacheKey}: $ref: './paths/management/cache.yaml#/clear-by-cache-key' # Infrastructure /ws: $ref: './paths/management/infrastructure.yaml#/websocket' /mcp: $ref: './paths/management/infrastructure.yaml#/mcp-server' /metrics: $ref: './paths/management/infrastructure.yaml#/metrics' components: securitySchemes: BearerAuth: type: http scheme: bearer description: | Bearer token authentication. Use your provider API key or Bifrost authentication token. Virtual keys (prefixed with `sk-bf-`) can also be passed here. BasicAuth: type: http scheme: basic description: | Basic authentication using username and password. VirtualKeyAuth: type: apiKey in: header name: x-bf-vk description: | Bifrost Virtual Key for governance, routing, and access control. Supported on all inference endpoints (`/v1/*`, `/openai/*`, `/anthropic/*`, `/bedrock/*`, `/cohere/*`, `/genai/*`, `/langchain/*`, `/litellm/*`, `/pydanticai/*`, `/mcp`), not on management APIs (`/api/*`). Example: `sk-bf-*` prefixed keys. ApiKeyAuth: type: apiKey in: header name: x-api-key description: | API key authentication via the `x-api-key` header. Virtual keys (prefixed with `sk-bf-`) can also be passed here. parameters: AsyncJobId: $ref: './paths/inference/async.yaml#/components/parameters/AsyncJobId' AsyncResultTTL: $ref: './paths/inference/async.yaml#/components/parameters/AsyncResultTTL' responses: BadRequest: description: Bad request content: application/json: schema: $ref: './schemas/inference/common.yaml#/BifrostError' NotFound: description: Resource not found content: application/json: schema: $ref: './schemas/inference/common.yaml#/BifrostError' InternalError: description: Internal server error content: application/json: schema: $ref: './schemas/inference/common.yaml#/BifrostError' schemas: # ==================== Common ==================== ModelProvider: $ref: './schemas/inference/common.yaml#/ModelProvider' Fallback: $ref: './schemas/inference/common.yaml#/Fallback' BifrostError: $ref: './schemas/inference/common.yaml#/BifrostError' ErrorField: $ref: './schemas/inference/common.yaml#/ErrorField' BifrostErrorExtraFields: $ref: './schemas/inference/common.yaml#/BifrostErrorExtraFields' BifrostResponseExtraFields: $ref: './schemas/inference/common.yaml#/BifrostResponseExtraFields' BifrostCacheDebug: $ref: './schemas/inference/common.yaml#/BifrostCacheDebug' CacheControl: $ref: './schemas/inference/common.yaml#/CacheControl' # ==================== Async Jobs ==================== AsyncJobStatus: $ref: './schemas/inference/async.yaml#/AsyncJobStatus' AsyncJobResponse: $ref: './schemas/inference/async.yaml#/AsyncJobResponse' # ==================== Usage ==================== BifrostLLMUsage: $ref: './schemas/inference/usage.yaml#/BifrostLLMUsage' ChatPromptTokensDetails: $ref: './schemas/inference/usage.yaml#/ChatPromptTokensDetails' ChatCompletionTokensDetails: $ref: './schemas/inference/usage.yaml#/ChatCompletionTokensDetails' BifrostCost: $ref: './schemas/inference/usage.yaml#/BifrostCost' # ==================== Models ==================== ListModelsResponse: $ref: './schemas/inference/models.yaml#/ListModelsResponse' Model: $ref: './schemas/inference/models.yaml#/Model' # ==================== Chat Completions ==================== ChatCompletionRequest: $ref: './schemas/inference/chat.yaml#/ChatCompletionRequest' ChatCompletionResponse: $ref: './schemas/inference/chat.yaml#/ChatCompletionResponse' ChatMessage: $ref: './schemas/inference/chat.yaml#/ChatMessage' PerplexitySearchResult: $ref: './schemas/inference/chat.yaml#/PerplexitySearchResult' PerplexityVideoResult: $ref: './schemas/inference/chat.yaml#/VideoResult' # ==================== Text Completions ==================== TextCompletionRequest: $ref: './schemas/inference/text.yaml#/TextCompletionRequest' TextCompletionResponse: $ref: './schemas/inference/text.yaml#/TextCompletionResponse' # ==================== Responses API ==================== ResponsesRequest: $ref: './schemas/inference/responses.yaml#/ResponsesRequest' ResponsesResponse: $ref: './schemas/inference/responses.yaml#/ResponsesResponse' # ==================== Rerank ==================== RerankRequest: $ref: './schemas/inference/rerank.yaml#/RerankRequest' RerankResponse: $ref: './schemas/inference/rerank.yaml#/RerankResponse' RerankDocument: $ref: './schemas/inference/rerank.yaml#/RerankDocument' RerankResult: $ref: './schemas/inference/rerank.yaml#/RerankResult' # ==================== Embeddings ==================== EmbeddingRequest: $ref: './schemas/inference/embeddings.yaml#/EmbeddingRequest' EmbeddingResponse: $ref: './schemas/inference/embeddings.yaml#/EmbeddingResponse' # ==================== Speech ==================== SpeechRequest: $ref: './schemas/inference/speech.yaml#/SpeechRequest' SpeechResponse: $ref: './schemas/inference/speech.yaml#/SpeechResponse' # ==================== Transcription ==================== TranscriptionRequest: $ref: './schemas/inference/transcription.yaml#/TranscriptionRequest' TranscriptionResponse: $ref: './schemas/inference/transcription.yaml#/TranscriptionResponse' # ==================== Count Tokens ==================== CountTokensRequest: $ref: './schemas/inference/count-tokens.yaml#/CountTokensRequest' CountTokensResponse: $ref: './schemas/inference/count-tokens.yaml#/CountTokensResponse' # ==================== Batch ==================== BatchCreateRequest: $ref: './schemas/inference/batch.yaml#/BatchCreateRequest' BatchCreateResponse: $ref: './schemas/inference/batch.yaml#/BatchCreateResponse' BatchListResponse: $ref: './schemas/inference/batch.yaml#/BatchListResponse' BatchRetrieveResponse: $ref: './schemas/inference/batch.yaml#/BatchRetrieveResponse' # ==================== Files ==================== FileUploadRequest: $ref: './schemas/inference/files.yaml#/FileUploadRequest' FileUploadResponse: $ref: './schemas/inference/files.yaml#/FileUploadResponse' FileListResponse: $ref: './schemas/inference/files.yaml#/FileListResponse' # ==================== OpenAI Integration ==================== OpenAIChatRequest: $ref: './schemas/integrations/openai/chat.yaml#/OpenAIChatRequest' OpenAIMessage: $ref: './schemas/integrations/openai/chat.yaml#/OpenAIMessage' OpenAITextCompletionRequest: $ref: './schemas/integrations/openai/text.yaml#/OpenAITextCompletionRequest' OpenAIResponsesRequest: $ref: './schemas/integrations/openai/responses.yaml#/OpenAIResponsesRequest' OpenAIEmbeddingRequest: $ref: './schemas/integrations/openai/embeddings.yaml#/OpenAIEmbeddingRequest' OpenAISpeechRequest: $ref: './schemas/integrations/openai/audio.yaml#/OpenAISpeechRequest' OpenAITranscriptionRequest: $ref: './schemas/integrations/openai/audio.yaml#/OpenAITranscriptionRequest' OpenAIListModelsResponse: $ref: './schemas/integrations/openai/common.yaml#/OpenAIListModelsResponse' # ==================== Anthropic Integration ==================== AnthropicMessageRequest: $ref: './schemas/integrations/anthropic/messages.yaml#/AnthropicMessageRequest' AnthropicMessage: $ref: './schemas/integrations/anthropic/messages.yaml#/AnthropicMessage' AnthropicContentBlock: $ref: './schemas/integrations/anthropic/messages.yaml#/AnthropicContentBlock' AnthropicMessageResponse: $ref: './schemas/integrations/anthropic/messages.yaml#/AnthropicMessageResponse' AnthropicTextRequest: $ref: './schemas/integrations/anthropic/text.yaml#/AnthropicTextRequest' AnthropicListModelsResponse: $ref: './schemas/integrations/anthropic/common.yaml#/AnthropicListModelsResponse' # ==================== GenAI (Gemini) Integration ==================== GeminiSchema: $ref: './schemas/integrations/genai/generation.yaml#/GeminiSchema' GeminiGenerationRequest: $ref: './schemas/integrations/genai/generation.yaml#/GeminiGenerationRequest' GeminiGenerationResponse: $ref: './schemas/integrations/genai/generation.yaml#/GeminiGenerationResponse' GeminiContent: $ref: './schemas/integrations/genai/generation.yaml#/GeminiContent' GeminiPart: $ref: './schemas/integrations/genai/generation.yaml#/GeminiPart' GeminiEmbeddingRequest: $ref: './schemas/integrations/genai/generation.yaml#/GeminiEmbeddingRequest' GeminiEmbeddingResponse: $ref: './schemas/integrations/genai/generation.yaml#/GeminiEmbeddingResponse' GeminiListModelsResponse: $ref: './schemas/integrations/genai/common.yaml#/GeminiListModelsResponse' GeminiError: $ref: './schemas/integrations/genai/common.yaml#/GeminiError' # ==================== Bedrock Integration ==================== BedrockConverseRequest: $ref: './schemas/integrations/bedrock/converse.yaml#/BedrockConverseRequest' BedrockConverseResponse: $ref: './schemas/integrations/bedrock/converse.yaml#/BedrockConverseResponse' BedrockMessage: $ref: './schemas/integrations/bedrock/converse.yaml#/BedrockMessage' BedrockContentBlock: $ref: './schemas/integrations/bedrock/converse.yaml#/BedrockContentBlock' BedrockInvokeRequest: $ref: './schemas/integrations/bedrock/invoke.yaml#/BedrockInvokeRequest' BedrockInvokeResponse: $ref: './schemas/integrations/bedrock/invoke.yaml#/BedrockInvokeResponse' BedrockBatchJobRequest: $ref: './schemas/integrations/bedrock/batch.yaml#/BedrockBatchJobRequest' BedrockBatchJobResponse: $ref: './schemas/integrations/bedrock/batch.yaml#/BedrockBatchJobResponse' BedrockError: $ref: './schemas/integrations/bedrock/common.yaml#/BedrockError' # ==================== Cohere Integration ==================== CohereChatRequest: $ref: './schemas/integrations/cohere/chat.yaml#/CohereChatRequest' CohereChatResponse: $ref: './schemas/integrations/cohere/chat.yaml#/CohereChatResponse' CohereMessage: $ref: './schemas/integrations/cohere/chat.yaml#/CohereMessage' CohereEmbeddingRequest: $ref: './schemas/integrations/cohere/embed.yaml#/CohereEmbeddingRequest' CohereEmbeddingResponse: $ref: './schemas/integrations/cohere/embed.yaml#/CohereEmbeddingResponse' CohereCountTokensRequest: $ref: './schemas/integrations/cohere/tokenize.yaml#/CohereCountTokensRequest' CohereCountTokensResponse: $ref: './schemas/integrations/cohere/tokenize.yaml#/CohereCountTokensResponse' CohereError: $ref: './schemas/integrations/cohere/common.yaml#/CohereError' # ==================== Management ==================== # Common SuccessResponse: $ref: './schemas/management/common.yaml#/SuccessResponse' ManagementErrorResponse: $ref: './schemas/management/common.yaml#/ErrorResponse' MessageResponse: $ref: './schemas/management/common.yaml#/MessageResponse' # Health HealthResponse: $ref: './schemas/management/health.yaml#/HealthResponse' # Configuration GetConfigResponse: $ref: './schemas/management/config.yaml#/GetConfigResponse' UpdateConfigRequest: $ref: './schemas/management/config.yaml#/UpdateConfigRequest' Version: $ref: './schemas/management/config.yaml#/Version' # Session LoginRequest: $ref: './schemas/management/session.yaml#/LoginRequest' LoginResponse: $ref: './schemas/management/session.yaml#/LoginResponse' IsAuthEnabledResponse: $ref: './schemas/management/session.yaml#/IsAuthEnabledResponse' # Providers ProviderResponse: $ref: './schemas/management/providers.yaml#/ProviderResponse' ListProvidersResponse: $ref: './schemas/management/providers.yaml#/ListProvidersResponse' AddProviderRequest: $ref: './schemas/management/providers.yaml#/AddProviderRequest' UpdateProviderRequest: $ref: './schemas/management/providers.yaml#/UpdateProviderRequest' Key: $ref: './schemas/management/providers.yaml#/Key' ListProviderKeysResponse: $ref: './schemas/management/providers.yaml#/ListProviderKeysResponse' NetworkConfig: $ref: './schemas/management/providers.yaml#/NetworkConfig' ConcurrencyAndBufferSize: $ref: './schemas/management/providers.yaml#/ConcurrencyAndBufferSize' # Plugins Plugin: $ref: './schemas/management/plugins.yaml#/Plugin' ListPluginsResponse: $ref: './schemas/management/plugins.yaml#/ListPluginsResponse' CreatePluginRequest: $ref: './schemas/management/plugins.yaml#/CreatePluginRequest' UpdatePluginRequest: $ref: './schemas/management/plugins.yaml#/UpdatePluginRequest' # MCP MCPClient: $ref: './schemas/management/mcp.yaml#/MCPClient' MCPClientConfig: $ref: './schemas/management/mcp.yaml#/MCPClientConfig' ExecuteToolRequest: $ref: './schemas/management/mcp.yaml#/ExecuteToolRequest' MCPAuthType: $ref: './schemas/management/oauth.yaml#/MCPAuthType' OAuthConfigRequest: $ref: './schemas/management/oauth.yaml#/OAuthConfigRequest' OAuthFlowInitiation: $ref: './schemas/management/oauth.yaml#/OAuthFlowInitiation' OAuthConfigStatus: $ref: './schemas/management/oauth.yaml#/OAuthConfigStatus' OAuthToken: $ref: './schemas/management/oauth.yaml#/OAuthToken' # Governance - Virtual Keys VirtualKey: $ref: './schemas/management/governance.yaml#/VirtualKey' VirtualKeyResponse: $ref: './schemas/management/governance.yaml#/VirtualKeyResponse' VirtualKeyProviderConfig: $ref: './schemas/management/governance.yaml#/VirtualKeyProviderConfig' VirtualKeyMCPConfig: $ref: './schemas/management/governance.yaml#/VirtualKeyMCPConfig' ListVirtualKeysResponse: $ref: './schemas/management/governance.yaml#/ListVirtualKeysResponse' CreateVirtualKeyRequest: $ref: './schemas/management/governance.yaml#/CreateVirtualKeyRequest' UpdateVirtualKeyRequest: $ref: './schemas/management/governance.yaml#/UpdateVirtualKeyRequest' # Governance - Teams Team: $ref: './schemas/management/governance.yaml#/Team' TeamResponse: $ref: './schemas/management/governance.yaml#/TeamResponse' ListTeamsResponse: $ref: './schemas/management/governance.yaml#/ListTeamsResponse' CreateTeamRequest: $ref: './schemas/management/governance.yaml#/CreateTeamRequest' UpdateTeamRequest: $ref: './schemas/management/governance.yaml#/UpdateTeamRequest' # Governance - Customers Customer: $ref: './schemas/management/governance.yaml#/Customer' CustomerResponse: $ref: './schemas/management/governance.yaml#/CustomerResponse' ListCustomersResponse: $ref: './schemas/management/governance.yaml#/ListCustomersResponse' CreateCustomerRequest: $ref: './schemas/management/governance.yaml#/CreateCustomerRequest' UpdateCustomerRequest: $ref: './schemas/management/governance.yaml#/UpdateCustomerRequest' # Governance - Budgets and Rate Limits Budget: $ref: './schemas/management/governance.yaml#/Budget' RateLimit: $ref: './schemas/management/governance.yaml#/RateLimit' ListBudgetsResponse: $ref: './schemas/management/governance.yaml#/ListBudgetsResponse' ListRateLimitsResponse: $ref: './schemas/management/governance.yaml#/ListRateLimitsResponse' CreateBudgetRequest: $ref: './schemas/management/governance.yaml#/CreateBudgetRequest' UpdateBudgetRequest: $ref: './schemas/management/governance.yaml#/UpdateBudgetRequest' CreateRateLimitRequest: $ref: './schemas/management/governance.yaml#/CreateRateLimitRequest' UpdateRateLimitRequest: $ref: './schemas/management/governance.yaml#/UpdateRateLimitRequest' # Governance - Routing Rules RoutingRule: $ref: './schemas/management/governance.yaml#/RoutingRule' RoutingRuleResponse: $ref: './schemas/management/governance.yaml#/RoutingRuleResponse' ListRoutingRulesResponse: $ref: './schemas/management/governance.yaml#/ListRoutingRulesResponse' CreateRoutingRuleRequest: $ref: './schemas/management/governance.yaml#/CreateRoutingRuleRequest' UpdateRoutingRuleRequest: $ref: './schemas/management/governance.yaml#/UpdateRoutingRuleRequest' TableKey: $ref: './schemas/management/governance.yaml#/TableKey' # Governance - Model Configs ModelConfig: $ref: './schemas/management/governance.yaml#/ModelConfig' ModelConfigResponse: $ref: './schemas/management/governance.yaml#/ModelConfigResponse' ListModelConfigsResponse: $ref: './schemas/management/governance.yaml#/ListModelConfigsResponse' CreateModelConfigRequest: $ref: './schemas/management/governance.yaml#/CreateModelConfigRequest' UpdateModelConfigRequest: $ref: './schemas/management/governance.yaml#/UpdateModelConfigRequest' # Governance - Provider Governance ProviderGovernance: $ref: './schemas/management/governance.yaml#/ProviderGovernance' ProviderGovernanceResponse: $ref: './schemas/management/governance.yaml#/ProviderGovernanceResponse' ListProviderGovernanceResponse: $ref: './schemas/management/governance.yaml#/ListProviderGovernanceResponse' UpdateProviderGovernanceRequest: $ref: './schemas/management/governance.yaml#/UpdateProviderGovernanceRequest' # Governance - Pricing Overrides PricingOverrideRequestType: $ref: './schemas/management/governance.yaml#/PricingOverrideRequestType' PricingPatch: $ref: './schemas/management/governance.yaml#/PricingPatch' PricingOverride: $ref: './schemas/management/governance.yaml#/PricingOverride' CreatePricingOverrideRequest: $ref: './schemas/management/governance.yaml#/CreatePricingOverrideRequest' UpdatePricingOverrideRequest: $ref: './schemas/management/governance.yaml#/UpdatePricingOverrideRequest' PricingOverrideResponse: $ref: './schemas/management/governance.yaml#/PricingOverrideResponse' ListPricingOverridesResponse: $ref: './schemas/management/governance.yaml#/ListPricingOverridesResponse' # Logging LogEntry: $ref: './schemas/management/logging.yaml#/LogEntry' SearchLogsResponse: $ref: './schemas/management/logging.yaml#/SearchLogsResponse' LogStats: $ref: './schemas/management/logging.yaml#/LogStats' DeleteLogsRequest: $ref: './schemas/management/logging.yaml#/DeleteLogsRequest' RecalculateCostRequest: $ref: './schemas/management/logging.yaml#/RecalculateCostRequest' RecalculateCostResponse: $ref: './schemas/management/logging.yaml#/RecalculateCostResponse' # Cache ClearCacheResponse: $ref: './schemas/management/cache.yaml#/ClearCacheResponse'