Webhook Delivery Service  ·  View 18 of 20  ·  Operations

Endpoint Health Lifecycle

Six states, per endpoint, and the one transition a human has to make.

Editable source SVG draw.io All views
Registered challenge pending Healthy delivering Degraded failures rising Circuit open 20 consecutive failures Auto-disabled 72 h, backlog held Re-enabled owner chooses the backlog Endpoint health challenge passes errors accumulate threshold crossed probes keep failing owner fixes it ramped resumption Endpoint Health Lifecycle Application we own Opportunity Decision point Risk / gap An endpoint that has never once succeeded is never enabled, so the cycle cannot start in the failing half. v 1.0 · owner Integration Platform Architecture · date 2026-09

Decisions

  • Health is per endpoint, never per tenant. A tenant with five endpoints has five independent health states, five circuits and five backlogs (ADR-02).
  • An endpoint that has never once succeeded is never enabled, so the cycle cannot start in the failing half.
  • Re-enable is a deliberate human action with an explicit choice — deliver the backlog, skip it, or resume from a point. Making that choice for the customer is the platform deciding how much of their history to replay into their production system (ADR-14).
  • Health is recomputed from recent attempts rather than stored as truth, so a stale health record can never be why a working endpoint is not delivered to.

Assumptions

  • Circuit opens at 20 consecutive failures, probes every 5 minutes, auto-disable after 72 hours with zero successes, resumption ramped over 5 minutes.
  • Degraded is an observable state exposed to the owner rather than an internal one, because the point of it is to be seen before the circuit opens.

Open

  • How long a backlog is held for a disabled endpoint nobody re-enables. Thirty days is assumed; the honest answer depends on how many abandoned endpoints the population actually contains, which nobody knows before launch.