Skip to main content
PUT
/
admin
/
model-mappings
/
{id}
Update a model route
curl --request PUT \
  --url https://{organization_id}.platform.barndoor.ai/api/llm-gateway/admin/model-mappings/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model_alias": "<string>",
  "upstream_model": "<string>",
  "enabled": true,
  "priority": 123,
  "retry_on_429_count": 5,
  "retry_on_429_max_wait_secs": 90,
  "bare_alias": true,
  "stream_idle_timeout_secs": 123,
  "max_concurrent_requests": 123,
  "request_timeout_secs": 123
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "model_alias": "gpt-4o-mini",
  "upstream_model": "gpt-4o-mini-2024-07-18",
  "enabled": true,
  "priority": 123,
  "retry_on_429_count": 5,
  "retry_on_429_max_wait_secs": 90,
  "bare_alias": true,
  "provider_name": "<string>",
  "stream_idle_timeout_secs": 900,
  "max_concurrent_requests": 5000,
  "request_timeout_secs": 1800,
  "budget_status": {
    "scope": "org",
    "target_id": "<string>",
    "budget_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "budget_name": "<string>",
    "period": "monthly",
    "usage": 123,
    "limit": 123
  }
}

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

Model route UUID

Body

application/json

All fields optional. Send only the fields you want to change.

model_alias
string
upstream_model
string
enabled
boolean
priority
integer
retry_on_429_count
integer
Required range: 0 <= x <= 10
retry_on_429_max_wait_secs
integer
Required range: 0 <= x <= 180
bare_alias
boolean
stream_idle_timeout_secs
integer | null
max_concurrent_requests
integer | null
request_timeout_secs
integer | null

Response

The updated route

A Model Route maps a client-facing alias to a specific provider and upstream model. One alias may have multiple routes; the gateway tries them in priority order and fails over on upstream errors.

id
string<uuid>
required
provider_id
string<uuid>
required
model_alias
string
required
Example:

"gpt-4o-mini"

upstream_model
string
required
Example:

"gpt-4o-mini-2024-07-18"

enabled
boolean
required
priority
integer
required

Lower numbers are tried first within the same alias

retry_on_429_count
integer
required

Same-route retries on upstream 429 before failing over

Required range: 0 <= x <= 10
retry_on_429_max_wait_secs
integer
required

Cap on honoring upstream Retry-After (0 = use small built-in default)

Required range: 0 <= x <= 180
bare_alias
boolean
required

When true the route participates in plain-alias resolution (e.g. model: "gpt-4o-mini"). When false it is only addressable as <provider>/<upstream-model>.

provider_name
string

Present on cross-provider listings

stream_idle_timeout_secs
integer | null
Required range: 1 <= x <= 1800
max_concurrent_requests
integer | null

Cap on in-flight requests per gateway pod against this route

Required range: 1 <= x <= 10000
request_timeout_secs
integer | null
Required range: 1 <= x <= 3600
budget_status
object

Present (and only present) when one of this route's targeted budgets with action_on_exhaust = block is currently exhausted. The runtime drops this route until the budget rolls over.