---
title: "Create an AI Gateway Model"
method: POST
path: "/v1/ai-gateways/{gatewayId}/models"
tags: ["AI Gateway Models"]
---

# Create an AI Gateway Model

`POST /v1/ai-gateways/{gatewayId}/models`

**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.

Registers a new model with routing, capabilities, and target backends.

## Request body

- union — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway model.
  - AIGatewayModelAPI — Configuration for proxying asynchronous requests/responses to/from an AI Gateway model using the files and batches APIs.
    - `display_name` string, required — The display name for this model instance.
    - `name` string, required — Identifier for an AI Gateway entity. In some cases, this may be the entity name or ID.
    - `enabled` boolean — Whether the model is enabled.
    - `access` AIGatewayModelAccess — **Pre-release Feature** This feature is currently in beta and is subject to change. Access control configuration for a model.
      - `acls` union — **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules. Configure exactly one of `allow` or `deny`.
        - AIGatewayAllowACL — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `allow` string[], required — List of Consumer Groups Names, or Authenticated Groups Names that are permitted access.
        - AIGatewayDenyACL — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `deny` string[], required — List of Consumer Groups Names, or Authenticated Groups Names that are denied access.
      - `identity_providers` AIGatewayIdentityProviderReference[] — List of identity providers for granting access to the model. At most 1 identity provider of each identity provider type can be referenced.
    - `formats` AIGatewayModelFormat[], required — List of request/response formats supported by this model.
      - `type` 'anthropic' | 'bedrock' | 'cohere' | 'gemini' | 'huggingface' | 'openai' | 'vertex' — The format type.
    - `targets` AIGatewayTarget[], required — One or more backend models that this model entry routes to.
      - `name` string, required — The name of the model defined in the upstream provider that will be executed.
      - `weight` integer — The weight this target gets within the upstream load balancer
      - `semantic_description` string — The semantic description of the target, required if using semantic load balancing. Specially, setting this to 'CATCHALL' will indicate such target to be used when no other targets match the semantic threshold.
      - `allow_auth_override` boolean — When enabled, request-level auth parameters (such as API keys or bearer tokens) will override the static values defined for the provider.
      - `provider` string, required — Reference to a model provider instance by name.
      - `config` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a target model.
        - AIGatewayTargetAnthropicConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Anthropic-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'anthropic', required
          - `version` string — The Anthropic API version to use.
        - AIGatewayTargetAzureConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Azure-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'azure', required
          - `deployment_id` string — The Azure deployment ID for the model. Applies when the Azure provider's `service` is `azure-openai`; not used for `azure-foundry`.
          - `api_version` string — The Azure OpenAI API version to use.
          - `foundry_path_prefix` '/openai/v1' | '/anthropic/v1' — The API path prefix for the Azure AI Foundry endpoint, selecting the model's API surface. `/openai/v1` targets the OpenAI-compatible surface; `/anthropic/v1` targets the Anthropic surface. Applies when the Azure provider's `service` is `azure-foundry`.
        - AIGatewayTargetBedrockConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. AWS Bedrock-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'bedrock', required
          - `region` string — The AWS region for the model. Setting this option overrides the AWS_REGION environment variable.
          - `batch_bucket_prefix` string — S3 bucket prefix for batch inference jobs.
          - `embeddings_normalize` boolean — Whether to normalize embedding vectors in the response.
          - `performance_config_latency` string — Latency performance configuration for the model invocation.
          - `video_output_s3_uri` string — S3 URI for storing video generation outputs.
        - AIGatewayTargetCerebrasConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Cerebras-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'cerebras', required
        - AIGatewayTargetCohereConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Cohere-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'cohere', required
          - `api_version` 'v1' | 'v2' — Cohere API version. `v1` uses the legacy `/v1/chat` endpoint; `v2` (default) uses `/v2/chat` and supports tool calling.
          - `embedding_input_type` 'classification' | 'clustering' | 'image' | 'search_document' | 'search_query' — The intended downstream use of the embeddings to improve model quality.
          - `wait_for_model` boolean — Whether to wait for the model to be ready before sending the request.
        - AIGatewayTargetDashscopeConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Alibaba DashScope-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'dashscope', required
          - `international` boolean — Whether to use the international DashScope endpoint.
        - AIGatewayTargetDatabricksConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Databricks-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'databricks', required
          - `workspace_instance_id` string, required — The Databricks workspace instance ID.
        - AIGatewayTargetDeepseekConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Deepseek-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'deepseek', required
        - AIGatewayTargetGeminiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Google Gemini-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'gemini', required
          - `gcp_environment` GCPModelConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model hosted on Google Cloud Project.
            - `api_endpoint` string, required — The custom API endpoint for the Gemini model.
            - `location_id` string, required — The Google Cloud location ID for the model endpoint.
            - `project_id` string, required — The Google Cloud project ID for the model endpoint.
        - AIGatewayTargetHuggingfaceConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Hugging Face-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'huggingface', required
          - `use_cache` boolean — Whether to use the Hugging Face inference cache.
          - `wait_for_model` boolean — Whether to wait for the model to load if it is not ready.
        - AIGatewayTargetKimiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Kimi (Moonshot AI)-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'kimi', required
          - `international` boolean — When `true`, requests are sent to `api.moonshot.ai` (international). When `false`, requests are sent to `api.moonshot.cn` (mainland China).
        - AIGatewayTargetLlama2Config — **Pre-release Feature** This feature is currently in beta and is subject to change. Llama2-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri, required — The upstream URL for the model endpoint.
          - `type` 'llama2', required
          - `format` 'ollama' | 'openai' | 'raw', required — The request format to use when communicating with the Llama2 model.
        - AIGatewayTargetMistralConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Mistral-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'mistral', required
          - `format` 'ollama' | 'openai', required — The request format to use when communicating with the Mistral model.
        - AIGatewayTargetOllamaConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Ollama-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'ollama', required
        - AIGatewayTargetOpenaiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Openai-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'openai', required
        - AIGatewayTargetVercelConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Vercel AI Gateway-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'vercel', required
        - AIGatewayTargetVertexConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Google Vertex-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'vertex', required
          - `gcp_environment` object — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model hosted on Google Cloud Project.
            - `api_endpoint` string, required — The custom API endpoint for the Gemini model.
            - `location_id` string, required — The Google Cloud location ID for the model endpoint.
            - `project_id` string, required — The Google Cloud project ID for the model endpoint.
            - `endpoint_id` string — The endpoint ID for the model. This must be set when running a target model on Gemini on Vertex Model Garden.
        - AIGatewayTargetVllmConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Vllm-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri, required — The upstream URL for the model endpoint.
          - `type` 'vllm', required
        - AIGatewayTargetXaiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Xai-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'xai', required
        - AIGatewayTargetSagemakerConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. AWS SageMaker-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'sagemaker', required
          - `aws` object — **Pre-release Feature** This feature is currently in beta and is subject to change.
            - `region` string — Overrides the AWS_REGION environment variable for SageMaker requests.
            - `assume_role_arn` string — Assume a different IAM role after authenticating; mutually required with role_session_name.
            - `role_session_name` string — Session identifier for the assumed role; mutually required with assume_role_arn.
            - `sts_endpoint_url` string — Overrides the STS endpoint when assuming a role.
          - `target` object
            - `model` string — Sets the X-Amzn-SageMaker-Target-Model header (multi-model endpoints).
            - `variant` string — Sets the X-Amzn-SageMaker-Target-Variant header (A/B variant testing).
            - `container_hostname` string — Sets the X-Amzn-SageMaker-Target-Container-Hostname header (multi-container).
    - `policies` string[] — List of policy references.
    - `labels` PublicLabels — Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `managed_by` ManagedBy — Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character.
    - `type` 'api', required
    - `config` AIGatewayModelAPIConfig, required — Routing, logging, and load balancing configuration for the model.
      - `route` AIGatewayModelRouteConfig, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway route.
        - `headers` object — One or more lists of values indexed by header name that will cause this route to match if present in the request. The `Host` header cannot be used with this attribute: hosts should be specified using the `hosts` attribute. When `headers` contains only one value and that value starts with the special prefix `~*`, the value is interpreted as a regular expression.
        - `hosts` string[] — A list of domain names that match this route. Note that the hosts value is case sensitive.
        - `https_redirect_status_code` integer — The status code Kong responds with when all properties of a route match except the protocol i.e. if the protocol of the request is `HTTP` instead of `HTTPS`. `Location` header is injected by Kong if the field is set to 301, 302, 307 or 308. Note: This config applies only if the route is configured to only accept the `https` protocol.
        - `methods` string[] — A list of HTTP methods that match this route.
        - `paths` string[] — A list of paths that match this route.
        - `preserve_host` boolean — When matching a route via one of the `hosts` domain names, use the request `Host` header in the upstream request headers. If set to `false`, the upstream `Host` header will be that of the service's `host`.
        - `protocols` string[] — An array of the protocols this route should allow. See the [route Object](#route-object) section for a list of accepted protocols. When set to only `https`, HTTP requests are answered with an upgrade error. When set to only `http`, HTTPS requests are answered with an error.
        - `regex_priority` integer — A number used to choose which route resolves a given request when several routes match it using regexes simultaneously. When two routes match the path and have the same `regex_priority`, the older one (lowest `created_at`) is used. Note that the priority for non-regex routes is different (longer non-regex routes are matched before shorter ones).
        - `request_buffering` boolean — Whether to enable request body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that receive data with chunked transfer encoding.
        - `response_buffering` boolean — Whether to enable response body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that send data with chunked transfer encoding.
        - `strip_path` boolean — When matching a route via one of the `paths`, strip the matching prefix from the upstream request URL.
        - `tags` string[] — An optional set of strings associated with the route for grouping and filtering.
        - `model` AIGatewayModelSelectorConfig — Configuration for overriding routing to this model using a selector. When no selector location is set, the format default selector is used. When values are not set, the model name is used as the selector value.
          - `body_param` string — The body property name to match for routing.
          - `header_param` string — The header property name to match for routing.
          - `path_param` string — The name of the regex capture group defined in the route path for routing.
          - `values` string[] — An optional model alias. When omitted, the model name is used. When no selector location is configured, the format default selector is used.
      - `logging` AIGatewayLoggingConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging.
        - `payloads` boolean
      - `response_streaming` 'allow' | 'always' | 'deny'
      - `max_request_body_size` integer — Maximum size of request body to parse. Set to 0 for unlimited.
      - `balancer` union — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model's load balancer when multiple target models are configured.
        - AIGatewayModelBalancerConsistentHashingConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'consistent-hashing', required
          - `hash_on_header` string — The header to use for consistent-hashing.
        - AIGatewayModelBalancerLeastConnectionsConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'least-connections', required
        - AIGatewayModelBalancerLowestLatencyConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'lowest-latency', required
          - `latency_strategy` 'e2e' | 'tpot', required — What metrics to use for latency. Available values are: `tpot` (time-per-output-token) and `e2e`.
        - AIGatewayModelBalancerLowestUsageConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'lowest-usage', required
          - `tokens_count_strategy` 'completion-tokens' | 'cost' | 'llm-accuracy' | 'prompt-tokens' | 'total-tokens', required — Methodology to use for token usage calculation.
        - AIGatewayModelBalancerPriorityConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'priority', required
        - AIGatewayModelBalancerRoundRobinConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'round-robin', required
        - AIGatewayModelBalancerSemanticConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'semantic', required
          - `embeddings` object, required — Embeddings model configuration for this model.
            - `allow_auth_override` boolean — When enabled, request-level auth parameters (such as API keys or bearer tokens) will override the static values defined for the provider.
            - `provider` string, required — Reference to a model provider instance by name.
            - `name` string, required — The name of the embeddings model.
            - `config` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an embeddings model.
              - …
          - `vectordb` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for the vector database used by the model.
            - AIGatewayModelVectorDBConfigPgVector — **Pre-release Feature** This feature is currently in beta and is subject to change.
              - …
            - AIGatewayModelVectorDBConfigRedis — **Pre-release Feature** This feature is currently in beta and is subject to change. Config for connecting to a Cloud Provider's Redis instance.
              - …
      - `proxy` AIGatewayProxyConfig — HTTP/HTTPS proxy configuration for outbound requests to the upstream AI provider.
        - `http_proxy` object — HTTP proxy server to route plaintext outbound requests through.
          - `host` string — A string representing a host name, such as example.com.
          - `port` integer — An integer representing a port number between 0 and 65535, inclusive.
        - `https_proxy` object — HTTPS proxy server to route TLS outbound requests through.
          - `host` string — A string representing a host name, such as example.com.
          - `port` integer — An integer representing a port number between 0 and 65535, inclusive.
        - `proxy_scheme` 'http' — The proxy scheme to use when connecting to the proxy server.
        - `auth` object — Credentials used to authenticate to the proxy server.
          - `username` string — The username to use for proxy authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).
          - `password` string — The password to use for proxy authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).
        - `no_proxy` string — Comma-separated list of hosts that should not be proxied.
    - `capabilities` string[], required — List of AI capabilities enabled for this API model.
  - AIGatewayModelModel — Configuration for proxying synchronous requests/responses to/from an AI Gateway model using generative APIs.
    - `display_name` string, required — The display name for this model instance.
    - `name` string, required — Identifier for an AI Gateway entity. In some cases, this may be the entity name or ID.
    - `enabled` boolean — Whether the model is enabled.
    - `access` AIGatewayModelAccess — **Pre-release Feature** This feature is currently in beta and is subject to change. Access control configuration for a model.
      - `acls` union — **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules. Configure exactly one of `allow` or `deny`.
        - AIGatewayAllowACL — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `allow` string[], required — List of Consumer Groups Names, or Authenticated Groups Names that are permitted access.
        - AIGatewayDenyACL — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `deny` string[], required — List of Consumer Groups Names, or Authenticated Groups Names that are denied access.
      - `identity_providers` AIGatewayIdentityProviderReference[] — List of identity providers for granting access to the model. At most 1 identity provider of each identity provider type can be referenced.
    - `formats` AIGatewayModelFormat[], required — List of request/response formats supported by this model.
      - `type` 'anthropic' | 'bedrock' | 'cohere' | 'gemini' | 'huggingface' | 'openai' | 'vertex' — The format type.
    - `targets` AIGatewayTarget[], required — One or more backend models that this model entry routes to.
      - `name` string, required — The name of the model defined in the upstream provider that will be executed.
      - `weight` integer — The weight this target gets within the upstream load balancer
      - `semantic_description` string — The semantic description of the target, required if using semantic load balancing. Specially, setting this to 'CATCHALL' will indicate such target to be used when no other targets match the semantic threshold.
      - `allow_auth_override` boolean — When enabled, request-level auth parameters (such as API keys or bearer tokens) will override the static values defined for the provider.
      - `provider` string, required — Reference to a model provider instance by name.
      - `config` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a target model.
        - AIGatewayTargetAnthropicConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Anthropic-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'anthropic', required
          - `version` string — The Anthropic API version to use.
        - AIGatewayTargetAzureConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Azure-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'azure', required
          - `deployment_id` string — The Azure deployment ID for the model. Applies when the Azure provider's `service` is `azure-openai`; not used for `azure-foundry`.
          - `api_version` string — The Azure OpenAI API version to use.
          - `foundry_path_prefix` '/openai/v1' | '/anthropic/v1' — The API path prefix for the Azure AI Foundry endpoint, selecting the model's API surface. `/openai/v1` targets the OpenAI-compatible surface; `/anthropic/v1` targets the Anthropic surface. Applies when the Azure provider's `service` is `azure-foundry`.
        - AIGatewayTargetBedrockConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. AWS Bedrock-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'bedrock', required
          - `region` string — The AWS region for the model. Setting this option overrides the AWS_REGION environment variable.
          - `batch_bucket_prefix` string — S3 bucket prefix for batch inference jobs.
          - `embeddings_normalize` boolean — Whether to normalize embedding vectors in the response.
          - `performance_config_latency` string — Latency performance configuration for the model invocation.
          - `video_output_s3_uri` string — S3 URI for storing video generation outputs.
        - AIGatewayTargetCerebrasConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Cerebras-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'cerebras', required
        - AIGatewayTargetCohereConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Cohere-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'cohere', required
          - `api_version` 'v1' | 'v2' — Cohere API version. `v1` uses the legacy `/v1/chat` endpoint; `v2` (default) uses `/v2/chat` and supports tool calling.
          - `embedding_input_type` 'classification' | 'clustering' | 'image' | 'search_document' | 'search_query' — The intended downstream use of the embeddings to improve model quality.
          - `wait_for_model` boolean — Whether to wait for the model to be ready before sending the request.
        - AIGatewayTargetDashscopeConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Alibaba DashScope-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'dashscope', required
          - `international` boolean — Whether to use the international DashScope endpoint.
        - AIGatewayTargetDatabricksConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Databricks-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'databricks', required
          - `workspace_instance_id` string, required — The Databricks workspace instance ID.
        - AIGatewayTargetDeepseekConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Deepseek-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'deepseek', required
        - AIGatewayTargetGeminiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Google Gemini-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'gemini', required
          - `gcp_environment` GCPModelConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model hosted on Google Cloud Project.
            - `api_endpoint` string, required — The custom API endpoint for the Gemini model.
            - `location_id` string, required — The Google Cloud location ID for the model endpoint.
            - `project_id` string, required — The Google Cloud project ID for the model endpoint.
        - AIGatewayTargetHuggingfaceConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Hugging Face-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'huggingface', required
          - `use_cache` boolean — Whether to use the Hugging Face inference cache.
          - `wait_for_model` boolean — Whether to wait for the model to load if it is not ready.
        - AIGatewayTargetKimiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Kimi (Moonshot AI)-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'kimi', required
          - `international` boolean — When `true`, requests are sent to `api.moonshot.ai` (international). When `false`, requests are sent to `api.moonshot.cn` (mainland China).
        - AIGatewayTargetLlama2Config — **Pre-release Feature** This feature is currently in beta and is subject to change. Llama2-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri, required — The upstream URL for the model endpoint.
          - `type` 'llama2', required
          - `format` 'ollama' | 'openai' | 'raw', required — The request format to use when communicating with the Llama2 model.
        - AIGatewayTargetMistralConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Mistral-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'mistral', required
          - `format` 'ollama' | 'openai', required — The request format to use when communicating with the Mistral model.
        - AIGatewayTargetOllamaConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Ollama-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'ollama', required
        - AIGatewayTargetOpenaiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Openai-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'openai', required
        - AIGatewayTargetVercelConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Vercel AI Gateway-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'vercel', required
        - AIGatewayTargetVertexConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Google Vertex-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'vertex', required
          - `gcp_environment` object — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model hosted on Google Cloud Project.
            - `api_endpoint` string, required — The custom API endpoint for the Gemini model.
            - `location_id` string, required — The Google Cloud location ID for the model endpoint.
            - `project_id` string, required — The Google Cloud project ID for the model endpoint.
            - `endpoint_id` string — The endpoint ID for the model. This must be set when running a target model on Gemini on Vertex Model Garden.
        - AIGatewayTargetVllmConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Vllm-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri, required — The upstream URL for the model endpoint.
          - `type` 'vllm', required
        - AIGatewayTargetXaiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Xai-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'xai', required
        - AIGatewayTargetSagemakerConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. AWS SageMaker-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'sagemaker', required
          - `aws` object — **Pre-release Feature** This feature is currently in beta and is subject to change.
            - `region` string — Overrides the AWS_REGION environment variable for SageMaker requests.
            - `assume_role_arn` string — Assume a different IAM role after authenticating; mutually required with role_session_name.
            - `role_session_name` string — Session identifier for the assumed role; mutually required with assume_role_arn.
            - `sts_endpoint_url` string — Overrides the STS endpoint when assuming a role.
          - `target` object
            - `model` string — Sets the X-Amzn-SageMaker-Target-Model header (multi-model endpoints).
            - `variant` string — Sets the X-Amzn-SageMaker-Target-Variant header (A/B variant testing).
            - `container_hostname` string — Sets the X-Amzn-SageMaker-Target-Container-Hostname header (multi-container).
    - `policies` string[] — List of policy references.
    - `labels` PublicLabels — Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `managed_by` ManagedBy — Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character.
    - `type` 'model', required
    - `config` AIGatewayModelModelConfig, required — Routing, logging, and load balancing configuration for the model.
      - `route` AIGatewayModelRouteConfig, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway route.
        - `headers` object — One or more lists of values indexed by header name that will cause this route to match if present in the request. The `Host` header cannot be used with this attribute: hosts should be specified using the `hosts` attribute. When `headers` contains only one value and that value starts with the special prefix `~*`, the value is interpreted as a regular expression.
        - `hosts` string[] — A list of domain names that match this route. Note that the hosts value is case sensitive.
        - `https_redirect_status_code` integer — The status code Kong responds with when all properties of a route match except the protocol i.e. if the protocol of the request is `HTTP` instead of `HTTPS`. `Location` header is injected by Kong if the field is set to 301, 302, 307 or 308. Note: This config applies only if the route is configured to only accept the `https` protocol.
        - `methods` string[] — A list of HTTP methods that match this route.
        - `paths` string[] — A list of paths that match this route.
        - `preserve_host` boolean — When matching a route via one of the `hosts` domain names, use the request `Host` header in the upstream request headers. If set to `false`, the upstream `Host` header will be that of the service's `host`.
        - `protocols` string[] — An array of the protocols this route should allow. See the [route Object](#route-object) section for a list of accepted protocols. When set to only `https`, HTTP requests are answered with an upgrade error. When set to only `http`, HTTPS requests are answered with an error.
        - `regex_priority` integer — A number used to choose which route resolves a given request when several routes match it using regexes simultaneously. When two routes match the path and have the same `regex_priority`, the older one (lowest `created_at`) is used. Note that the priority for non-regex routes is different (longer non-regex routes are matched before shorter ones).
        - `request_buffering` boolean — Whether to enable request body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that receive data with chunked transfer encoding.
        - `response_buffering` boolean — Whether to enable response body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that send data with chunked transfer encoding.
        - `strip_path` boolean — When matching a route via one of the `paths`, strip the matching prefix from the upstream request URL.
        - `tags` string[] — An optional set of strings associated with the route for grouping and filtering.
        - `model` AIGatewayModelSelectorConfig — Configuration for overriding routing to this model using a selector. When no selector location is set, the format default selector is used. When values are not set, the model name is used as the selector value.
          - `body_param` string — The body property name to match for routing.
          - `header_param` string — The header property name to match for routing.
          - `path_param` string — The name of the regex capture group defined in the route path for routing.
          - `values` string[] — An optional model alias. When omitted, the model name is used. When no selector location is configured, the format default selector is used.
      - `logging` AIGatewayLoggingConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging.
        - `payloads` boolean
      - `response_streaming` 'allow' | 'always' | 'deny'
      - `max_request_body_size` integer — Maximum size of request body to parse. Set to 0 for unlimited.
      - `model` object — **Pre-release Feature** This feature is currently in beta and is subject to change.
        - `name_header` boolean — **Pre-release Feature** This feature is currently in beta and is subject to change. Display the model name selected in the X-Kong-LLM-Model response header
      - `balancer` union — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model's load balancer when multiple target models are configured.
        - AIGatewayModelBalancerConsistentHashingConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'consistent-hashing', required
          - `hash_on_header` string — The header to use for consistent-hashing.
        - AIGatewayModelBalancerLeastConnectionsConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'least-connections', required
        - AIGatewayModelBalancerLowestLatencyConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'lowest-latency', required
          - `latency_strategy` 'e2e' | 'tpot', required — What metrics to use for latency. Available values are: `tpot` (time-per-output-token) and `e2e`.
        - AIGatewayModelBalancerLowestUsageConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'lowest-usage', required
          - `tokens_count_strategy` 'completion-tokens' | 'cost' | 'llm-accuracy' | 'prompt-tokens' | 'total-tokens', required — Methodology to use for token usage calculation.
        - AIGatewayModelBalancerPriorityConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'priority', required
        - AIGatewayModelBalancerRoundRobinConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'round-robin', required
        - AIGatewayModelBalancerSemanticConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'semantic', required
          - `embeddings` object, required — Embeddings model configuration for this model.
            - `allow_auth_override` boolean — When enabled, request-level auth parameters (such as API keys or bearer tokens) will override the static values defined for the provider.
            - `provider` string, required — Reference to a model provider instance by name.
            - `name` string, required — The name of the embeddings model.
            - `config` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an embeddings model.
              - …
          - `vectordb` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for the vector database used by the model.
            - AIGatewayModelVectorDBConfigPgVector — **Pre-release Feature** This feature is currently in beta and is subject to change.
              - …
            - AIGatewayModelVectorDBConfigRedis — **Pre-release Feature** This feature is currently in beta and is subject to change. Config for connecting to a Cloud Provider's Redis instance.
              - …
      - `proxy` AIGatewayProxyConfig — HTTP/HTTPS proxy configuration for outbound requests to the upstream AI provider.
        - `http_proxy` object — HTTP proxy server to route plaintext outbound requests through.
          - `host` string — A string representing a host name, such as example.com.
          - `port` integer — An integer representing a port number between 0 and 65535, inclusive.
        - `https_proxy` object — HTTPS proxy server to route TLS outbound requests through.
          - `host` string — A string representing a host name, such as example.com.
          - `port` integer — An integer representing a port number between 0 and 65535, inclusive.
        - `proxy_scheme` 'http' — The proxy scheme to use when connecting to the proxy server.
        - `auth` object — Credentials used to authenticate to the proxy server.
          - `username` string — The username to use for proxy authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).
          - `password` string — The password to use for proxy authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).
        - `no_proxy` string — Comma-separated list of hosts that should not be proxied.
    - `capabilities` string[], required — List of AI capabilities enabled for this model.

## Response `201`

Model created successfully.

- union — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway model.
  - object — Configuration for proxying asynchronous requests/responses to/from an AI Gateway model using the files and batches APIs.
    - `id` string, uuid, required — Contains a unique identifier used for this resource.
    - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
    - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.
    - `display_name` string, required — The display name for this model instance.
    - `name` string, required — Identifier for an AI Gateway entity. In some cases, this may be the entity name or ID.
    - `enabled` boolean — Whether the model is enabled.
    - `access` AIGatewayModelAccess — **Pre-release Feature** This feature is currently in beta and is subject to change. Access control configuration for a model.
      - `acls` union — **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules. Configure exactly one of `allow` or `deny`.
        - AIGatewayAllowACL — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `allow` string[], required — List of Consumer Groups Names, or Authenticated Groups Names that are permitted access.
        - AIGatewayDenyACL — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `deny` string[], required — List of Consumer Groups Names, or Authenticated Groups Names that are denied access.
      - `identity_providers` AIGatewayIdentityProviderReference[] — List of identity providers for granting access to the model. At most 1 identity provider of each identity provider type can be referenced.
    - `formats` AIGatewayModelFormat[], required — List of request/response formats supported by this model.
      - `type` 'anthropic' | 'bedrock' | 'cohere' | 'gemini' | 'huggingface' | 'openai' | 'vertex' — The format type.
    - `targets` AIGatewayTarget[], required — One or more backend models that this model entry routes to.
      - `name` string, required — The name of the model defined in the upstream provider that will be executed.
      - `weight` integer — The weight this target gets within the upstream load balancer
      - `semantic_description` string — The semantic description of the target, required if using semantic load balancing. Specially, setting this to 'CATCHALL' will indicate such target to be used when no other targets match the semantic threshold.
      - `allow_auth_override` boolean — When enabled, request-level auth parameters (such as API keys or bearer tokens) will override the static values defined for the provider.
      - `provider` string, required — Reference to a model provider instance by name.
      - `config` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a target model.
        - AIGatewayTargetAnthropicConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Anthropic-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'anthropic', required
          - `version` string — The Anthropic API version to use.
        - AIGatewayTargetAzureConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Azure-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'azure', required
          - `deployment_id` string — The Azure deployment ID for the model. Applies when the Azure provider's `service` is `azure-openai`; not used for `azure-foundry`.
          - `api_version` string — The Azure OpenAI API version to use.
          - `foundry_path_prefix` '/openai/v1' | '/anthropic/v1' — The API path prefix for the Azure AI Foundry endpoint, selecting the model's API surface. `/openai/v1` targets the OpenAI-compatible surface; `/anthropic/v1` targets the Anthropic surface. Applies when the Azure provider's `service` is `azure-foundry`.
        - AIGatewayTargetBedrockConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. AWS Bedrock-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'bedrock', required
          - `region` string — The AWS region for the model. Setting this option overrides the AWS_REGION environment variable.
          - `batch_bucket_prefix` string — S3 bucket prefix for batch inference jobs.
          - `embeddings_normalize` boolean — Whether to normalize embedding vectors in the response.
          - `performance_config_latency` string — Latency performance configuration for the model invocation.
          - `video_output_s3_uri` string — S3 URI for storing video generation outputs.
        - AIGatewayTargetCerebrasConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Cerebras-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'cerebras', required
        - AIGatewayTargetCohereConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Cohere-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'cohere', required
          - `api_version` 'v1' | 'v2' — Cohere API version. `v1` uses the legacy `/v1/chat` endpoint; `v2` (default) uses `/v2/chat` and supports tool calling.
          - `embedding_input_type` 'classification' | 'clustering' | 'image' | 'search_document' | 'search_query' — The intended downstream use of the embeddings to improve model quality.
          - `wait_for_model` boolean — Whether to wait for the model to be ready before sending the request.
        - AIGatewayTargetDashscopeConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Alibaba DashScope-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'dashscope', required
          - `international` boolean — Whether to use the international DashScope endpoint.
        - AIGatewayTargetDatabricksConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Databricks-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'databricks', required
          - `workspace_instance_id` string, required — The Databricks workspace instance ID.
        - AIGatewayTargetDeepseekConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Deepseek-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'deepseek', required
        - AIGatewayTargetGeminiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Google Gemini-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'gemini', required
          - `gcp_environment` GCPModelConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model hosted on Google Cloud Project.
            - `api_endpoint` string, required — The custom API endpoint for the Gemini model.
            - `location_id` string, required — The Google Cloud location ID for the model endpoint.
            - `project_id` string, required — The Google Cloud project ID for the model endpoint.
        - AIGatewayTargetHuggingfaceConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Hugging Face-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'huggingface', required
          - `use_cache` boolean — Whether to use the Hugging Face inference cache.
          - `wait_for_model` boolean — Whether to wait for the model to load if it is not ready.
        - AIGatewayTargetKimiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Kimi (Moonshot AI)-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'kimi', required
          - `international` boolean — When `true`, requests are sent to `api.moonshot.ai` (international). When `false`, requests are sent to `api.moonshot.cn` (mainland China).
        - AIGatewayTargetLlama2Config — **Pre-release Feature** This feature is currently in beta and is subject to change. Llama2-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri, required — The upstream URL for the model endpoint.
          - `type` 'llama2', required
          - `format` 'ollama' | 'openai' | 'raw', required — The request format to use when communicating with the Llama2 model.
        - AIGatewayTargetMistralConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Mistral-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'mistral', required
          - `format` 'ollama' | 'openai', required — The request format to use when communicating with the Mistral model.
        - AIGatewayTargetOllamaConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Ollama-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'ollama', required
        - AIGatewayTargetOpenaiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Openai-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'openai', required
        - AIGatewayTargetVercelConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Vercel AI Gateway-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'vercel', required
        - AIGatewayTargetVertexConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Google Vertex-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'vertex', required
          - `gcp_environment` object — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model hosted on Google Cloud Project.
            - `api_endpoint` string, required — The custom API endpoint for the Gemini model.
            - `location_id` string, required — The Google Cloud location ID for the model endpoint.
            - `project_id` string, required — The Google Cloud project ID for the model endpoint.
            - `endpoint_id` string — The endpoint ID for the model. This must be set when running a target model on Gemini on Vertex Model Garden.
        - AIGatewayTargetVllmConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Vllm-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri, required — The upstream URL for the model endpoint.
          - `type` 'vllm', required
        - AIGatewayTargetXaiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Xai-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'xai', required
        - AIGatewayTargetSagemakerConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. AWS SageMaker-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'sagemaker', required
          - `aws` object — **Pre-release Feature** This feature is currently in beta and is subject to change.
            - `region` string — Overrides the AWS_REGION environment variable for SageMaker requests.
            - `assume_role_arn` string — Assume a different IAM role after authenticating; mutually required with role_session_name.
            - `role_session_name` string — Session identifier for the assumed role; mutually required with assume_role_arn.
            - `sts_endpoint_url` string — Overrides the STS endpoint when assuming a role.
          - `target` object
            - `model` string — Sets the X-Amzn-SageMaker-Target-Model header (multi-model endpoints).
            - `variant` string — Sets the X-Amzn-SageMaker-Target-Variant header (A/B variant testing).
            - `container_hostname` string — Sets the X-Amzn-SageMaker-Target-Container-Hostname header (multi-container).
    - `policies` string[] — List of policy references.
    - `labels` PublicLabels — Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `managed_by` ManagedBy — Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character.
    - `type` 'api', required
    - `config` AIGatewayModelAPIConfig, required — Routing, logging, and load balancing configuration for the model.
      - `route` AIGatewayModelRouteConfig, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway route.
        - `headers` object — One or more lists of values indexed by header name that will cause this route to match if present in the request. The `Host` header cannot be used with this attribute: hosts should be specified using the `hosts` attribute. When `headers` contains only one value and that value starts with the special prefix `~*`, the value is interpreted as a regular expression.
        - `hosts` string[] — A list of domain names that match this route. Note that the hosts value is case sensitive.
        - `https_redirect_status_code` integer — The status code Kong responds with when all properties of a route match except the protocol i.e. if the protocol of the request is `HTTP` instead of `HTTPS`. `Location` header is injected by Kong if the field is set to 301, 302, 307 or 308. Note: This config applies only if the route is configured to only accept the `https` protocol.
        - `methods` string[] — A list of HTTP methods that match this route.
        - `paths` string[] — A list of paths that match this route.
        - `preserve_host` boolean — When matching a route via one of the `hosts` domain names, use the request `Host` header in the upstream request headers. If set to `false`, the upstream `Host` header will be that of the service's `host`.
        - `protocols` string[] — An array of the protocols this route should allow. See the [route Object](#route-object) section for a list of accepted protocols. When set to only `https`, HTTP requests are answered with an upgrade error. When set to only `http`, HTTPS requests are answered with an error.
        - `regex_priority` integer — A number used to choose which route resolves a given request when several routes match it using regexes simultaneously. When two routes match the path and have the same `regex_priority`, the older one (lowest `created_at`) is used. Note that the priority for non-regex routes is different (longer non-regex routes are matched before shorter ones).
        - `request_buffering` boolean — Whether to enable request body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that receive data with chunked transfer encoding.
        - `response_buffering` boolean — Whether to enable response body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that send data with chunked transfer encoding.
        - `strip_path` boolean — When matching a route via one of the `paths`, strip the matching prefix from the upstream request URL.
        - `tags` string[] — An optional set of strings associated with the route for grouping and filtering.
        - `model` AIGatewayModelSelectorConfig — Configuration for overriding routing to this model using a selector. When no selector location is set, the format default selector is used. When values are not set, the model name is used as the selector value.
          - `body_param` string — The body property name to match for routing.
          - `header_param` string — The header property name to match for routing.
          - `path_param` string — The name of the regex capture group defined in the route path for routing.
          - `values` string[] — An optional model alias. When omitted, the model name is used. When no selector location is configured, the format default selector is used.
      - `logging` AIGatewayLoggingConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging.
        - `payloads` boolean
      - `response_streaming` 'allow' | 'always' | 'deny'
      - `max_request_body_size` integer — Maximum size of request body to parse. Set to 0 for unlimited.
      - `balancer` union — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model's load balancer when multiple target models are configured.
        - AIGatewayModelBalancerConsistentHashingConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'consistent-hashing', required
          - `hash_on_header` string — The header to use for consistent-hashing.
        - AIGatewayModelBalancerLeastConnectionsConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'least-connections', required
        - AIGatewayModelBalancerLowestLatencyConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'lowest-latency', required
          - `latency_strategy` 'e2e' | 'tpot', required — What metrics to use for latency. Available values are: `tpot` (time-per-output-token) and `e2e`.
        - AIGatewayModelBalancerLowestUsageConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'lowest-usage', required
          - `tokens_count_strategy` 'completion-tokens' | 'cost' | 'llm-accuracy' | 'prompt-tokens' | 'total-tokens', required — Methodology to use for token usage calculation.
        - AIGatewayModelBalancerPriorityConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'priority', required
        - AIGatewayModelBalancerRoundRobinConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'round-robin', required
        - AIGatewayModelBalancerSemanticConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'semantic', required
          - `embeddings` object, required — Embeddings model configuration for this model.
            - `allow_auth_override` boolean — When enabled, request-level auth parameters (such as API keys or bearer tokens) will override the static values defined for the provider.
            - `provider` string, required — Reference to a model provider instance by name.
            - `name` string, required — The name of the embeddings model.
            - `config` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an embeddings model.
              - …
          - `vectordb` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for the vector database used by the model.
            - AIGatewayModelVectorDBConfigPgVector — **Pre-release Feature** This feature is currently in beta and is subject to change.
              - …
            - AIGatewayModelVectorDBConfigRedis — **Pre-release Feature** This feature is currently in beta and is subject to change. Config for connecting to a Cloud Provider's Redis instance.
              - …
      - `proxy` AIGatewayProxyConfig — HTTP/HTTPS proxy configuration for outbound requests to the upstream AI provider.
        - `http_proxy` object — HTTP proxy server to route plaintext outbound requests through.
          - `host` string — A string representing a host name, such as example.com.
          - `port` integer — An integer representing a port number between 0 and 65535, inclusive.
        - `https_proxy` object — HTTPS proxy server to route TLS outbound requests through.
          - `host` string — A string representing a host name, such as example.com.
          - `port` integer — An integer representing a port number between 0 and 65535, inclusive.
        - `proxy_scheme` 'http' — The proxy scheme to use when connecting to the proxy server.
        - `auth` object — Credentials used to authenticate to the proxy server.
          - `username` string — The username to use for proxy authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).
          - `password` string — The password to use for proxy authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).
        - `no_proxy` string — Comma-separated list of hosts that should not be proxied.
    - `capabilities` string[], required — List of AI capabilities enabled for this API model.
  - object — Configuration for proxying synchronous requests/responses to/from an AI Gateway model using generative APIs.
    - `id` string, uuid, required — Contains a unique identifier used for this resource.
    - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
    - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.
    - `display_name` string, required — The display name for this model instance.
    - `name` string, required — Identifier for an AI Gateway entity. In some cases, this may be the entity name or ID.
    - `enabled` boolean — Whether the model is enabled.
    - `access` AIGatewayModelAccess — **Pre-release Feature** This feature is currently in beta and is subject to change. Access control configuration for a model.
      - `acls` union — **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules. Configure exactly one of `allow` or `deny`.
        - AIGatewayAllowACL — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `allow` string[], required — List of Consumer Groups Names, or Authenticated Groups Names that are permitted access.
        - AIGatewayDenyACL — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `deny` string[], required — List of Consumer Groups Names, or Authenticated Groups Names that are denied access.
      - `identity_providers` AIGatewayIdentityProviderReference[] — List of identity providers for granting access to the model. At most 1 identity provider of each identity provider type can be referenced.
    - `formats` AIGatewayModelFormat[], required — List of request/response formats supported by this model.
      - `type` 'anthropic' | 'bedrock' | 'cohere' | 'gemini' | 'huggingface' | 'openai' | 'vertex' — The format type.
    - `targets` AIGatewayTarget[], required — One or more backend models that this model entry routes to.
      - `name` string, required — The name of the model defined in the upstream provider that will be executed.
      - `weight` integer — The weight this target gets within the upstream load balancer
      - `semantic_description` string — The semantic description of the target, required if using semantic load balancing. Specially, setting this to 'CATCHALL' will indicate such target to be used when no other targets match the semantic threshold.
      - `allow_auth_override` boolean — When enabled, request-level auth parameters (such as API keys or bearer tokens) will override the static values defined for the provider.
      - `provider` string, required — Reference to a model provider instance by name.
      - `config` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a target model.
        - AIGatewayTargetAnthropicConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Anthropic-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'anthropic', required
          - `version` string — The Anthropic API version to use.
        - AIGatewayTargetAzureConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Azure-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'azure', required
          - `deployment_id` string — The Azure deployment ID for the model. Applies when the Azure provider's `service` is `azure-openai`; not used for `azure-foundry`.
          - `api_version` string — The Azure OpenAI API version to use.
          - `foundry_path_prefix` '/openai/v1' | '/anthropic/v1' — The API path prefix for the Azure AI Foundry endpoint, selecting the model's API surface. `/openai/v1` targets the OpenAI-compatible surface; `/anthropic/v1` targets the Anthropic surface. Applies when the Azure provider's `service` is `azure-foundry`.
        - AIGatewayTargetBedrockConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. AWS Bedrock-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'bedrock', required
          - `region` string — The AWS region for the model. Setting this option overrides the AWS_REGION environment variable.
          - `batch_bucket_prefix` string — S3 bucket prefix for batch inference jobs.
          - `embeddings_normalize` boolean — Whether to normalize embedding vectors in the response.
          - `performance_config_latency` string — Latency performance configuration for the model invocation.
          - `video_output_s3_uri` string — S3 URI for storing video generation outputs.
        - AIGatewayTargetCerebrasConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Cerebras-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'cerebras', required
        - AIGatewayTargetCohereConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Cohere-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'cohere', required
          - `api_version` 'v1' | 'v2' — Cohere API version. `v1` uses the legacy `/v1/chat` endpoint; `v2` (default) uses `/v2/chat` and supports tool calling.
          - `embedding_input_type` 'classification' | 'clustering' | 'image' | 'search_document' | 'search_query' — The intended downstream use of the embeddings to improve model quality.
          - `wait_for_model` boolean — Whether to wait for the model to be ready before sending the request.
        - AIGatewayTargetDashscopeConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Alibaba DashScope-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'dashscope', required
          - `international` boolean — Whether to use the international DashScope endpoint.
        - AIGatewayTargetDatabricksConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Databricks-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'databricks', required
          - `workspace_instance_id` string, required — The Databricks workspace instance ID.
        - AIGatewayTargetDeepseekConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Deepseek-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'deepseek', required
        - AIGatewayTargetGeminiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Google Gemini-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'gemini', required
          - `gcp_environment` GCPModelConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model hosted on Google Cloud Project.
            - `api_endpoint` string, required — The custom API endpoint for the Gemini model.
            - `location_id` string, required — The Google Cloud location ID for the model endpoint.
            - `project_id` string, required — The Google Cloud project ID for the model endpoint.
        - AIGatewayTargetHuggingfaceConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Hugging Face-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'huggingface', required
          - `use_cache` boolean — Whether to use the Hugging Face inference cache.
          - `wait_for_model` boolean — Whether to wait for the model to load if it is not ready.
        - AIGatewayTargetKimiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Kimi (Moonshot AI)-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'kimi', required
          - `international` boolean — When `true`, requests are sent to `api.moonshot.ai` (international). When `false`, requests are sent to `api.moonshot.cn` (mainland China).
        - AIGatewayTargetLlama2Config — **Pre-release Feature** This feature is currently in beta and is subject to change. Llama2-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri, required — The upstream URL for the model endpoint.
          - `type` 'llama2', required
          - `format` 'ollama' | 'openai' | 'raw', required — The request format to use when communicating with the Llama2 model.
        - AIGatewayTargetMistralConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Mistral-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'mistral', required
          - `format` 'ollama' | 'openai', required — The request format to use when communicating with the Mistral model.
        - AIGatewayTargetOllamaConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Ollama-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'ollama', required
        - AIGatewayTargetOpenaiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Openai-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'openai', required
        - AIGatewayTargetVercelConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Vercel AI Gateway-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'vercel', required
        - AIGatewayTargetVertexConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Google Vertex-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'vertex', required
          - `gcp_environment` object — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model hosted on Google Cloud Project.
            - `api_endpoint` string, required — The custom API endpoint for the Gemini model.
            - `location_id` string, required — The Google Cloud location ID for the model endpoint.
            - `project_id` string, required — The Google Cloud project ID for the model endpoint.
            - `endpoint_id` string — The endpoint ID for the model. This must be set when running a target model on Gemini on Vertex Model Garden.
        - AIGatewayTargetVllmConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Vllm-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri, required — The upstream URL for the model endpoint.
          - `type` 'vllm', required
        - AIGatewayTargetXaiConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Xai-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'xai', required
        - AIGatewayTargetSagemakerConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. AWS SageMaker-specific configuration for a model.
          - `embeddings_dimensions` integer — The number of dimensions for embedding outputs.
          - `max_tokens` integer — The maximum number of tokens to generate in the response.
          - `input_cost` number — Cost per input token for billing and cost tracking.
          - `output_cost` number — Cost per output token for billing and cost tracking.
          - `cache_read_cost` number — Cost per cache-read (cached) prompt token for billing and cost tracking.
          - `cache_write_cost` number — Cost per cache-write prompt token for billing and cost tracking.
          - `cache_write_cost_list` AIGatewayCacheWriteCost[] — Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs.
            - `ttl` string, required — Cache TTL this price applies to, e.g. "5m" or "1h".
            - `cost` number, required — Cost per cache-write prompt token for this TTL.
          - `context_window_factor` AIGatewayContextWindowFactor[] — Above an input-token threshold, scale input and output pricing by the corresponding factor.
            - `above` string, required — Input-token threshold above which the factors apply, e.g. "128k" or "1m".
            - `input_factor` number, required — Multiplier applied to input pricing above the threshold.
            - `output_factor` number, required — Multiplier applied to output pricing above the threshold.
          - `service_tier_factor` AIGatewayServiceTierFactor[] — Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches.
            - `tier` string, required — Matched case-insensitively as a substring of the vendor's reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.
            - `factor` number, required — Multiplier applied to the whole request for this service tier.
          - `temperature` number — Controls randomness in the model output. Higher values produce more varied responses.
          - `top_k` integer — Limits the number of highest-probability tokens considered during generation.
          - `top_p` number — Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered.
          - `upstream_url` string, uri — The upstream URL for the model endpoint.
          - `type` 'sagemaker', required
          - `aws` object — **Pre-release Feature** This feature is currently in beta and is subject to change.
            - `region` string — Overrides the AWS_REGION environment variable for SageMaker requests.
            - `assume_role_arn` string — Assume a different IAM role after authenticating; mutually required with role_session_name.
            - `role_session_name` string — Session identifier for the assumed role; mutually required with assume_role_arn.
            - `sts_endpoint_url` string — Overrides the STS endpoint when assuming a role.
          - `target` object
            - `model` string — Sets the X-Amzn-SageMaker-Target-Model header (multi-model endpoints).
            - `variant` string — Sets the X-Amzn-SageMaker-Target-Variant header (A/B variant testing).
            - `container_hostname` string — Sets the X-Amzn-SageMaker-Target-Container-Hostname header (multi-container).
    - `policies` string[] — List of policy references.
    - `labels` PublicLabels — Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `managed_by` ManagedBy — Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character.
    - `type` 'model', required
    - `config` AIGatewayModelModelConfig, required — Routing, logging, and load balancing configuration for the model.
      - `route` AIGatewayModelRouteConfig, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway route.
        - `headers` object — One or more lists of values indexed by header name that will cause this route to match if present in the request. The `Host` header cannot be used with this attribute: hosts should be specified using the `hosts` attribute. When `headers` contains only one value and that value starts with the special prefix `~*`, the value is interpreted as a regular expression.
        - `hosts` string[] — A list of domain names that match this route. Note that the hosts value is case sensitive.
        - `https_redirect_status_code` integer — The status code Kong responds with when all properties of a route match except the protocol i.e. if the protocol of the request is `HTTP` instead of `HTTPS`. `Location` header is injected by Kong if the field is set to 301, 302, 307 or 308. Note: This config applies only if the route is configured to only accept the `https` protocol.
        - `methods` string[] — A list of HTTP methods that match this route.
        - `paths` string[] — A list of paths that match this route.
        - `preserve_host` boolean — When matching a route via one of the `hosts` domain names, use the request `Host` header in the upstream request headers. If set to `false`, the upstream `Host` header will be that of the service's `host`.
        - `protocols` string[] — An array of the protocols this route should allow. See the [route Object](#route-object) section for a list of accepted protocols. When set to only `https`, HTTP requests are answered with an upgrade error. When set to only `http`, HTTPS requests are answered with an error.
        - `regex_priority` integer — A number used to choose which route resolves a given request when several routes match it using regexes simultaneously. When two routes match the path and have the same `regex_priority`, the older one (lowest `created_at`) is used. Note that the priority for non-regex routes is different (longer non-regex routes are matched before shorter ones).
        - `request_buffering` boolean — Whether to enable request body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that receive data with chunked transfer encoding.
        - `response_buffering` boolean — Whether to enable response body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that send data with chunked transfer encoding.
        - `strip_path` boolean — When matching a route via one of the `paths`, strip the matching prefix from the upstream request URL.
        - `tags` string[] — An optional set of strings associated with the route for grouping and filtering.
        - `model` AIGatewayModelSelectorConfig — Configuration for overriding routing to this model using a selector. When no selector location is set, the format default selector is used. When values are not set, the model name is used as the selector value.
          - `body_param` string — The body property name to match for routing.
          - `header_param` string — The header property name to match for routing.
          - `path_param` string — The name of the regex capture group defined in the route path for routing.
          - `values` string[] — An optional model alias. When omitted, the model name is used. When no selector location is configured, the format default selector is used.
      - `logging` AIGatewayLoggingConfig — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging.
        - `payloads` boolean
      - `response_streaming` 'allow' | 'always' | 'deny'
      - `max_request_body_size` integer — Maximum size of request body to parse. Set to 0 for unlimited.
      - `model` object — **Pre-release Feature** This feature is currently in beta and is subject to change.
        - `name_header` boolean — **Pre-release Feature** This feature is currently in beta and is subject to change. Display the model name selected in the X-Kong-LLM-Model response header
      - `balancer` union — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model's load balancer when multiple target models are configured.
        - AIGatewayModelBalancerConsistentHashingConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'consistent-hashing', required
          - `hash_on_header` string — The header to use for consistent-hashing.
        - AIGatewayModelBalancerLeastConnectionsConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'least-connections', required
        - AIGatewayModelBalancerLowestLatencyConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'lowest-latency', required
          - `latency_strategy` 'e2e' | 'tpot', required — What metrics to use for latency. Available values are: `tpot` (time-per-output-token) and `e2e`.
        - AIGatewayModelBalancerLowestUsageConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'lowest-usage', required
          - `tokens_count_strategy` 'completion-tokens' | 'cost' | 'llm-accuracy' | 'prompt-tokens' | 'total-tokens', required — Methodology to use for token usage calculation.
        - AIGatewayModelBalancerPriorityConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'priority', required
        - AIGatewayModelBalancerRoundRobinConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'round-robin', required
        - AIGatewayModelBalancerSemanticConfig — **Pre-release Feature** This feature is currently in beta and is subject to change.
          - `connect_timeout` integer
          - `fail_timeout` integer — The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`.
          - `failover_criteria` string[] — Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
          - `max_fails` integer — Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.
          - `read_timeout` integer
          - `retries` integer — The number of retries to execute upon failure to proxy.
          - `slots` integer — The number of slots in the load balancer algorithm.
          - `write_timeout` integer
          - `algorithm` 'semantic', required
          - `embeddings` object, required — Embeddings model configuration for this model.
            - `allow_auth_override` boolean — When enabled, request-level auth parameters (such as API keys or bearer tokens) will override the static values defined for the provider.
            - `provider` string, required — Reference to a model provider instance by name.
            - `name` string, required — The name of the embeddings model.
            - `config` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an embeddings model.
              - …
          - `vectordb` union, required — **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for the vector database used by the model.
            - AIGatewayModelVectorDBConfigPgVector — **Pre-release Feature** This feature is currently in beta and is subject to change.
              - …
            - AIGatewayModelVectorDBConfigRedis — **Pre-release Feature** This feature is currently in beta and is subject to change. Config for connecting to a Cloud Provider's Redis instance.
              - …
      - `proxy` AIGatewayProxyConfig — HTTP/HTTPS proxy configuration for outbound requests to the upstream AI provider.
        - `http_proxy` object — HTTP proxy server to route plaintext outbound requests through.
          - `host` string — A string representing a host name, such as example.com.
          - `port` integer — An integer representing a port number between 0 and 65535, inclusive.
        - `https_proxy` object — HTTPS proxy server to route TLS outbound requests through.
          - `host` string — A string representing a host name, such as example.com.
          - `port` integer — An integer representing a port number between 0 and 65535, inclusive.
        - `proxy_scheme` 'http' — The proxy scheme to use when connecting to the proxy server.
        - `auth` object — Credentials used to authenticate to the proxy server.
          - `username` string — The username to use for proxy authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).
          - `password` string — The password to use for proxy authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).
        - `no_proxy` string — Comma-separated list of hosts that should not be proxied.
    - `capabilities` string[], required — List of AI capabilities enabled for this model.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `429` — Too Many Requests

---

[API](https://skmtc.net/kong/apis/konnect-api-go-sdk.md) · [All operations](https://skmtc.net/kong/apis/konnect-api-go-sdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kong/konnect-api-go-sdk/revisions/68eab1ba2ab7/schema)
