Production-ready webhook infrastructure

First webhook in 5 minutes

HookPipe gives you instant webhook endpoints, real-time inspection, and reliable delivery with one-click replay.

1

Create an account

Sign up and get your API key. Takes 30 seconds.

curl -X POST https://hookpipe.dev/api/auth/signup \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password"}'

Response:

{
  "token": "eyJhbGciOiJIUzI1NiJ9...",
  "user": { "id": "...", "email": "you@example.com", "tier": "free" }
}
2

Create your first endpoint

An endpoint is a unique URL that captures any HTTP request sent to it.

curl -X POST https://hookpipe.dev/api/endpoints \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"stripe-webhooks"}'

Response:

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "token": "xK9mP2qRvNwT",
  "url": "https://hookpipe.dev/xK9mP2qRvNwT",
  "name": "stripe-webhooks"
}
💡 Your webhook URL is: https://hookpipe.dev/xK9mP2qRvNwT — configure this in Stripe, GitHub, or any service.
3

Send a test webhook

Fire any HTTP request at your endpoint — HookPipe captures everything.

curl -X POST https://hookpipe.dev/xK9mP2qRvNwT \
  -H "Content-Type: application/json" \
  -H "X-Stripe-Signature: t=1234567890,v1=abc..." \
  -d '{"type":"payment_intent.succeeded","data":{"object":{"amount":2000}}}'

Response:

{ "ok": true, "request_id": "req_7f8e9d0a-..." }
4

Inspect it

View captured requests via API or live-stream via WebSocket with the CLI.

Via API:

curl "https://hookpipe.dev/api/endpoints/ENDPOINT_ID/requests" \
  -H "Authorization: Bearer TOKEN"

Via CLI:

npm install -g hookpipe-cli
export HOOKPIPE_API_KEY=your-api-key
hookpipe tail ENDPOINT_ID

You're live!

HookPipe is capturing your webhooks. Configure delivery to forward them to your app.

# Add a delivery target — forward webhooks to your app
curl -X POST https://hookpipe.dev/api/endpoints/ENDPOINT_ID/targets \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://myapp.com/webhooks","secret":"my-signing-secret"}'

What next?