Quickstart
Create an endpoint, capture a webhook, and read it back — three calls, about five minutes.
You'll need an API key — created on the API keys page in the app (API access starts on the Solo plan). Keys are shown once at creation; put yours in an environment variable:
export WV_KEY="wv_live_…"1. Create an endpoint
curl -s https://webhookvault.dev/api/v1/endpoints \
-H "Authorization: Bearer $WV_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"quickstart"}'The response includes the endpoint's capture url — that's the address you give to webhook senders:
{
"id": "01a06dca-5b36-738e-9e82-67af4d06bc31",
"name": "quickstart",
"url": "https://in.webhookvault.dev/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.dev/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://webhookvault.dev/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 — new arrivals stream 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
Introduction
WebhookVault captures every webhook sent to your endpoints, keeps it, and lets you inspect, search, replay and forward it — from the dashboard or entirely over the API.
Concepts
Three nouns carry the whole product: an Endpoint captures Requests, and forwarding turns each request into a Delivery with a full attempt history.