Get subscription delivery health
Returns a consolidated, non-secret delivery-health rollup for one subscription — the “why did this tenant stop receiving events” view. The existence gate runs first, so an absent, soft-deleted, or cross-tenant id returns a uniform 404 not_found. Outcome counts are a recent-window view, not an all-time tally.
Authorizations
A bearer JWT issued by plugin-auth (lib-auth). The tenant identity is resolved from the validated token claims; the /v1 surface never reads a tenant from the body, path, or query. Machine callers obtain a token via the plugin-auth client-credentials flow. The /admin surface authorizes against an operator scope and carries no tenant context.
Path Parameters
The unique identifier of the subscription (UUIDv7).
Response
The delivery-health rollup.
The consolidated, non-secret delivery-health rollup for one subscription.
The subscription the rollup describes.
"0192f1a0-0000-7000-8000-00000000a001"
The operator on/off flag.
true
The subscription's position in the destination verification state machine. Only an active subscription is deliverable. A webhook sub is born active; a queue sub is born pending_verification and reaches active on a successful credential probe. degraded and disabled signal an impaired or auto-disabled destination that a successful verify returns to active.
pending_verification, active, degraded, disabled The rolled-up delivery-health verdict. Down means the subscription was auto-disabled by the system (the endpoint is judged broken); Degraded means a lesser impairment (a manual disable, dead-lettered attempts, or dropped tenant events); Healthy otherwise.
Healthy, Degraded, Down Delivery-attempt outcome counts over the configured recent window (keyed by outcome, e.g. delivered, failed, dead_lettered). Always an object, never null.
The same outcome histogram restricted to the last 24 hours (a subset of delivery_outcomes). Always an object; an outcome with no recent activity is simply a missing key.
The derived per-attempt delivery rate over the window (delivered / (delivered + failed + dead_lettered)), in [0.0, 1.0]. null when there are zero terminal attempts (distinct from a genuine 0.0). Per-attempt, not per-job, and informational only — it does not change status.
0.7
The count of dead-lettered attempts in the window.
1
A best-effort count of quarantined (poison) events keyed on the untrusted captured tenant id; drives dropped_tenant.
3
True when quarantined tenant events were observed.
true
Process consumer lag in milliseconds; 0 when no lag-as-time source is exposed.
12000
The auto-disable verdict: null when the subscription has no recorded attempts yet, false when a health row exists with no verdict, true when auto-disable has tripped (which drives status: "Down").
true
A fixed, secret-free auto-disable verdict token (e.g. consecutive_failures). Omitted when empty.
"consecutive_failures"
The last successful delivery timestamp (RFC 3339). Omitted when none.
"2026-06-01T12:00:00Z"
The last failed delivery timestamp (RFC 3339). Omitted when none.
"2026-06-05T09:30:00Z"

