Skip to main content
Capture one real webhook, then iterate against it forever — forward the live stream, replay a stored event, tweak its body to hit an edge case, repeat. You stop depending on the provider to re-send anything.
1

Capture one real event

Point the provider at your ingest URL and send once. That event is now stored and replayable indefinitely.
wbhk events list <endpoint-id> --all
2

Forward the stream while you work

--since from-last-ack with --resume picks up where you left off across restarts, so a rebuild doesn’t replay the whole backlog.
wbhk listen <endpoint-id> --forward http://localhost:3000/webhooks --resume
3

Replay one event, editing the payload

--edit opens the body in $EDITOR before forwarding — flip a field, add a line item, null something out, and fire it at your handler.
wbhk replay <event-id> --forward http://localhost:3000/webhooks --edit
An edited replay won’t re-verify against the provider’s original signature — you’re exercising handler logic, not verification. Replay without --edit to send the exact captured bytes.
Reading, listing, and replaying to localhost cost nothing — only a replay that forwards to a destination is a metered delivery. See what counts as an event.