Skip to main content
Something downstream broke and deliveries are piling up as dead. Find them, read why, fix the receiver, re-enable it, and replay exactly the events it missed — nothing lost, nothing double-run if your consumer is idempotent.
1

List what failed

dead means the retry schedule (8 attempts, ~32h) exhausted; failed is an attempt that errored. Filter to both.
wbhk deliveries list --status failed,dead
2

Read the actual error

get shows the status code and error string from the last attempt — a 500, a TLS failure, a timeout.
wbhk deliveries get <delivery-id>
3

Fix, then re-enable the destination

After 20 dead deliveries a destination auto-disables. Clearing it resumes owed deliveries on the next wake — so re-enable only once the receiver is actually fixed.
wbhk replay-destinations enable <destination-id>
4

Replay the events it missed

Replay each captured event to the destination. The server delivers the stored bytes with a fresh idempotency key per call, so a retried replay is safe.
wbhk replay <event-id> --destination <destination-id>
Replaying to a destination re-delivers the exact signed bytes — no --edit, unlike a --forward replay to localhost. That’s what keeps the signature valid for your receiver.