Replay Lab

Guides / Replay Lab

Handlers that work in a quick manual test often break in production: the provider sends an event twice, two deliveries arrive at the same moment, a signature is wrong, the body is cut off. Replay Lab takes one real captured event and reproduces those conditions on purpose.

Replay Lab scenariosOne captured event replayed as duplicate, concurrent, burst, invalid-signature or malformed deliveries to test how your handler copes.Captured eventnever modified--duplicate 5same event, one after another--concurrent 10same moment (race conditions)--burst 100 --duration 5sload spread over time--invalid-signaturesignature validation--malformed invalid_jsonparser error handlingHandler
Replay Lab scenarios
hwcli replay evt_93df18ab --duplicate 5             # one after another
hwcli replay evt_93df18ab --concurrent 10           # all at once
hwcli replay evt_93df18ab --delay 5s                # after a pause
hwcli replay evt_93df18ab --burst 100 --duration 5s # spread over 5 seconds
hwcli replay evt_93df18ab --invalid-signature
hwcli replay evt_93df18ab --remove-signature
hwcli replay evt_93df18ab --malformed invalid_json  # also: truncate, empty
hwcli replay evt_3 evt_1 evt_2                      # a sequence, in this order

Each Lab run reports every delivery and a summary:

Duplicate x5 → localhost:8080/webhooks
  #1  200 OK   41 ms
  #2  200 OK   12 ms
  #3  500      9 ms    duplicate key value violates unique constraint
  #4  200 OK   11 ms
  #5  200 OK   10 ms
4 of 5 succeeded · p50 11 ms · max 41 ms

Marked as synthetic

Lab deliveries carry X-HookWatcher-Synthetic: replay-lab and X-HookWatcher-Replay: <id>, and are labelled as synthetic in the dashboard. They are never confused with real provider traffic. Plain replays add no headers.

Limits

Duplicates, sequences and delays work on every plan. Concurrent and burst deliveries need a paid plan. On Free you can send up to 3 duplicates and delays up to 10 s. On Pro: 50 duplicates, 50 concurrent, bursts of 500 and delays up to 300 s. See pricing. Lab runs to production-looking hosts always ask for confirmation.

Create an endpoint and capture your first webhook. No signup needed.

Start Free