Saltar al contenido principal
GET
Obtén la salud de entrega de la suscripción

Autorizaciones

Authorization
string
header
requerido

Un JWT bearer emitido por plugin-auth (lib-auth). La identidad del tenant se resuelve a partir de los claims validados del token; la superficie /v1 nunca lee un tenant del cuerpo, del path ni de la query. Los llamadores de máquina obtienen un token vía el flujo client-credentials de plugin-auth. La superficie /admin autoriza contra un scope de operador y no lleva contexto de tenant.

Parámetros de ruta

id
string<uuid>
requerido

The unique identifier of the subscription (UUIDv7).

Respuesta

El resumen de salud de entrega.

The consolidated, non-secret delivery-health rollup for one subscription.

subscription_id
string<uuid>
requerido

The subscription the rollup describes.

Ejemplo:

"0192f1a0-0000-7000-8000-00000000a001"

enabled
boolean
requerido

The operator on/off flag.

Ejemplo:

true

verification_state
enum<string>
requerido

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.

Opciones disponibles:
pending_verification,
active,
degraded,
disabled
status
enum<string>
requerido

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.

Opciones disponibles:
Healthy,
Degraded,
Down
delivery_outcomes
object
requerido

Delivery-attempt outcome counts over the configured recent window (keyed by outcome, e.g. delivered, failed, dead_lettered). Always an object, never null.

Ejemplo:
recent_outcomes
object
requerido

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.

Ejemplo:
success_rate
number | null
requerido

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.

Ejemplo:

0.7

dead_lettered
integer
requerido

The count of dead-lettered attempts in the window.

Ejemplo:

1

poison_events
integer
requerido

A best-effort count of quarantined (poison) events keyed on the untrusted captured tenant id; drives dropped_tenant.

Ejemplo:

3

dropped_tenant
boolean
requerido

True when quarantined tenant events were observed.

Ejemplo:

true

consumer_lag_ms
integer<int64>
requerido

Process consumer lag in milliseconds; 0 when no lag-as-time source is exposed.

Ejemplo:

12000

auto_disabled
boolean | null
requerido

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").

Ejemplo:

true

disabled_reason
string

A fixed, secret-free auto-disable verdict token (e.g. consecutive_failures). Omitted when empty.

Ejemplo:

"consecutive_failures"

last_success_at
string<date-time>

The last successful delivery timestamp (RFC 3339). Omitted when none.

Ejemplo:

"2026-06-01T12:00:00Z"

last_failure_at
string<date-time>

The last failed delivery timestamp (RFC 3339). Omitted when none.

Ejemplo:

"2026-06-05T09:30:00Z"