Kgateway GatewayExtension API

Integrate external services with a Gateway such as external auth, rate limiting, and external processing. Serves as a configuration bridge between kgateway and external services that extend Gateway functionality.

Operations 5

GET /namespaces/{namespace}/gatewayextensions Kgateway List GatewayExtension resources #
POST /namespaces/{namespace}/gatewayextensions Kgateway Create a GatewayExtension #
GET /namespaces/{namespace}/gatewayextensions/{name} Kgateway Get a GatewayExtension #
PUT /namespaces/{namespace}/gatewayextensions/{name} Kgateway Replace a GatewayExtension #
DELETE /namespaces/{namespace}/gatewayextensions/{name} Kgateway Delete a GatewayExtension #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kgateway-gatewayextension-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kgateway-gatewayextension-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: kgateway Kubernetes Gateway AIBackend Gateway Extension 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: GatewayExtension
  description: Integrate external services with a Gateway such as external auth, rate limiting, and external processing. Serves as a configuration bridge between kgateway and external services that extend Gateway functionality.
paths:
  /namespaces/{namespace}/gatewayextensions:
    get:
      operationId: listGatewayExtensions
      summary: Kgateway List GatewayExtension resources
      description: List all GatewayExtension resources in the specified namespace. GatewayExtensions integrate external services with a Gateway.
      tags:
      - GatewayExtension
      parameters:
      - $ref: '#/components/parameters/Namespace'
      - $ref: '#/components/parameters/LabelSelector'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Continue'
      responses:
        '200':
          description: Successfully retrieved list of GatewayExtension resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayExtensionList'
        '401':
          description: Unauthorized
    post:
      operationId: createGatewayExtension
      summary: Kgateway Create a GatewayExtension
      description: Create a GatewayExtension resource to integrate external services such as external auth, rate limiting, or external processing with a Gateway.
      tags:
      - GatewayExtension
      parameters:
      - $ref: '#/components/parameters/Namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewayExtension'
      responses:
        '201':
          description: Successfully created GatewayExtension.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayExtension'
        '401':
          description: Unauthorized
        '409':
          description: Conflict - resource already exists
  /namespaces/{namespace}/gatewayextensions/{name}:
    get:
      operationId: getGatewayExtension
      summary: Kgateway Get a GatewayExtension
      description: Retrieve a specific GatewayExtension resource by name and namespace.
      tags:
      - GatewayExtension
      parameters:
      - $ref: '#/components/parameters/Namespace'
      - $ref: '#/components/parameters/Name'
      responses:
        '200':
          description: Successfully retrieved GatewayExtension.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayExtension'
        '401':
          description: Unauthorized
        '404':
          description: GatewayExtension not found
    put:
      operationId: replaceGatewayExtension
      summary: Kgateway Replace a GatewayExtension
      description: Replace a specific GatewayExtension resource.
      tags:
      - GatewayExtension
      parameters:
      - $ref: '#/components/parameters/Namespace'
      - $ref: '#/components/parameters/Name'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewayExtension'
      responses:
        '200':
          description: Successfully replaced GatewayExtension.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayExtension'
        '401':
          description: Unauthorized
        '404':
          description: GatewayExtension not found
    delete:
      operationId: deleteGatewayExtension
      summary: Kgateway Delete a GatewayExtension
      description: Delete a specific GatewayExtension resource.
      tags:
      - GatewayExtension
      parameters:
      - $ref: '#/components/parameters/Namespace'
      - $ref: '#/components/parameters/Name'
      responses:
        '200':
          description: Successfully deleted GatewayExtension.
        '401':
          description: Unauthorized
        '404':
          description: GatewayExtension not found
components:
  schemas:
    GatewayExtensionList:
      type: object
      description: List of GatewayExtension resources.
      properties:
        apiVersion:
          type: string
        kind:
          type: string
          enum:
          - GatewayExtensionList
        metadata:
          type: object
          properties:
            continue:
              type: string
            resourceVersion:
              type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/GatewayExtension'
    GatewayExtension:
      type: object
      description: GatewayExtension integrates external services with a Gateway such as external auth, rate limiting, and external processing.
      properties:
        apiVersion:
          type: string
          enum:
          - gateway.kgateway.dev/v1alpha1
        kind:
          type: string
          enum:
          - GatewayExtension
        metadata:
          $ref: '#/components/schemas/ObjectMeta'
        spec:
          type: object
          description: GatewayExtensionSpec defines the desired state of a GatewayExtension.
          properties:
            type:
              type: string
              description: Type of the gateway extension.
              enum:
              - ExtAuth
              - ExtProc
              - RateLimit
            extAuth:
              type: object
              description: External auth extension configuration.
              properties:
                grpcService:
                  type: object
                  properties:
                    backendRef:
                      type: object
                      properties:
                        name:
                          type: string
                        namespace:
                          type: string
                        port:
                          type: integer
            extProc:
              type: object
              description: External processing extension configuration.
              properties:
                grpcService:
                  type: object
                  properties:
                    backendRef:
                      type: object
                      properties:
                        name:
                          type: string
                        namespace:
                          type: string
                        port:
                          type: integer
            rateLimit:
              type: object
              description: Rate limit extension configuration.
              properties:
                grpcService:
                  type: object
                  properties:
                    backendRef:
                      type: object
                      properties:
                        name:
                          type: string
                        namespace:
                          type: string
                        port:
                          type: integer
        status:
          type: object
          description: Status of the GatewayExtension.
          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
    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.
  parameters:
    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
    Namespace:
      name: namespace
      in: path
      required: true
      description: The Kubernetes namespace.
      schema:
        type: string
    Name:
      name: name
      in: path
      required: true
      description: The name of the resource.
      schema:
        type: string
  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/