Files
bifrost/docs/openapi/paths/management/providers.yaml
Beyhan Oğur 880f412e2c first commit
2026-04-26 21:52:23 +03:00

513 lines
14 KiB
YAML

providers:
get:
operationId: listProviders
summary: List all providers
description: Returns a list of all configured providers with their configurations and status.
tags:
- Providers
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/ListProvidersResponse'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
post:
operationId: addProvider
summary: Add a new provider
description: Adds a new provider with the specified configuration.
tags:
- Providers
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/AddProviderRequest'
responses:
'200':
description: Provider added successfully
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/ProviderResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'409':
description: Provider already exists
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
providers-by-name:
get:
operationId: getProvider
summary: Get a specific provider
description: Returns the configuration for a specific provider.
tags:
- Providers
parameters:
- name: provider
in: path
required: true
description: Provider name
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/ProviderResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'404':
description: Provider not found
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
put:
operationId: updateProvider
summary: Update a provider
description: |
Updates a provider's configuration. Expects ALL fields to be provided,
including both edited and non-edited fields. Partial updates are not supported.
tags:
- Providers
parameters:
- name: provider
in: path
required: true
description: Provider name
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/UpdateProviderRequest'
responses:
'200':
description: Provider updated successfully
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/ProviderResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
delete:
operationId: deleteProvider
summary: Delete a provider
description: Removes a provider from the configuration.
tags:
- Providers
parameters:
- name: provider
in: path
required: true
description: Provider name
schema:
type: string
responses:
'200':
description: Provider deleted successfully
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/ProviderResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'404':
description: Provider not found
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
provider-keys:
get:
operationId: listProviderKeys
summary: List keys for a provider
description: Returns all keys configured for a specific provider.
tags:
- Providers
parameters:
- name: provider
in: path
required: true
description: Provider name
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/ListProviderKeysResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'404':
description: Provider not found
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
post:
operationId: createProviderKey
summary: Create a key for a provider
description: |
Creates a new API key for the specified provider. The key `id` is auto-generated
if omitted. `enabled` defaults to `true` if omitted. `value` is required and must
not be empty. Keys cannot be created on keyless providers.
tags:
- Providers
parameters:
- name: provider
in: path
required: true
description: Provider name
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/Key'
responses:
'200':
description: Key created successfully
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/Key'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'404':
description: Provider not found
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
'409':
description: Key ID already exists
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
provider-key-by-id:
get:
operationId: getProviderKey
summary: Get a specific key for a provider
description: Returns a single key for the specified provider.
tags:
- Providers
parameters:
- name: provider
in: path
required: true
description: Provider name
schema:
type: string
- name: key_id
in: path
required: true
description: Key ID
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/Key'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'404':
description: Provider or key not found
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
put:
operationId: updateProviderKey
summary: Update a key for a provider
description: |
Updates an existing key. Send the full key object. Redacted values sent back
unchanged are automatically preserved (the server merges them with the stored
raw values).
tags:
- Providers
parameters:
- name: provider
in: path
required: true
description: Provider name
schema:
type: string
- name: key_id
in: path
required: true
description: Key ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/Key'
responses:
'200':
description: Key updated successfully
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/Key'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'404':
description: Provider or key not found
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
delete:
operationId: deleteProviderKey
summary: Delete a key from a provider
description: Deletes a key from the specified provider. Returns the deleted key.
tags:
- Providers
parameters:
- name: provider
in: path
required: true
description: Provider name
schema:
type: string
- name: key_id
in: path
required: true
description: Key ID
schema:
type: string
responses:
'200':
description: Key deleted successfully
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/Key'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'404':
description: Provider or key not found
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
keys:
get:
operationId: listKeys
summary: List all keys
description: Returns a list of all configured API keys across all providers.
tags:
- Providers
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: '../../schemas/management/providers.yaml#/Key'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
models:
get:
operationId: listModelsManagement
summary: List models
description: |
Lists available models with optional filtering by query, provider, or keys.
tags:
- Providers
parameters:
- name: query
in: query
description: Filter models by name (case-insensitive partial match)
schema:
type: string
- name: provider
in: query
description: Filter by specific provider name
schema:
type: string
- name: keys
in: query
description: Comma-separated list of key IDs to filter models accessible by those keys
style: form
explode: false
schema:
type: array
items:
type: string
- name: limit
in: query
description: Maximum number of results to return (default 5)
schema:
type: integer
default: 5
- name: unfiltered
in: query
description: If true, return all models including those filtered out by provider-level restrictions
schema:
type: boolean
default: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/ListModelsResponse'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
models-details:
get:
operationId: listModelDetailsManagement
summary: List model details
description: |
Lists available models with capability metadata, when available from the model catalog, with optional filtering by query, provider, or keys.
tags:
- Providers
parameters:
- name: query
in: query
description: Filter models by name (case-insensitive partial match)
schema:
type: string
- name: provider
in: query
description: Filter by specific provider name
schema:
type: string
- name: keys
in: query
description: Comma-separated list of key IDs to filter models accessible by those keys
style: form
explode: false
schema:
type: array
items:
type: string
- name: limit
in: query
description: Maximum number of results to return (default 20)
schema:
type: integer
default: 20
- name: unfiltered
in: query
description: If true, return all models including those filtered out by provider-level restrictions
schema:
type: boolean
default: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/management/providers.yaml#/ListModelDetailsResponse'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
models-parameters:
get:
operationId: getModelParameters
summary: Get model parameters
description: Returns the available parameter definitions for models.
tags:
- Providers
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
additionalProperties: true
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
models-base:
get:
operationId: listBaseModels
summary: List base models
description: Returns a list of base models from the model catalog.
tags:
- Providers
parameters:
- name: query
in: query
description: Filter models by name
schema:
type: string
- name: provider
in: query
description: Filter by provider
schema:
type: string
- name: limit
in: query
description: Maximum number of results to return
schema:
type: integer
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
additionalProperties: true
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'