GatewayListener

A listener on a Gateway defining the protocol, port, optional hostname, and which routes are allowed to attach.

Container OrchestrationKubernetesLoad BalancingNetworkingService Discovery

Properties

Name Type Description
name string Unique name for this listener within the Gateway.
protocol string Network protocol this listener accepts.
port integer Port number the listener accepts traffic on.
hostname string Hostname this listener matches. Supports wildcard prefix like *.example.com. Empty matches all hostnames.
tls object TLS configuration for HTTPS and TLS listeners.
allowedRoutes object Defines which routes can attach to this listener.
View JSON Schema on GitHub

JSON Schema

kubernetes-services-gatewaylistener-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/GatewayListener",
  "title": "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."
            }
          }
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/kubernetes-services-gatewaylistener"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.