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
Rate Limits
FinOps
Kgateway Finops
FINOPSSemantic Vocabularies
Resources
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Videos
Videos
📰
Blog
Blog
🔗
Documentation
Documentation
👥
GitHub
GitHub
Sources
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