Skip to main content
PUT
Update configured model

Authorizations

Authorization
string
header
required

An opaque Omnara personal or organization bearer token.

Path Parameters

orgID
string
required
Pattern: ^org_[a-z2-7]{26}$
modelProviderConfigID
string
required
Pattern: ^mpc_[a-z2-7]{26}$
configuredModelID
string
required
Pattern: ^mdl_[a-z2-7]{26}$

Body

application/json

Update a configured model. Omitted fields keep their current values. Runtime changes create a new immutable model revision; changing only name just renames the model.

name
string

User-assigned configured model name used by agent YAML as model.name. Renaming affects future YAML resolution but does not change existing agents.

Required string length: 1 - 64
provider_model_slug
string

Exact provider model slug sent to the provider endpoint. Free-pool, :online, and preset model ids are not accepted on Omnara-managed OpenRouter providers.

Minimum string length: 1
context_window_tokens
integer

Total token window for this model, including input and output.

Required range: 2 <= x <= 2147483647
max_output_tokens
integer | null

Known output-token ceiling for this model. Omitted keeps the current value. Null clears it to unknown for every API format.

Required range: 1 <= x <= 2147483647
default_max_output_tokens
integer | null

Optional per-request output allowance unless a project or agent overrides it. Without a default or known ceiling, Messages uses 64000 tokens; other formats omit the allowance.

Required range: 1 <= x <= 2147483647
default_cache_retention
enum<string>

Prompt-cache preference for model requests; short when omitted. short applies the route's default caching (explicit cache breakpoints where the provider requires them) and, where the route accepts one, a stable conversation key for cache-aware routing. long prefers the route's extended cache lifetime where one exists (currently Anthropic's one-hour cache, which on Bedrock requires Claude 4.5 or newer) and behaves like short elsewhere. none sends no Omnara-managed cache controls or conversation key; providers may still cache prefixes on their own.

Available options:
none,
short,
long
supports_tools
boolean

Whether this configured model can receive tool definitions and emit tool calls. Agent configs with enabled tools are rejected when this is false. Omitted keeps the current value.

supports_reasoning
boolean

Whether Omnara should use this model's reasoning features. For OpenAI Responses, this also enables encrypted reasoning replay for stateless calls. Omitted keeps the current value.

default_reasoning_effort
string

Default reasoning effort to send for models/API formats that support effort-style reasoning controls. Requires supports_reasoning=true. When supported_reasoning_efforts is present, this value must be listed there.

supported_reasoning_efforts
string[]

Reasoning effort values this configured model accepts. Requires supports_reasoning=true when non-empty.

input_modalities
string[]

Input types this configured model accepts. Omnara recognizes text, image, and file; an empty list leaves capabilities unspecified.

output_modalities
string[]

Output types this configured model can return. Omnara currently consumes text output.

api_variant_options
object

Extra top-level JSON fields to include in provider requests for this configured model. Use this for provider-specific settings that Omnara does not expose as typed fields, such as OpenRouter provider routing or sampling parameters. Omnara still controls the fields it needs to run the agent correctly, including the model, prompt/messages, streaming, tools, output-token limit, and selected reasoning policy. Provider passthrough values for those fields are ignored. For OpenRouter routing options, see https://openrouter.ai/docs/guides/routing/provider-selection and general request parameters at https://openrouter.ai/docs/api/reference/parameters. Omnara-managed OpenRouter providers accept only sampling, reasoning, and per-model routing options here.

Response

Route response.

id
string
required
Pattern: ^mdl_[a-z2-7]{26}$
org_id
string
required
Pattern: ^org_[a-z2-7]{26}$
model_provider_config_id
string
required
Pattern: ^mpc_[a-z2-7]{26}$
management_kind
enum<string>
required

Lifecycle owner. Tenant-managed resources can be changed through tenant APIs. Cluster-managed resources are installed and lifecycle-managed by the control plane; individual APIs may explicitly expose tenant-editable settings.

Available options:
tenant,
cluster
name
string
required

User-assigned configured model name used by agent YAML as model.name.

Required string length: 1 - 64
current_revision_id
string
required
Pattern: ^mrev_[a-z2-7]{26}$
provider_model_slug
string
required

Exact provider model slug sent to the provider endpoint by the current revision.

context_window_tokens
integer
required

Total token window for this model, including input and output.

max_output_tokens
integer | null
required

Known output-token ceiling for this model, or null when unknown.

supports_tools
boolean
required

Whether this configured model can receive tool definitions and emit tool calls.

supports_reasoning
boolean
required

Whether Omnara should use this model's reasoning features.

default_reasoning_effort
string
required

Default reasoning effort to send for models/API formats that support effort-style reasoning controls.

supported_reasoning_efforts
string[]
required

Reasoning effort values this configured model accepts.

input_modalities
string[]
required

Input types this configured model accepts. Omnara recognizes text, image, and file; an empty list leaves capabilities unspecified.

output_modalities
string[]
required

Output types this configured model can return.

api_variant_options
object
required

Extra top-level JSON fields to include in provider requests for this configured model. Use this for provider-specific settings that Omnara does not expose as typed fields, such as OpenRouter provider routing or sampling parameters. Omnara still controls the fields it needs to run the agent correctly, including the model, prompt/messages, streaming, tools, output-token limit, and selected reasoning policy. Provider passthrough values for those fields are ignored. For OpenRouter routing options, see https://openrouter.ai/docs/guides/routing/provider-selection and general request parameters at https://openrouter.ai/docs/api/reference/parameters. Omnara-managed OpenRouter providers accept only sampling, reasoning, and per-model routing options here.

created_at
string<date-time>
required
updated_at
string<date-time>
required
revision_created_at
string<date-time>
required
default_max_output_tokens
integer | null

Default per-request output-token cap sent to the provider unless an agent config overrides it.

default_cache_retention
enum<string>

Prompt-cache preference for model requests; short when omitted. short applies the route's default caching (explicit cache breakpoints where the provider requires them) and, where the route accepts one, a stable conversation key for cache-aware routing. long prefers the route's extended cache lifetime where one exists (currently Anthropic's one-hour cache, which on Bedrock requires Claude 4.5 or newer) and behaves like short elsewhere. none sends no Omnara-managed cache controls or conversation key; providers may still cache prefixes on their own.

Available options:
none,
short,
long