Quickstart: API (Solo and up)
Create an endpoint, capture a webhook, and read it back: three calls, about five minutes.
On the Free plan, or just prefer the dashboard? Use the dashboard quickstart.
You'll need an API key, created on the API keys page in the app. Keys are shown once at creation; put yours in an environment variable:
export WV_KEY="wv_live_…"1. Create an endpoint
curl -s https://app.webhookvault.net/api/v1/endpoints \
-H "Authorization: Bearer $WV_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"quickstart"}'The response includes the endpoint's capture url, which is the address you give to webhook senders:
{
"id": "01a06dca-5b36-738e-9e82-67af4d06bc31",
"name": "quickstart",
"url": "https://in.webhookvault.net/hook/01a06dca-5b36-738e-9e82-67af4d06bc31",
"isActive": true,
"storedRequestCount": 0
}2. Send it a webhook
Any HTTP client works. Here's a stand-in for the provider you'll wire up later:
curl -s -X POST "https://in.webhookvault.net/hook/<your-endpoint-id>" \
-H "Content-Type: application/json" \
-d '{"type":"order.created","order":{"id":"ord_123","total":4900}}'The 200 you get back is the vault's word that the request is stored.
3. Read it back
curl -s "https://app.webhookvault.net/api/v1/endpoints/<your-endpoint-id>/requests" \
-H "Authorization: Bearer $WV_KEY"{
"items": [
{
"id": 1,
"method": "POST",
"receivedAt": "2026-09-04T21:14:03.2Z",
"headers": { "Content-Type": "application/json", "User-Agent": "curl/8.17.0" },
"body": "{\"type\":\"order.created\",\"order\":{\"id\":\"ord_123\",\"total\":4900}}",
"delivery": { "state": "NotAttempted" }
}
],
"totalCount": 1
}That's the whole loop. Open the same endpoint in the dashboard and you'll see the request in the explorer, live, with new arrivals streaming in as they land.
Where next?
- Test webhooks in CI: self-expiring endpoints + block-until-arrival
- Concepts: what a delivery is, and every state it can be in
- Search requests: filters: method, state, time, text
- Forward and replay: relay captures onward with history
Quickstart: dashboard
Capture your first webhook in the dashboard on the Free plan: create an endpoint, send a test with curl, and open the stored request. No API key needed.
Concepts
Four nouns carry the whole product: an Endpoint captures Requests, its Actions decide what happens to each one, and every action that runs leaves a Delivery with a full attempt history.