Get a subscription's delivery health
Rolls one subscription’s delivery record into a single non-secret view: outcome counts over the hub’s window and over the last 24 hours, dead-lettered and poison-event counts, the auto-disable verdict, the success rate and the consumer lag.
It answers the question none of the other subscription reads can: whether the events this tenant subscribed to are ACTUALLY ARRIVING. Listing a subscription proves it is registered and enabled; only this shows whether the endpoint behind it has been accepting deliveries.
‘auto_disabled’ and ‘success_rate’ are NULLABLE and null is not the zero value of either. A null ‘auto_disabled’ means the hub holds no endpoint-health row yet, which is not the same fact as false (“checked, and healthy”). A null ‘success_rate’ means no delivery attempt has reached a terminal outcome yet, which is not the same fact as 0.0 (“every attempt failed”). A client that reads either null as its zero value reports a healthy endpoint as broken, or a broken one as fine.
‘disabled_reason’, ‘last_success_at’ and ‘last_failure_at’ are null when there is nothing to report, and the key is always present.
‘status’ and ‘verification_state’ are FREE strings carried through from the hub, not a closed vocabulary this gateway pins. The hub may add a value, and a client should render an unrecognized one by its identifier rather than refuse the response.
This is a FORWARD, not a local read: the gateway owns no subscription storage. The hub answers an unknown subscription and another tenant’s subscription with the SAME 404, publishing no existence oracle, and that 404 reaches the caller unchanged. This gateway does not reinterpret it, because splitting it into “no such subscription” and “not yours” would state something the hub deliberately refused to state.
The tenant is derived from the validated identity and is never read from the request.
Authorizations
JWT bearer token issued by the identity provider.
Headers
Bearer token, relayed to the streaming-hub as server-to-server auth.
"Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvcHMifQ.signature"
Path Parameters
Subscription id.
"0192f1a0-0000-7000-8000-0000000000ff"
Response
OK
Endpoint-health auto-disable verdict: null when the hub has no health row yet, false when healthy, true when tripped. Null is never false.
false
Process consumer lag behind the high watermark, in milliseconds.
120
Count of dead-lettered delivery attempts in the window.
2
Delivery-attempt outcome counts over the hub's configured window, keyed by outcome.
Fixed, secret-free auto-disable verdict token; null when the subscription was not auto-disabled.
"consecutive_failures"
Whether any events were dropped or quarantined for this tenant.
false
Whether delivery is enabled (manual operator toggle).
true
Instant of the last failed delivery; null when there has never been one.
"2026-01-15T09:29:00Z"
Instant of the last successful delivery; null when there has never been one.
"2026-01-15T09:30:00Z"
Count of quarantined poison events for this tenant.
0
Last-24h delivery-outcome breakdown, keyed by outcome.
Rolled-up operator status (Healthy, Degraded, Down). A free string, not a closed vocabulary.
"Healthy"
The subscription this health view is for.
"0192f1a0-0000-7000-8000-0000000000ff"
Share of terminal delivery attempts that succeeded, in [0.0, 1.0]; null when no terminal attempt has happened yet. Null is never zero.
0.98
Position in the destination verification state machine (pending_verification, active, degraded, disabled). A free string, not a closed vocabulary.
"active"

