The deploy window
Pause before deploying
Pausing is awrite mutation. Webhooks received while the forwarder is paused are queued, not discarded, and deliver when you resume.
Confirm every entry in
results has success: true before deploying. --forwarder is repeatable — pass it once per forwarder that points at the service you are deploying, and verify each one paused.Deploy, then resume
Run your deployment out of band. When the target is healthy again, resume — queued deliveries begin draining immediately.Confirm recovery
Do not call a deploy healthy because resume returnedsuccess: true — that only confirms the forwarder is unpaused. Confirm a real delivery succeeded.
expect exits 0 when a matching event arrives, 7 if none does before the timeout. health --fail-on exits 8 (partial_failure) when the threshold is breached. Treat a clean expect and a clean health as the recovery signal; either non-zero exit means roll forward into diagnosis.Pause versus disable
forwarder pause — temporary, queued
forwarder pause — temporary, queued
Stops delivery but keeps queuing inbound webhooks. Reversible with
resume, which drains the backlog. This is the deploy-window primitive — use it whenever you intend to bring the target back.forwarder disable — durable stop
forwarder disable — durable stop
forwarder disable -b <slug> -f <name> marks the forwarder inactive so it no longer takes deliveries. Use it to retire a target, not to bracket a deploy. Re-enable it from the dashboard or by recreating the route.If recovery fails
A failed recovery check is recoverable — nothing was lost.Keep serving
The backlog already drained or is draining. New events keep flowing; you are diagnosing, not firefighting data loss.
Find the failures
Run
forwards search --failed and inspect forwards chain for the failing events. See Diagnose webhooks.Replay what failed
Replay the DLQ or the failed event IDs behind a dry-run. See Replay deliveries.
Continue
Wait for events
The
expect and tail commands that confirm recovery.Replay deliveries
Re-deliver anything that failed during the window.
Provision targets
Create forwarders and set the rate limits that tame a drain.