Skip to main content
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.
name
string
required
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
id
string
Unique identifier for the endpoint. Use this in all subsequent API calls.
name
string
The label you provided.
public_token
string
Use this to build your capture URL: https://hookdrop.dev/in/{public_token}
is_active
boolean
Whether the endpoint is currently accepting incoming webhooks.
created_at
string
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.
id
string
required
The endpoint ID.
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.
id
string
required
The endpoint ID.
name
string
New label for the endpoint.
is_active
boolean
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.
id
string
required
The endpoint ID.
curl -X DELETE https://hookdrop.dev/api/endpoints/ep_01hx9k2z3mq8p4j6n7r5st0vwu \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response Returns 204 No Content on success.