An endpoint is a unique URL that Hookdrop provides for capturing incoming webhooks. Every captured request is stored as an event you can inspect, search, and replay.
Your capture URL is built from the public_token returned when you create an endpoint:
https://hookdrop.dev/in/{public_token}
Point any webhook sender at that URL and Hookdrop will capture everything it receives.
List all endpoints
GET /api/endpoints
Returns all endpoints belonging to your account.
curl https://hookdrop.dev/api/endpoints \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
[
{
"id": "ep_01hx9k2z3mq8p4j6n7r5st0vwu",
"name": "Stripe payments",
"public_token": "tok_abc123xyz",
"is_active": true,
"created_at": "2024-05-12T10:30:00.000Z"
},
{
"id": "ep_01hx9k2z3mq8p4j6n7r5st0vwv",
"name": "GitHub webhooks",
"public_token": "tok_def456uvw",
"is_active": true,
"created_at": "2024-05-13T08:15:00.000Z"
}
]
Create an endpoint
POST /api/endpoints
Creates a new webhook capture endpoint and returns a public_token you use to build your capture URL.
A label for this endpoint so you can identify it in your dashboard.
curl -X POST https://hookdrop.dev/api/endpoints \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Stripe payments"
}'
Response
Unique identifier for the endpoint. Use this in all subsequent API calls.
Use this to build your capture URL: https://hookdrop.dev/in/{public_token}
Whether the endpoint is currently accepting incoming webhooks.
ISO 8601 timestamp of when the endpoint was created.
{
"id": "ep_01hx9k2z3mq8p4j6n7r5st0vwu",
"name": "Stripe payments",
"public_token": "tok_abc123xyz",
"is_active": true,
"created_at": "2024-05-12T10:30:00.000Z"
}
Your capture URL for this endpoint is:
https://hookdrop.dev/in/tok_abc123xyz
Get a single endpoint
GET /api/endpoints/:id
Returns details for one endpoint.
curl https://hookdrop.dev/api/endpoints/ep_01hx9k2z3mq8p4j6n7r5st0vwu \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
{
"id": "ep_01hx9k2z3mq8p4j6n7r5st0vwu",
"name": "Stripe payments",
"public_token": "tok_abc123xyz",
"is_active": true,
"created_at": "2024-05-12T10:30:00.000Z"
}
Update an endpoint
PATCH /api/endpoints/:id
Updates the name or active status of an endpoint.
New label for the endpoint.
Set to false to stop capturing incoming webhooks without deleting the endpoint.
curl -X PATCH https://hookdrop.dev/api/endpoints/ep_01hx9k2z3mq8p4j6n7r5st0vwu \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Stripe payments (production)",
"is_active": true
}'
Response
{
"id": "ep_01hx9k2z3mq8p4j6n7r5st0vwu",
"name": "Stripe payments (production)",
"public_token": "tok_abc123xyz",
"is_active": true,
"created_at": "2024-05-12T10:30:00.000Z"
}
Delete an endpoint
DELETE /api/endpoints/:id
Permanently deletes an endpoint and all its captured events. This action cannot be undone.
curl -X DELETE https://hookdrop.dev/api/endpoints/ep_01hx9k2z3mq8p4j6n7r5st0vwu \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
Returns 204 No Content on success.