---
title: "Listener"
description: "one listening endpoint of one role: its port, protocol and exposure class"
section: concepts
address: /concepts/listener
contract: 0476e35e6e275db5
---

# Listener

one listening endpoint of one role: its port, protocol and exposure class

[figure: Listener is a definition at platform scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | definition |
| scope | platform |
| key | the role and the port |
| store | postgres |
| family | network |



## Fields


| field | type | required | note |
|---|---|---|---|
| `role` | `one of api-gateway \| judge \| record \| work \| models \| local-server \| crawler \| identity-provider \| secrets-manager \| collector \| database \| durable-engine` | yes |  |
| `port` | `count` | yes |  |
| `protocol` | `one of https \| http \| websocket \| unix-socket \| named-pipe \| postgres \| grpc` | yes |  |
| `exposure` | `one of public-through-ingress \| private-network \| loopback-only` | yes | public means reachable only through the ingress; nothing binds a public interface itself |
| `health_path` | `text` | no | the path the load balancer and the ingress probe |
| `declared_in` | `text` | yes | the settings declaration that renders it; a listener found running and not declared fails the release check |



## Routes that use it
No route takes or returns Listener directly. The record holds it, and the objects that point at it reach it.
