1253 lines
50 KiB
YAML
1253 lines
50 KiB
YAML
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'
|