Kgateway website screenshot

Kgateway

kgateway is the most widely deployed gateway in Kubernetes for microservices and AI agents. It is a feature-rich, fast, and flexible Kubernetes-native ingress controller and next-generation API gateway built on top of Envoy proxy and the Kubernetes Gateway API.

1 APIs 0 Features
Gateways

APIs

Kgateway Kubernetes Gateway API

The kgateway Kubernetes Gateway API provides custom resource definitions (CRDs) under the gateway.kgateway.dev/v1alpha1 API group for managing traffic policies, backends, direct...

Collections

Pricing Plans

Kgateway Plans Pricing

3 plans

PLANS

Rate Limits

Kgateway Rate Limits

5 limits

RATE LIMITS

FinOps

Semantic Vocabularies

Kgateway Context

0 classes · 7 properties

JSON-LD

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Videos
Videos
📰
Blog
Blog
🔗
Documentation
Documentation
👥
GitHub
GitHub

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: kgateway Kubernetes Gateway API
  version: 2.1.0
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: TrafficPolicy
    type: folder
  items:
  - info:
      name: Kgateway List TrafficPolicy resources
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/trafficpolicies
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned objects by labels.
      - name: limit
        value: ''
        type: query
        description: Maximum number of resources to return.
      - name: continue
        value: ''
        type: query
        description: Continue token for paginated list requests.
    docs: List all TrafficPolicy resources in the specified namespace.
  - info:
      name: Kgateway Create a TrafficPolicy
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/trafficpolicies
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      body:
        type: json
        data: '{}'
    docs: Create a TrafficPolicy resource to attach traffic management policies to routes in an HTTPRoute resource.
  - info:
      name: Kgateway Get a TrafficPolicy
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/trafficpolicies/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Retrieve a specific TrafficPolicy resource by name and namespace.
  - info:
      name: Kgateway Replace a TrafficPolicy
      type: http
    http:
      method: PUT
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/trafficpolicies/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
      body:
        type: json
        data: '{}'
    docs: Replace a specific TrafficPolicy resource.
  - info:
      name: Kgateway Delete a TrafficPolicy
      type: http
    http:
      method: DELETE
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/trafficpolicies/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Delete a specific TrafficPolicy resource.
- info:
    name: Backend
    type: folder
  items:
  - info:
      name: Kgateway List Backend resources
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/backends
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned objects by labels.
      - name: limit
        value: ''
        type: query
        description: Maximum number of resources to return.
      - name: continue
        value: ''
        type: query
        description: Continue token for paginated list requests.
    docs: List all Backend resources in the specified namespace. Backends define routable external services such as AI providers,
      AWS Lambda functions, or static servers.
  - info:
      name: Kgateway Create a Backend
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/backends
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      body:
        type: json
        data: '{}'
    docs: Create a Backend resource to define a routable backend such as an AI provider, AWS Lambda function, or static server.
  - info:
      name: Kgateway Get a Backend
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/backends/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Retrieve a specific Backend resource by name and namespace.
  - info:
      name: Kgateway Replace a Backend
      type: http
    http:
      method: PUT
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/backends/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
      body:
        type: json
        data: '{}'
    docs: Replace a specific Backend resource.
  - info:
      name: Kgateway Delete a Backend
      type: http
    http:
      method: DELETE
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/backends/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Delete a specific Backend resource.
- info:
    name: DirectResponse
    type: folder
  items:
  - info:
      name: Kgateway List DirectResponse resources
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/directresponses
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned objects by labels.
      - name: limit
        value: ''
        type: query
        description: Maximum number of resources to return.
      - name: continue
        value: ''
        type: query
        description: Continue token for paginated list requests.
    docs: List all DirectResponse resources in the specified namespace. DirectResponse resources allow Gateways to directly
      respond to requests with custom HTTP response codes and bodies.
  - info:
      name: Kgateway Create a DirectResponse
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/directresponses
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      body:
        type: json
        data: '{}'
    docs: Create a DirectResponse resource to configure a Gateway to directly respond to incoming requests with a custom HTTP
      response.
  - info:
      name: Kgateway Get a DirectResponse
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/directresponses/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Retrieve a specific DirectResponse resource by name and namespace.
  - info:
      name: Kgateway Replace a DirectResponse
      type: http
    http:
      method: PUT
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/directresponses/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
      body:
        type: json
        data: '{}'
    docs: Replace a specific DirectResponse resource.
  - info:
      name: Kgateway Delete a DirectResponse
      type: http
    http:
      method: DELETE
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/directresponses/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Delete a specific DirectResponse resource.
- info:
    name: GatewayExtension
    type: folder
  items:
  - info:
      name: Kgateway List GatewayExtension resources
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/gatewayextensions
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned objects by labels.
      - name: limit
        value: ''
        type: query
        description: Maximum number of resources to return.
      - name: continue
        value: ''
        type: query
        description: Continue token for paginated list requests.
    docs: List all GatewayExtension resources in the specified namespace. GatewayExtensions integrate external services with
      a Gateway.
  - info:
      name: Kgateway Create a GatewayExtension
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/gatewayextensions
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      body:
        type: json
        data: '{}'
    docs: Create a GatewayExtension resource to integrate external services such as external auth, rate limiting, or external
      processing with a Gateway.
  - info:
      name: Kgateway Get a GatewayExtension
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/gatewayextensions/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Retrieve a specific GatewayExtension resource by name and namespace.
  - info:
      name: Kgateway Replace a GatewayExtension
      type: http
    http:
      method: PUT
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/gatewayextensions/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
      body:
        type: json
        data: '{}'
    docs: Replace a specific GatewayExtension resource.
  - info:
      name: Kgateway Delete a GatewayExtension
      type: http
    http:
      method: DELETE
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/gatewayextensions/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Delete a specific GatewayExtension resource.
- info:
    name: GatewayParameters
    type: folder
  items:
  - info:
      name: Kgateway List GatewayParameters resources
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/gatewayparameters
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned objects by labels.
      - name: limit
        value: ''
        type: query
        description: Maximum number of resources to return.
      - name: continue
        value: ''
        type: query
        description: Continue token for paginated list requests.
    docs: List all GatewayParameters resources in the specified namespace. GatewayParameters customize gateway infrastructure
      deployment settings.
  - info:
      name: Kgateway Create GatewayParameters
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/gatewayparameters
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      body:
        type: json
        data: '{}'
    docs: Create a GatewayParameters resource to customize gateway infrastructure deployment settings including replicas,
      container configuration, and proxy provisioning parameters.
  - info:
      name: Kgateway Get GatewayParameters
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/gatewayparameters/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Retrieve a specific GatewayParameters resource by name and namespace.
  - info:
      name: Kgateway Replace GatewayParameters
      type: http
    http:
      method: PUT
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/gatewayparameters/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
      body:
        type: json
        data: '{}'
    docs: Replace a specific GatewayParameters resource.
  - info:
      name: Kgateway Delete GatewayParameters
      type: http
    http:
      method: DELETE
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/gatewayparameters/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Delete a specific GatewayParameters resource.
- info:
    name: HTTPListenerPolicy
    type: folder
  items:
  - info:
      name: Kgateway List HTTPListenerPolicy resources
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/httplistenerpolicies
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned objects by labels.
      - name: limit
        value: ''
        type: query
        description: Maximum number of resources to return.
      - name: continue
        value: ''
        type: query
        description: Continue token for paginated list requests.
    docs: List all HTTPListenerPolicy resources in the specified namespace. HTTPListenerPolicies apply policies to all HTTP
      and HTTPS listeners on a Gateway.
  - info:
      name: Kgateway Create an HTTPListenerPolicy
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/httplistenerpolicies
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      body:
        type: json
        data: '{}'
    docs: Create an HTTPListenerPolicy resource to apply policies to all HTTP and HTTPS listeners defined on a Gateway.
  - info:
      name: Kgateway Get an HTTPListenerPolicy
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/httplistenerpolicies/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Retrieve a specific HTTPListenerPolicy resource by name and namespace.
  - info:
      name: Kgateway Replace an HTTPListenerPolicy
      type: http
    http:
      method: PUT
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/httplistenerpolicies/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
      body:
        type: json
        data: '{}'
    docs: Replace a specific HTTPListenerPolicy resource.
  - info:
      name: Kgateway Delete an HTTPListenerPolicy
      type: http
    http:
      method: DELETE
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/httplistenerpolicies/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Delete a specific HTTPListenerPolicy resource.
- info:
    name: AIBackend
    type: folder
  items:
  - info:
      name: Kgateway List AIBackend resources
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/aibackends
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned objects by labels.
      - name: limit
        value: ''
        type: query
        description: Maximum number of resources to return.
      - name: continue
        value: ''
        type: query
        description: Continue token for paginated list requests.
    docs: List all AIBackend resources in the specified namespace. AIBackends configure AI provider backends such as OpenAI,
      Azure OpenAI, and Gemini for AI gateway routing.
  - info:
      name: Kgateway Create an AIBackend
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/aibackends
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      body:
        type: json
        data: '{}'
    docs: Create an AIBackend resource to configure an AI provider backend with LLM provider settings and priority groups.
  - info:
      name: Kgateway Get an AIBackend
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/aibackends/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Retrieve a specific AIBackend resource by name and namespace.
  - info:
      name: Kgateway Replace an AIBackend
      type: http
    http:
      method: PUT
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/aibackends/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
      body:
        type: json
        data: '{}'
    docs: Replace a specific AIBackend resource.
  - info:
      name: Kgateway Delete an AIBackend
      type: http
    http:
      method: DELETE
      url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1/namespaces/:namespace/aibackends/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Delete a specific AIBackend resource.
bundled: true