Skip to main content
PUT
Update a provider

Authorizations

Authorization
string
header
required

JWT obtained through Barndoor's authentication flow. Pass the token verbatim in Authorization: Bearer <token>. Use the Barndoor SDK's loginInteractive() helper to obtain a token in scripts and notebooks.

Path Parameters

id
string<uuid>
required

Provider UUID

Body

application/json

All fields optional. connection_id supports an explicit null value to detach the provider from a shared credential and switch it back to a direct API key (which must be provided in the same request via api_key or credentials).

name
string
base_url
string
auth_type
string

The authentication scheme this credential or provider uses to talk to the upstream model provider. Valid values depend on model_provider: for OpenAI/Anthropic-style vendors this is typically api_key; for AWS Bedrock it is one of aws_role, aws_keys, or bedrock_api_key; for Google Vertex it is google_adc, google_service_account, or google_impersonation; Anthropic OAuth passthrough uses oauth_passthrough.

Example:

"api_key"

api_key
string<password>
credentials
object
enabled
boolean
settings
object
connection_id
string<uuid> | null
request_timeout_secs
integer | null
Required range: 1 <= x <= 3600
stream_idle_timeout_secs
integer | null
Required range: 1 <= x <= 1800

Response

The updated provider

A named upstream provider backed by a credential and a model family.

id
string<uuid>
required
org_id
string<uuid>
required
name
string
required
Example:

"OpenAI Production (US)"

model_provider
enum<string>
required

Slug of the upstream model provider this resource speaks to

Available options:
openai,
anthropic,
azure_openai,
google_ai,
bedrock,
vertex,
groq,
together,
mistral,
cohere,
xai,
fireworks,
perplexity,
openrouter,
deepseek,
custom
Example:

"openai"

auth_type
string
required

The authentication scheme this credential or provider uses to talk to the upstream model provider. Valid values depend on model_provider: for OpenAI/Anthropic-style vendors this is typically api_key; for AWS Bedrock it is one of aws_role, aws_keys, or bedrock_api_key; for Google Vertex it is google_adc, google_service_account, or google_impersonation; Anthropic OAuth passthrough uses oauth_passthrough.

Example:

"api_key"

base_url
string<uri>
required
enabled
boolean
default:true
required
settings
object
required
catalog_id
string<uuid> | null

Reference to a built-in provider catalog template, if used

connection_id
string<uuid> | null

Reference to a shared Credentials record, if any

request_timeout_secs
integer | null

Provider-tier total-request timeout override. When null (the default) the gateway inherits the platform default. Affects every route served by this provider unless a more specific Model Route value overrides it.

Required range: 1 <= x <= 3600
stream_idle_timeout_secs
integer | null

Maximum allowed idle gap between streamed response chunks. null inherits the platform default.

Required range: 1 <= x <= 1800
catalog_slug
string | null

Catalog slug shorthand used in some response listings