491 lines
12 KiB
YAML
491 lines
12 KiB
YAML
# Providers API schemas
|
|
|
|
ProviderStatus:
|
|
type: string
|
|
enum: [active, error, deleted]
|
|
description: Status of the provider
|
|
|
|
NetworkConfig:
|
|
type: object
|
|
description: Network configuration for provider connections
|
|
properties:
|
|
base_url:
|
|
type: string
|
|
description: Base URL for the provider (optional)
|
|
extra_headers:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
description: Additional headers to include in requests
|
|
default_request_timeout_in_seconds:
|
|
type: integer
|
|
description: Default timeout for requests
|
|
max_retries:
|
|
type: integer
|
|
description: Maximum number of retries
|
|
retry_backoff_initial:
|
|
type: integer
|
|
format: int64
|
|
description: Initial backoff duration in milliseconds
|
|
retry_backoff_max:
|
|
type: integer
|
|
format: int64
|
|
description: Maximum backoff duration in milliseconds
|
|
insecure_skip_verify:
|
|
type: boolean
|
|
description: Disable TLS certificate verification for provider connections. This bypasses server certificate validation and should be used only as a last resort when a trusted CA chain cannot be configured. Prefer ca_cert_pem for self-signed or private CA deployments.
|
|
ca_cert_pem:
|
|
type: string
|
|
description: PEM-encoded CA certificate to trust for provider endpoint connections (e.g. self-signed or internal CA)
|
|
|
|
ConcurrencyAndBufferSize:
|
|
type: object
|
|
description: Concurrency settings
|
|
properties:
|
|
concurrency:
|
|
type: integer
|
|
description: Number of concurrent operations
|
|
buffer_size:
|
|
type: integer
|
|
description: Size of the buffer
|
|
|
|
ProxyConfig:
|
|
type: object
|
|
description: Proxy configuration
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum: [none, http, socks5, environment]
|
|
url:
|
|
type: string
|
|
username:
|
|
type: string
|
|
password:
|
|
type: string
|
|
ca_cert_pem:
|
|
type: string
|
|
|
|
AzureKeyConfig:
|
|
type: object
|
|
description: Azure-specific key configuration
|
|
properties:
|
|
endpoint:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
api_version:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
client_id:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
client_secret:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
tenant_id:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of scopes to use for authentication
|
|
|
|
VertexKeyConfig:
|
|
type: object
|
|
description: Vertex-specific key configuration
|
|
properties:
|
|
project_id:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
project_number:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
region:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
auth_credentials:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
|
|
BedrockKeyConfig:
|
|
type: object
|
|
description: AWS Bedrock-specific key configuration
|
|
properties:
|
|
access_key:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
secret_key:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
session_token:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
region:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
arn:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
batch_s3_config:
|
|
type: object
|
|
properties:
|
|
buckets:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
bucket_name:
|
|
type: string
|
|
prefix:
|
|
type: string
|
|
is_default:
|
|
type: boolean
|
|
|
|
VllmKeyConfig:
|
|
type: object
|
|
description: VLLM-specific key configuration
|
|
properties:
|
|
url:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
model_name:
|
|
type: string
|
|
required:
|
|
- url
|
|
|
|
OllamaKeyConfig:
|
|
type: object
|
|
description: Ollama-specific key configuration
|
|
properties:
|
|
url:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
required:
|
|
- url
|
|
|
|
ReplicateKeyConfig:
|
|
type: object
|
|
description: Replicate-specific key configuration
|
|
properties:
|
|
use_deployments_endpoint:
|
|
type: boolean
|
|
description: Whether to use the deployments endpoint instead of the models endpoint
|
|
|
|
SglKeyConfig:
|
|
type: object
|
|
description: SGLang-specific key configuration
|
|
properties:
|
|
url:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
required:
|
|
- url
|
|
|
|
VLLMKeyConfig:
|
|
type: object
|
|
description: vLLM-specific key configuration for per-key routing to different vLLM instances
|
|
properties:
|
|
url:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
description: vLLM server base URL (required)
|
|
model_name:
|
|
type: string
|
|
description: Exact model name served on this vLLM instance
|
|
|
|
VLLMKeyConfig:
|
|
type: object
|
|
description: vLLM-specific key configuration for per-key routing to different vLLM instances
|
|
properties:
|
|
url:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
description: vLLM server base URL (required)
|
|
model_name:
|
|
type: string
|
|
description: Exact model name served on this vLLM instance
|
|
|
|
Key:
|
|
type: object
|
|
description: API key configuration
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: Unique identifier for the key
|
|
name:
|
|
type: string
|
|
description: Name of the key
|
|
value:
|
|
$ref: '../../schemas/management/common.yaml#/EnvVar'
|
|
description: API key value (redacted in responses)
|
|
models:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of models this key can access (whitelist)
|
|
blacklisted_models:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of models this key cannot access (blacklist)
|
|
weight:
|
|
type: number
|
|
description: Weight for load balancing
|
|
aliases:
|
|
type: object
|
|
propertyNames:
|
|
minLength: 1
|
|
additionalProperties:
|
|
type: string
|
|
minLength: 1
|
|
description: Model alias mappings — maps a user-facing model name to a provider-specific identifier (deployment name, inference profile ID, fine-tuned model ID, etc.)
|
|
azure_key_config:
|
|
$ref: '#/AzureKeyConfig'
|
|
vertex_key_config:
|
|
$ref: '#/VertexKeyConfig'
|
|
bedrock_key_config:
|
|
$ref: '#/BedrockKeyConfig'
|
|
vllm_key_config:
|
|
$ref: '#/VllmKeyConfig'
|
|
ollama_key_config:
|
|
$ref: '#/OllamaKeyConfig'
|
|
sgl_key_config:
|
|
$ref: '#/SglKeyConfig'
|
|
replicate_key_config:
|
|
$ref: '#/ReplicateKeyConfig'
|
|
enabled:
|
|
type: boolean
|
|
description: Whether the key is active (defaults to true)
|
|
use_for_batch_api:
|
|
type: boolean
|
|
description: Whether this key can be used for batch API operations
|
|
config_hash:
|
|
type: string
|
|
description: Hash of config.json version, used for change detection
|
|
status:
|
|
type: string
|
|
description: Status of key (e.g., success, list_models_failed)
|
|
description:
|
|
type: string
|
|
description: Error or status description for the key
|
|
|
|
AllowedRequests:
|
|
type: object
|
|
description: Allowed request types for custom providers
|
|
properties:
|
|
list_models:
|
|
type: boolean
|
|
text_completion:
|
|
type: boolean
|
|
text_completion_stream:
|
|
type: boolean
|
|
chat_completion:
|
|
type: boolean
|
|
chat_completion_stream:
|
|
type: boolean
|
|
responses:
|
|
type: boolean
|
|
responses_stream:
|
|
type: boolean
|
|
count_tokens:
|
|
type: boolean
|
|
embedding:
|
|
type: boolean
|
|
speech:
|
|
type: boolean
|
|
speech_stream:
|
|
type: boolean
|
|
transcription:
|
|
type: boolean
|
|
transcription_stream:
|
|
type: boolean
|
|
image_generation:
|
|
type: boolean
|
|
image_generation_stream:
|
|
type: boolean
|
|
batch_create:
|
|
type: boolean
|
|
batch_list:
|
|
type: boolean
|
|
batch_retrieve:
|
|
type: boolean
|
|
batch_cancel:
|
|
type: boolean
|
|
batch_results:
|
|
type: boolean
|
|
file_upload:
|
|
type: boolean
|
|
file_list:
|
|
type: boolean
|
|
file_retrieve:
|
|
type: boolean
|
|
file_delete:
|
|
type: boolean
|
|
file_content:
|
|
type: boolean
|
|
|
|
CustomProviderConfig:
|
|
type: object
|
|
description: Custom provider configuration
|
|
properties:
|
|
is_key_less:
|
|
type: boolean
|
|
base_provider_type:
|
|
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
|
|
allowed_requests:
|
|
$ref: '#/AllowedRequests'
|
|
request_path_overrides:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
|
|
ProviderResponse:
|
|
type: object
|
|
description: Provider configuration response
|
|
properties:
|
|
name:
|
|
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
|
|
network_config:
|
|
$ref: '#/NetworkConfig'
|
|
concurrency_and_buffer_size:
|
|
$ref: '#/ConcurrencyAndBufferSize'
|
|
proxy_config:
|
|
$ref: '#/ProxyConfig'
|
|
send_back_raw_request:
|
|
type: boolean
|
|
send_back_raw_response:
|
|
type: boolean
|
|
store_raw_request_response:
|
|
type: boolean
|
|
custom_provider_config:
|
|
$ref: '#/CustomProviderConfig'
|
|
provider_status:
|
|
$ref: '#/ProviderStatus'
|
|
status:
|
|
type: string
|
|
description: Operational status (e.g., list_models_failed)
|
|
description:
|
|
type: string
|
|
description: Error/status description
|
|
config_hash:
|
|
type: string
|
|
description: Hash of config.json version, used for change detection
|
|
|
|
ListProvidersResponse:
|
|
type: object
|
|
description: List providers response
|
|
properties:
|
|
providers:
|
|
type: array
|
|
items:
|
|
$ref: '#/ProviderResponse'
|
|
total:
|
|
type: integer
|
|
|
|
AddProviderRequest:
|
|
type: object
|
|
description: Add provider request. Keys are managed separately via /api/providers/{provider}/keys.
|
|
required:
|
|
- provider
|
|
properties:
|
|
provider:
|
|
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
|
|
network_config:
|
|
$ref: '#/NetworkConfig'
|
|
concurrency_and_buffer_size:
|
|
$ref: '#/ConcurrencyAndBufferSize'
|
|
proxy_config:
|
|
$ref: '#/ProxyConfig'
|
|
send_back_raw_request:
|
|
type: boolean
|
|
send_back_raw_response:
|
|
type: boolean
|
|
store_raw_request_response:
|
|
type: boolean
|
|
custom_provider_config:
|
|
$ref: '#/CustomProviderConfig'
|
|
|
|
UpdateProviderRequest:
|
|
type: object
|
|
description: Update provider request. Keys are managed separately via /api/providers/{provider}/keys.
|
|
properties:
|
|
network_config:
|
|
$ref: '#/NetworkConfig'
|
|
concurrency_and_buffer_size:
|
|
$ref: '#/ConcurrencyAndBufferSize'
|
|
proxy_config:
|
|
$ref: '#/ProxyConfig'
|
|
send_back_raw_request:
|
|
type: boolean
|
|
send_back_raw_response:
|
|
type: boolean
|
|
store_raw_request_response:
|
|
type: boolean
|
|
custom_provider_config:
|
|
$ref: '#/CustomProviderConfig'
|
|
|
|
ListProviderKeysResponse:
|
|
type: object
|
|
description: Response for listing keys for a provider
|
|
properties:
|
|
keys:
|
|
type: array
|
|
items:
|
|
$ref: '#/Key'
|
|
total:
|
|
type: integer
|
|
|
|
ModelResponse:
|
|
type: object
|
|
description: Model information
|
|
properties:
|
|
name:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
accessible_by_keys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
Architecture:
|
|
type: object
|
|
properties:
|
|
modality:
|
|
type: string
|
|
tokenizer:
|
|
type: string
|
|
instruct_type:
|
|
type: string
|
|
input_modalities:
|
|
type: array
|
|
items:
|
|
type: string
|
|
output_modalities:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
ModelDetailsResponse:
|
|
type: object
|
|
description: Model details with capability metadata
|
|
properties:
|
|
name:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
context_length:
|
|
type: integer
|
|
max_input_tokens:
|
|
type: integer
|
|
max_output_tokens:
|
|
type: integer
|
|
architecture:
|
|
$ref: '#/Architecture'
|
|
accessible_by_keys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
ListModelsResponse:
|
|
type: object
|
|
description: List models response
|
|
properties:
|
|
models:
|
|
type: array
|
|
items:
|
|
$ref: '#/ModelResponse'
|
|
total:
|
|
type: integer
|
|
|
|
ListModelDetailsResponse:
|
|
type: object
|
|
description: List model details response
|
|
properties:
|
|
models:
|
|
type: array
|
|
items:
|
|
$ref: '#/ModelDetailsResponse'
|
|
total:
|
|
type: integer |