AgentGateway · Schema

Route

A routing rule in AgentGateway that matches incoming requests and forwards them to a backend or MCP target.

AI GatewayAPI GatewayMCPLLMAgent-to-AgentOpen SourceCNCFObservabilitySecurity

Properties

Name Type Description
name string Unique name for this route.
matches array List of matching criteria for this route.
backend string Name of the LLM backend to forward matched requests to.
rateLimit object Rate limiting configuration for this route.
retries object Retry policy for failed requests.
View JSON Schema on GitHub

JSON Schema

agentgateway-route-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/agentgateway/refs/heads/main/json-schema/agentgateway-route-schema.json",
  "title": "Route",
  "description": "A routing rule in AgentGateway that matches incoming requests and forwards them to a backend or MCP target.",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Unique name for this route.",
      "example": "openai-route"
    },
    "matches": {
      "type": "array",
      "description": "List of matching criteria for this route.",
      "items": {
        "type": "object",
        "properties": {
          "headers": {
            "type": "array",
            "description": "Header-based match criteria.",
            "items": {
              "type": "object",
              "properties": {
                "name": { "type": "string" },
                "value": { "type": "string" }
              }
            }
          },
          "path": {
            "type": "object",
            "description": "Path-based match criteria.",
            "properties": {
              "prefix": { "type": "string" },
              "exact": { "type": "string" }
            }
          }
        }
      }
    },
    "backend": {
      "type": "string",
      "description": "Name of the LLM backend to forward matched requests to.",
      "example": "openai-gpt4"
    },
    "rateLimit": {
      "type": "object",
      "description": "Rate limiting configuration for this route.",
      "properties": {
        "requestsPerSecond": {
          "type": "integer",
          "description": "Maximum requests per second.",
          "example": 10
        },
        "burstSize": {
          "type": "integer",
          "description": "Maximum burst size above the rate limit.",
          "example": 20
        }
      }
    },
    "retries": {
      "type": "object",
      "description": "Retry policy for failed requests.",
      "properties": {
        "attempts": { "type": "integer", "example": 3 },
        "perTryTimeout": { "type": "string", "example": "30s" }
      }
    }
  },
  "required": ["name", "backend"]
}