openapi: 3.1.0 info: title: kgateway Kubernetes Gateway AIBackend GatewayParameters API description: 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. kgateway provides custom resource definitions (CRDs) under the gateway.kgateway.dev API group for configuring traffic policies, backends, direct responses, gateway extensions, gateway parameters, HTTP listener policies, and AI backends. These resources are managed through the Kubernetes API server. version: 2.1.0 contact: name: kgateway url: https://kgateway.dev license: name: Apache 2.0 url: https://github.com/kgateway-dev/kgateway/blob/main/LICENSE servers: - url: https://{kubernetes-api-server}/apis/gateway.kgateway.dev/v1alpha1 description: Kubernetes API Server - kgateway Custom Resources variables: kubernetes-api-server: default: kubernetes.default.svc description: The Kubernetes API server hostname security: - BearerAuth: [] tags: - name: GatewayParameters description: Customize gateway infrastructure deployment settings including replicas, container configuration, pod templates, and proxy provisioning parameters. paths: /namespaces/{namespace}/gatewayparameters: get: operationId: listGatewayParameters summary: Kgateway List GatewayParameters resources description: List all GatewayParameters resources in the specified namespace. GatewayParameters customize gateway infrastructure deployment settings. tags: - GatewayParameters parameters: - $ref: '#/components/parameters/Namespace' - $ref: '#/components/parameters/LabelSelector' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Continue' responses: '200': description: Successfully retrieved list of GatewayParameters resources. content: application/json: schema: $ref: '#/components/schemas/GatewayParametersList' '401': description: Unauthorized post: operationId: createGatewayParameters summary: Kgateway Create GatewayParameters description: Create a GatewayParameters resource to customize gateway infrastructure deployment settings including replicas, container configuration, and proxy provisioning parameters. tags: - GatewayParameters parameters: - $ref: '#/components/parameters/Namespace' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GatewayParameters' responses: '201': description: Successfully created GatewayParameters. content: application/json: schema: $ref: '#/components/schemas/GatewayParameters' '401': description: Unauthorized '409': description: Conflict - resource already exists /namespaces/{namespace}/gatewayparameters/{name}: get: operationId: getGatewayParameters summary: Kgateway Get GatewayParameters description: Retrieve a specific GatewayParameters resource by name and namespace. tags: - GatewayParameters parameters: - $ref: '#/components/parameters/Namespace' - $ref: '#/components/parameters/Name' responses: '200': description: Successfully retrieved GatewayParameters. content: application/json: schema: $ref: '#/components/schemas/GatewayParameters' '401': description: Unauthorized '404': description: GatewayParameters not found put: operationId: replaceGatewayParameters summary: Kgateway Replace GatewayParameters description: Replace a specific GatewayParameters resource. tags: - GatewayParameters parameters: - $ref: '#/components/parameters/Namespace' - $ref: '#/components/parameters/Name' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GatewayParameters' responses: '200': description: Successfully replaced GatewayParameters. content: application/json: schema: $ref: '#/components/schemas/GatewayParameters' '401': description: Unauthorized '404': description: GatewayParameters not found delete: operationId: deleteGatewayParameters summary: Kgateway Delete GatewayParameters description: Delete a specific GatewayParameters resource. tags: - GatewayParameters parameters: - $ref: '#/components/parameters/Namespace' - $ref: '#/components/parameters/Name' responses: '200': description: Successfully deleted GatewayParameters. '401': description: Unauthorized '404': description: GatewayParameters not found components: parameters: Name: name: name in: path required: true description: The name of the resource. schema: type: string Namespace: name: namespace in: path required: true description: The Kubernetes namespace. schema: type: string Limit: name: limit in: query required: false description: Maximum number of resources to return. schema: type: integer Continue: name: continue in: query required: false description: Continue token for paginated list requests. schema: type: string LabelSelector: name: labelSelector in: query required: false description: A selector to restrict the list of returned objects by labels. schema: type: string schemas: ObjectMeta: type: object description: Standard Kubernetes object metadata. properties: name: type: string description: Name of the resource. namespace: type: string description: Namespace of the resource. labels: type: object additionalProperties: type: string description: Map of string keys and values for organizing resources. annotations: type: object additionalProperties: type: string description: Annotations for storing arbitrary metadata. resourceVersion: type: string description: An opaque value that represents the internal version of this object. creationTimestamp: type: string format: date-time description: Timestamp representing the server time when this object was created. GatewayParametersList: type: object description: List of GatewayParameters resources. properties: apiVersion: type: string kind: type: string enum: - GatewayParametersList metadata: type: object properties: continue: type: string resourceVersion: type: string items: type: array items: $ref: '#/components/schemas/GatewayParameters' GatewayParameters: type: object description: GatewayParameters customizes gateway infrastructure deployment settings including replicas, container configuration, and proxy provisioning. properties: apiVersion: type: string enum: - gateway.kgateway.dev/v1alpha1 kind: type: string enum: - GatewayParameters metadata: $ref: '#/components/schemas/ObjectMeta' spec: type: object description: GatewayParametersSpec defines the desired state of GatewayParameters. properties: kube: type: object description: Kubernetes deployment settings. properties: deployment: type: object properties: replicas: type: integer description: Number of gateway proxy replicas. podTemplate: type: object description: Pod template configuration. properties: extraLabels: type: object additionalProperties: type: string extraAnnotations: type: object additionalProperties: type: string nodeSelector: type: object additionalProperties: type: string tolerations: type: array items: type: object properties: key: type: string operator: type: string value: type: string effect: type: string envoyContainer: type: object description: Envoy proxy container configuration. properties: resources: type: object properties: requests: type: object properties: cpu: type: string memory: type: string limits: type: object properties: cpu: type: string memory: type: string image: type: object properties: registry: type: string repository: type: string tag: type: string service: type: object description: Service configuration. properties: type: type: string enum: - ClusterIP - NodePort - LoadBalancer extraAnnotations: type: object additionalProperties: type: string status: type: object description: Status of the GatewayParameters. properties: conditions: type: array items: type: object properties: type: type: string status: type: string reason: type: string message: type: string lastTransitionTime: type: string format: date-time securitySchemes: BearerAuth: type: http scheme: bearer description: Kubernetes API bearer token authentication. Use a service account token or kubeconfig token. externalDocs: description: kgateway API Reference Documentation url: https://kgateway.dev/docs/envoy/latest/reference/api/