Models

Create configured model

Changed on
post/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}/models

Request

  • Base URL: https://api.omnara.com/v1
  • URL: https://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}/models
  • Auth: one of:
    • HTTP bearer
    • API key in cookie __Host-omnara_session and API key in header X-Omnara-Csrf

Request body

namestring required

Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.

provider_model_slugstring required

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_tokensinteger required

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

max_output_tokensinteger

Optional known output-token ceiling. Omitted capacity remains unknown; selecting a discovered model can supply its published ceiling. Explicit values must not exceed the provider's supported limit.

default_max_output_tokensinteger

Optional normal per-request output allowance. Discovery never populates this field. When omitted, requests use the known output ceiling. If both are absent, Messages uses 64000 tokens; other formats omit the allowance. Runtime allowances are fitted to available context.

default_cache_retention'none' | 'short' | 'long'

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.

supports_toolsboolean

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

supports_reasoningboolean

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

default_reasoning_effortstring

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_effortsstring[]

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

input_modalitiesstring[]

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

output_modalitiesstring[]

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

api_variant_optionsModelAPIVariantOptions

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

Created route response.

idstring required
org_idstring required
model_provider_config_idstring required
management_kind'tenant' | 'cluster' 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.

namestring required

Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.

current_revision_idstring required
provider_model_slugstring required

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

context_window_tokensinteger required

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

max_output_tokensinteger nullable required

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

default_max_output_tokensinteger nullable

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

default_cache_retention'none' | 'short' | 'long'

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.

supports_toolsboolean required

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

supports_reasoningboolean required

Whether Omnara should use this model's reasoning features.

default_reasoning_effortstring required

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

supported_reasoning_effortsstring[] required

Reasoning effort values this configured model accepts.

input_modalitiesstring[] required

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

output_modalitiesstring[] required

Output types this configured model can return.

api_variant_optionsModelAPIVariantOptions 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_atstring date-time required
updated_atstring date-time required
revision_created_atstring date-time required

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      removed the authentication_unavailable enum value from the response property for the response status

    • info

      removed the authentication_unavailable enum value from the response property for the response status

    • info

      removed the authentication_unavailable enum value from the response property for the response status

    • info

      removed the authentication_unavailable enum value from the response property for the response status

    • info

      removed the authentication_unavailable enum value from the response property for the response status

    • info

      removed the authentication_unavailable enum value from the response property for the response status

    • info

      removed the authentication_unavailable enum value from the response property for the response status

    • info

      removed the conflict enum value from the response property for the response status

    • info

      removed the conflict enum value from the response property for the response status

    • info

      removed the conflict enum value from the response property for the response status

    • info

      removed the conflict enum value from the response property for the response status

    • info

      removed the conflict enum value from the response property for the response status

    • info

      removed the conflict enum value from the response property for the response status

    • info

      removed the conflict enum value from the response property for the response status

    • info

      removed the csrf_check_failed enum value from the response property for the response status

    • info

      removed the csrf_check_failed enum value from the response property for the response status

    • info

      removed the csrf_check_failed enum value from the response property for the response status

    • info

      removed the csrf_check_failed enum value from the response property for the response status

    • info

      removed the csrf_check_failed enum value from the response property for the response status

    • info

      removed the csrf_check_failed enum value from the response property for the response status

    • info

      removed the csrf_check_failed enum value from the response property for the response status

    • info

      removed the daemon_runtime_unregistered enum value from the response property for the response status

    • info

      removed the daemon_runtime_unregistered enum value from the response property for the response status

    • info

      removed the daemon_runtime_unregistered enum value from the response property for the response status

    • info

      removed the daemon_runtime_unregistered enum value from the response property for the response status

    • info

      removed the daemon_runtime_unregistered enum value from the response property for the response status

    • info

      removed the daemon_runtime_unregistered enum value from the response property for the response status

    • info

      removed the daemon_runtime_unregistered enum value from the response property for the response status

    • info

      removed the forbidden enum value from the response property for the response status

    • info

      removed the forbidden enum value from the response property for the response status

    • info

      removed the forbidden enum value from the response property for the response status

    • info

      removed the forbidden enum value from the response property for the response status

    • info

      removed the forbidden enum value from the response property for the response status

    • info

      removed the forbidden enum value from the response property for the response status

    • info

      removed the forbidden enum value from the response property for the response status

    • info

      removed the gone enum value from the response property for the response status

    • info

      removed the gone enum value from the response property for the response status

    • info

      removed the gone enum value from the response property for the response status

    • info

      removed the gone enum value from the response property for the response status

    • info

      removed the gone enum value from the response property for the response status

    • info

      removed the gone enum value from the response property for the response status

    • info

      removed the gone enum value from the response property for the response status

    • info

      removed the idempotency_key_conflict enum value from the response property for the response status

    • info

      removed the idempotency_key_conflict enum value from the response property for the response status

    • info

      removed the idempotency_key_conflict enum value from the response property for the response status

    • info

      removed the idempotency_key_conflict enum value from the response property for the response status

    • info

      removed the idempotency_key_conflict enum value from the response property for the response status

    • info

      removed the idempotency_key_conflict enum value from the response property for the response status

    • info

      removed the idempotency_key_conflict enum value from the response property for the response status

    • info

      removed the internal_error enum value from the response property for the response status

    • info

      removed the internal_error enum value from the response property for the response status

    • info

      removed the internal_error enum value from the response property for the response status

    • info

      removed the internal_error enum value from the response property for the response status

    • info

      removed the internal_error enum value from the response property for the response status

    • info

      removed the internal_error enum value from the response property for the response status

    • info

      removed the internal_error enum value from the response property for the response status

    • info

      removed the invalid_request enum value from the response property for the response status

    • info

      removed the invalid_request enum value from the response property for the response status

    • info

      removed the invalid_request enum value from the response property for the response status

    • info

      removed the invalid_request enum value from the response property for the response status

    • info

      removed the invalid_request enum value from the response property for the response status

    • info

      removed the invalid_request enum value from the response property for the response status

    • info

      removed the invalid_request enum value from the response property for the response status

    • info

      removed the managed_work_admission_denied enum value from the response property for the response status

    • info

      removed the managed_work_admission_denied enum value from the response property for the response status

    • info

      removed the managed_work_admission_denied enum value from the response property for the response status

    • info

      removed the managed_work_admission_denied enum value from the response property for the response status

    • info

      removed the managed_work_admission_denied enum value from the response property for the response status

    • info

      removed the managed_work_admission_denied enum value from the response property for the response status

    • info

      removed the not_found enum value from the response property for the response status

    • info

      removed the not_found enum value from the response property for the response status

    • info

      removed the not_found enum value from the response property for the response status

    • info

      removed the not_found enum value from the response property for the response status

    • info

      removed the not_found enum value from the response property for the response status

    • info

      removed the not_found enum value from the response property for the response status

    • info

      removed the not_found enum value from the response property for the response status

    • info

      removed the not_wake_capable enum value from the response property for the response status

    • info

      removed the not_wake_capable enum value from the response property for the response status

    • info

      removed the not_wake_capable enum value from the response property for the response status

    • info

      removed the not_wake_capable enum value from the response property for the response status

    • info

      removed the not_wake_capable enum value from the response property for the response status

    • info

      removed the not_wake_capable enum value from the response property for the response status

    • info

      removed the not_wake_capable enum value from the response property for the response status

    • info

      removed the pending_work enum value from the response property for the response status

    • info

      removed the pending_work enum value from the response property for the response status

    • info

      removed the pending_work enum value from the response property for the response status

    • info

      removed the pending_work enum value from the response property for the response status

    • info

      removed the pending_work enum value from the response property for the response status

    • info

      removed the pending_work enum value from the response property for the response status

    • info

      removed the pending_work enum value from the response property for the response status

    • info

      removed the rate_limited enum value from the response property for the response status

    • info

      removed the rate_limited enum value from the response property for the response status

    • info

      removed the rate_limited enum value from the response property for the response status

    • info

      removed the rate_limited enum value from the response property for the response status

    • info

      removed the rate_limited enum value from the response property for the response status

    • info

      removed the rate_limited enum value from the response property for the response status

    • info

      removed the rate_limited enum value from the response property for the response status

    • info

      removed the request_too_large enum value from the response property for the response status

    • info

      removed the request_too_large enum value from the response property for the response status

    • info

      removed the request_too_large enum value from the response property for the response status

    • info

      removed the request_too_large enum value from the response property for the response status

    • info

      removed the request_too_large enum value from the response property for the response status

    • info

      removed the request_too_large enum value from the response property for the response status

    • info

      removed the request_too_large enum value from the response property for the response status

    • info

      removed the service_unavailable enum value from the response property for the response status

    • info

      removed the service_unavailable enum value from the response property for the response status

    • info

      removed the service_unavailable enum value from the response property for the response status

    • info

      removed the service_unavailable enum value from the response property for the response status

    • info

      removed the service_unavailable enum value from the response property for the response status

    • info

      removed the service_unavailable enum value from the response property for the response status

    • info

      removed the service_unavailable enum value from the response property for the response status

    • info

      removed the state_transition_conflict enum value from the response property for the response status

    • info

      removed the state_transition_conflict enum value from the response property for the response status

    • info

      removed the state_transition_conflict enum value from the response property for the response status

    • info

      removed the state_transition_conflict enum value from the response property for the response status

    • info

      removed the state_transition_conflict enum value from the response property for the response status

    • info

      removed the state_transition_conflict enum value from the response property for the response status

    • info

      removed the state_transition_conflict enum value from the response property for the response status

    • info

      removed the unauthorized enum value from the response property for the response status

    • info

      removed the unauthorized enum value from the response property for the response status

    • info

      removed the unauthorized enum value from the response property for the response status

    • info

      removed the unauthorized enum value from the response property for the response status

    • info

      removed the unauthorized enum value from the response property for the response status

    • info

      removed the unauthorized enum value from the response property for the response status

    • info

      removed the unauthorized enum value from the response property for the response status

    • info

      removed the unprocessable enum value from the response property for the response status

    • info

      removed the unprocessable enum value from the response property for the response status

    • info

      removed the unprocessable enum value from the response property for the response status

    • info

      removed the unprocessable enum value from the response property for the response status

    • info

      removed the unprocessable enum value from the response property for the response status

    • info

      removed the unprocessable enum value from the response property for the response status

    • info

      removed the unprocessable enum value from the response property for the response status

    • info

      removed the unsupported_media_type enum value from the response property for the response status

    • info

      removed the unsupported_media_type enum value from the response property for the response status

    • info

      removed the unsupported_media_type enum value from the response property for the response status

    • info

      removed the unsupported_media_type enum value from the response property for the response status

    • info

      removed the unsupported_media_type enum value from the response property for the response status

    • info

      removed the unsupported_media_type enum value from the response property for the response status

    • info

      removed the unsupported_media_type enum value from the response property for the response status

    • info

      removed the upstream_unavailable enum value from the response property for the response status

    • info

      removed the upstream_unavailable enum value from the response property for the response status

    • info

      removed the upstream_unavailable enum value from the response property for the response status

    • info

      removed the upstream_unavailable enum value from the response property for the response status

    • info

      removed the upstream_unavailable enum value from the response property for the response status

    • info

      removed the upstream_unavailable enum value from the response property for the response status

    • info

      removed the upstream_unavailable enum value from the response property for the response status

    • info

      removed the validation_failed enum value from the response property for the response status

    • info

      removed the validation_failed enum value from the response property for the response status

    • info

      removed the validation_failed enum value from the response property for the response status

    • info

      removed the validation_failed enum value from the response property for the response status

    • info

      removed the validation_failed enum value from the response property for the response status

    • info

      removed the validation_failed enum value from the response property for the response status

    • info

      removed the validation_failed enum value from the response property for the response status

    This list may be incomplete.

    • warning

      added the new upstream_unavailable enum value to the response property for the response status

    • warning

      added the new upstream_unavailable enum value to the response property for the response status

    • warning

      added the new upstream_unavailable enum value to the response property for the response status

    • warning

      added the new upstream_unavailable enum value to the response property for the response status

    • warning

      added the new upstream_unavailable enum value to the response property for the response status

    • warning

      added the new upstream_unavailable enum value to the response property for the response status

    • warning

      added the new upstream_unavailable enum value to the response property for the response status

    • info

      removed the upstream_error enum value from the response property for the response status

    • info

      removed the upstream_error enum value from the response property for the response status

    • info

      removed the upstream_error enum value from the response property for the response status

    • info

      removed the upstream_error enum value from the response property for the response status

    • info

      removed the upstream_error enum value from the response property for the response status

    • info

      removed the upstream_error enum value from the response property for the response status

    • info

      removed the upstream_error enum value from the response property for the response status