Kubernetes Services Gateway API

Gateway resources instantiating traffic-handling infrastructure such as cloud load balancers or in-cluster proxies, with listeners for each protocol.

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/kubernetes-services-gateway-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 email required.

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

OpenAPI Specification

kubernetes-services-gateway-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Kubernetes Services Kubernetes EndpointSlices Gateway API
  description: The Kubernetes EndpointSlices API tracks the IP addresses, ports, readiness, and topology information for Pods backing a Service. EndpointSlices replaced the older Endpoints API to improve scalability for large clusters with thousands of pods. A single Service may be backed by multiple EndpointSlices, and the EndpointSlice controller automatically manages their lifecycle in response to pod and Service changes.
  version: v1.32.0
  contact:
    name: Kubernetes Community
    url: https://kubernetes.io/community/
  termsOfService: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://kubernetes.default.svc
  description: In-cluster Kubernetes API Server
security:
- bearerAuth: []
- clientCertificate: []
tags:
- name: Gateway
  description: Gateway resources instantiating traffic-handling infrastructure such as cloud load balancers or in-cluster proxies, with listeners for each protocol.
paths:
  /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways:
    get:
      operationId: listNamespacedGateways
      summary: Kubernetes Services List Gateways in a namespace
      description: Returns a list of all Gateway resources in the specified namespace. Each Gateway represents an instance of traffic-handling infrastructure provisioned by the referenced GatewayClass controller.
      tags:
      - Gateway
      parameters:
      - $ref: '#/components/parameters/NamespaceParam'
      - $ref: '#/components/parameters/LabelSelector'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Watch'
      responses:
        '200':
          description: List of Gateway resources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createNamespacedGateway
      summary: Kubernetes Services Create a Gateway
      description: Creates a new Gateway in the specified namespace. The Gateway references a GatewayClass and defines one or more listeners with their protocol, port, and allowed routes configuration.
      tags:
      - Gateway
      parameters:
      - $ref: '#/components/parameters/NamespaceParam'
      - $ref: '#/components/parameters/DryRun'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Gateway'
      responses:
        '201':
          description: Gateway created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways/{name}:
    get:
      operationId: getNamespacedGateway
      summary: Kubernetes Services Get a Gateway
      description: Returns the specified Gateway including its GatewayClass reference, listener configurations, and current conditions reported by the gateway controller.
      tags:
      - Gateway
      parameters:
      - $ref: '#/components/parameters/NamespaceParam'
      - $ref: '#/components/parameters/NameParam'
      responses:
        '200':
          description: Gateway details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: replaceNamespacedGateway
      summary: Kubernetes Services Replace a Gateway
      description: Replaces the full specification of the specified Gateway, triggering the gateway controller to reconcile listeners and attached routes.
      tags:
      - Gateway
      parameters:
      - $ref: '#/components/parameters/NamespaceParam'
      - $ref: '#/components/parameters/NameParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Gateway'
      responses:
        '200':
          description: Gateway updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteNamespacedGateway
      summary: Kubernetes Services Delete a Gateway
      description: Deletes the specified Gateway and triggers the controller to deprovision the associated traffic-handling infrastructure.
      tags:
      - Gateway
      parameters:
      - $ref: '#/components/parameters/NamespaceParam'
      - $ref: '#/components/parameters/NameParam'
      responses:
        '200':
          description: Gateway deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    DryRun:
      name: dryRun
      in: query
      description: If 'All', validates without persisting.
      schema:
        type: string
        enum:
        - All
    LabelSelector:
      name: labelSelector
      in: query
      description: Label selector to filter resources.
      schema:
        type: string
    NameParam:
      name: name
      in: path
      required: true
      description: Name of the resource.
      schema:
        type: string
    NamespaceParam:
      name: namespace
      in: path
      required: true
      description: Namespace name to scope the request.
      schema:
        type: string
    Watch:
      name: watch
      in: query
      description: If true, stream watch events.
      schema:
        type: boolean
    Limit:
      name: limit
      in: query
      description: Maximum number of items to return.
      schema:
        type: integer
        minimum: 1
  responses:
    NotFound:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Status'
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Status'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Status'
  schemas:
    GatewayListener:
      type: object
      description: A listener on a Gateway defining the protocol, port, optional hostname, and which routes are allowed to attach.
      required:
      - name
      - protocol
      - port
      properties:
        name:
          type: string
          description: Unique name for this listener within the Gateway.
        protocol:
          type: string
          enum:
          - HTTP
          - HTTPS
          - TLS
          - TCP
          - UDP
          description: Network protocol this listener accepts.
        port:
          type: integer
          minimum: 1
          maximum: 65535
          description: Port number the listener accepts traffic on.
        hostname:
          type: string
          description: Hostname this listener matches. Supports wildcard prefix like *.example.com. Empty matches all hostnames.
        tls:
          type: object
          description: TLS configuration for HTTPS and TLS listeners.
          properties:
            mode:
              type: string
              enum:
              - Terminate
              - Passthrough
              description: TLS mode. Terminate decrypts traffic at the gateway; Passthrough forwards encrypted traffic to the backend.
            certificateRefs:
              type: array
              description: References to TLS certificate Secrets.
              items:
                type: object
                properties:
                  name:
                    type: string
                  namespace:
                    type: string
        allowedRoutes:
          type: object
          description: Defines which routes can attach to this listener.
          properties:
            namespaces:
              type: object
              properties:
                from:
                  type: string
                  enum:
                  - All
                  - Same
                  - Selector
                  description: Namespaces from which routes may attach. Same means only the Gateway's namespace; All means any namespace.
    ObjectMeta:
      type: object
      description: Standard Kubernetes object metadata.
      properties:
        name:
          type: string
          description: Name of the object.
        namespace:
          type: string
          description: Namespace of the object.
        uid:
          type: string
          description: Unique server-assigned identifier.
        resourceVersion:
          type: string
          description: Internal version string.
        creationTimestamp:
          type: string
          format: date-time
          description: Creation timestamp.
        labels:
          type: object
          additionalProperties:
            type: string
          description: Label key-value pairs.
        annotations:
          type: object
          additionalProperties:
            type: string
          description: Non-identifying metadata.
    GatewayList:
      type: object
      description: A list of Gateway resources.
      required:
      - items
      properties:
        apiVersion:
          type: string
        kind:
          type: string
          const: GatewayList
        metadata:
          $ref: '#/components/schemas/ListMeta'
        items:
          type: array
          items:
            $ref: '#/components/schemas/Gateway'
    Status:
      type: object
      description: Error or result status.
      properties:
        code:
          type: integer
        message:
          type: string
        reason:
          type: string
        status:
          type: string
          enum:
          - Success
          - Failure
    Condition:
      type: object
      description: A condition expressing an aspect of current resource state.
      required:
      - type
      - status
      properties:
        type:
          type: string
          description: Type of condition.
        status:
          type: string
          enum:
          - 'True'
          - 'False'
          - Unknown
        reason:
          type: string
          description: Machine-readable reason for the condition.
        message:
          type: string
          description: Human-readable condition details.
        lastTransitionTime:
          type: string
          format: date-time
    ListMeta:
      type: object
      description: Metadata for list responses.
      properties:
        resourceVersion:
          type: string
        continue:
          type: string
        remainingItemCount:
          type: integer
    Gateway:
      type: object
      description: A Gateway represents an instance of traffic-handling infrastructure, such as a cloud load balancer or in-cluster proxy. It listens on one or more ports and delegates routing decisions to attached Route resources.
      properties:
        apiVersion:
          type: string
          const: gateway.networking.k8s.io/v1
        kind:
          type: string
          const: Gateway
        metadata:
          $ref: '#/components/schemas/ObjectMeta'
        spec:
          type: object
          description: Gateway specification.
          required:
          - gatewayClassName
          - listeners
          properties:
            gatewayClassName:
              type: string
              description: Name of the GatewayClass this Gateway implements.
            listeners:
              type: array
              description: List of listeners for this Gateway.
              minItems: 1
              items:
                $ref: '#/components/schemas/GatewayListener'
        status:
          type: object
          description: Current status of the Gateway.
          properties:
            conditions:
              type: array
              items:
                $ref: '#/components/schemas/Condition'
            addresses:
              type: array
              description: Addresses assigned to this Gateway by the controller.
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                    - IPAddress
                    - Hostname
                  value:
                    type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Kubernetes service account or user bearer token.
    clientCertificate:
      type: mutualTLS
      description: Client TLS certificate signed by the cluster CA.
externalDocs:
  description: Kubernetes EndpointSlice API Reference
  url: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/endpoint-slice-v1/