Frequently asked questions
Everything about testing, inspecting, and forwarding webhooks with CanHook.
A webhook catcher URL is a unique endpoint that accepts any incoming HTTP request and records it, so you can inspect exactly what a service sent — headers, body, method, query string, and source IP — without writing server code.
Create a free CanHook endpoint, point the sending service at your catch URL, and every request appears in a live dashboard with pretty-printed JSON, raw body, headers, and query params. You can replay and search them too.
Set your Stripe webhook endpoint to your CanHook catch URL and trigger a test event from the Stripe dashboard. CanHook captures the full signed payload so you can inspect the event structure before wiring it into your app.
On a paid plan, add relay rules to an endpoint. Each rule forwards the captured webhook to a destination URL — optionally transforming the payload — with automatic retries and delivery logs, so one inbound webhook fans out to many services.
Point the service at a CanHook catch URL. If requests appear in CanHook but not your app, the problem is downstream. If nothing appears, the sender isn't delivering. CanHook isolates exactly where the webhook is being lost.
Yes. CanHook's free tier gives you catch URLs, a live payload inspector, request history, and replay at no cost, with no credit card required.
Yes — catch URLs accept GET, POST, PUT, PATCH, DELETE, and any other method, capturing the method, headers, body, and query string of each request.
Retention depends on your plan: 24 hours on Free, 7 days on Pro, and 30 days on Business, with per-endpoint request count limits pruned oldest-first.
CanHook blocks relay destinations that resolve to private or reserved IP ranges (SSRF protection), including cloud metadata endpoints, so you cannot accidentally or maliciously target internal infrastructure.