Replay Cases
Replay cases turn captured webhook requests into repeatable integration tests. Save a useful request, add assertions for the response you expect, then replay one case or a suite of cases against a local CLI listener, staging URL, or production-like target.
When to use replay cases
Use replay cases when you want to:
- Re-run real webhook payloads after changing your handler
- Build regression coverage from captured Stripe, GitHub, Shopify, or custom webhook examples
- Compare how local and staging handlers respond to the same request
- Share a stable case with a teammate without sharing your whole endpoint
Save a captured request
- Open a debug endpoint.
- Select a captured request.
- Click Save as replay case.
- Give the case a name and optional notes.
- Optionally set a default target URL, request method, headers, or body override.
The case keeps a link to the original captured request and uses the captured method, headers, and body unless you configure overrides.
Add assertions
Assertions run after a case replay finishes. A case can check:
| Assertion | Description |
|---|---|
| Expected HTTP status | The replay target must return a specific status code, from 100 to 599 |
| Expected JSON response subset | The replay target's JSON body must include the configured fields and values |
If a case has no assertions, the replay still records delivery details but the assertion status is No assertions.
Replay a case
From the case row, click Replay saved case and choose a target:
| Target | Use it for |
|---|---|
| Custom URL | Replay to a one-off URL such as https://staging.example.com/webhooks |
| Named replay target | Save a reusable target like Staging or Preview for future suite runs |
| CLI listener | Replay to an active hooklistener listen session |
Each replay creates a forward record with the target response, duration, errors, and assertion result.
Organize suites
Suites are named groups of cases on the same endpoint.
- Open the endpoint's saved cases area.
- Click New suite.
- Add cases from each case row.
- Click Replay all on the suite.
Suites are useful for smoke tests such as "Billing webhooks" or "GitHub issue lifecycle".
Run all endpoint cases
Click Replay all to run every saved case on the endpoint. Hooklistener queues each replay and creates a durable suite run report with:
- Total, queued, completed, and failed counts
- Assertion pass/fail/error counts
- The target used for the run
- A list of individual forward attempts with poll URLs
Run reports remain available after the browser session closes, so API and MCP clients can start a run and fetch the report later.
API and MCP
Replay cases are also available through:
- Run Replay Cases in CI for GitHub Actions and other CI systems
- Request Cases API for CI and scripts
- MCP tools for AI-assisted debugging