Getting started
Quickstart
Go from zero to a verified, retried, observable webhook in about five minutes. Examples are shown in curl, Python and Node.js.
https://api.hookflow.dev and https://in.hookflow.dev as base URLs — replace them with your workspace's endpoints.Get an access token
Every request to the management API needs a token. Exchange your credentials for one, or create a long-lived API key under Settings → API keys in the dashboard.
curl -X POST https://api.hookflow.dev/api/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"email": "you@company.com", "password": "••••••••"}'Create an endpoint
An endpoint tells HookFlow where to forward events. Pick the provider so signatures are verified with the right scheme.
curl -X POST https://api.hookflow.dev/api/v1/endpoints \
-H "Authorization: Bearer $HOOKFLOW_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "billing-events", "provider": "stripe",
"url": "https://api.example.com/webhooks/stripe"}'Point your provider at HookFlow
Copy the ingest_url from the response into your provider's webhook settings. For Stripe that's Developers → Webhooks → Add endpoint. Custom sources can post to /hooks/custom/{token} using the token shown on the endpoint.
# Provider-specific ingest URLs
https://in.hookflow.dev/hooks/stripe
https://in.hookflow.dev/hooks/github
https://in.hookflow.dev/hooks/shopify
https://in.hookflow.dev/hooks/custom/<endpoint-token>Send a test event
Fire a test event. You'll get an event ID back immediately; HookFlow forwards it to your URL in the background.
curl -X POST https://in.hookflow.dev/hooks/stripe \
-H "Content-Type: application/json" \
-d '{"id": "evt_test", "type": "invoice.paid"}'
# => {"received": true, "id": "evt_4f1c9a2b7e3d6058"}Watch it arrive
List recent deliveries for the endpoint to confirm it arrived, and check status codes and latency. The same data drives the dashboard.
curl "https://api.hookflow.dev/api/v1/endpoints/$ENDPOINT_ID/deliveries?limit=5" \
-H "Authorization: Bearer $HOOKFLOW_TOKEN" | jq '.data[] | {id, status, latency_ms}'Next: secure your consumer
Verify HookFlow's signature on every forwarded request.