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/