Update configured model
models_updateUpdates a configured model's settings and returns the updated model; omitted fields keep their values. Agents already using the model pick up the change on their next model call. The update isn't checked against project grants or agent configs, so lowering a limit below their overrides or turning off tools or reasoning they rely on makes those agents' next model call fail.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not. | |
| orgID | Yes | Organization ID (org_...). | |
| supports_tools | No | 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. | |
| input_modalities | No | Input types this configured model accepts. Omnara recognizes text, image, and file; an empty list leaves capabilities unspecified. | |
| configuredModelID | Yes | Configured model ID (mdl_...). | |
| max_output_tokens | No | Known output-token ceiling for this model. Omitted keeps the current value. Null clears it to unknown for every API format. | |
| output_modalities | No | Output types this configured model can return. Omnara currently consumes text output. | |
| supports_reasoning | No | 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. | |
| api_variant_options | No | 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. | |
| provider_model_slug | No | Exact provider model slug sent to the provider endpoint. Free-pool, `:online`, and preset model ids are not accepted on Omnara-managed OpenRouter providers. | |
| context_window_tokens | No | Context budget for input and output tokens. Triggers compaction when estimated input exceeds the remaining budget after output and safety reserves. The turn fails if compaction cannot make it fit. | |
| modelProviderConfigID | Yes | Model provider config ID (mpc_...). | |
| default_cache_retention | No | 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. | |
| default_reasoning_effort | No | 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. | |
| default_max_output_tokens | No | 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. | |
| supported_reasoning_efforts | No | Reasoning effort values this configured model accepts. Requires supports_reasoning=true when non-empty. |