Endpoints

Endpoints represent the webhook URLs that receive deliveries. Create, update, pause, and delete endpoints.

POST/v1/endpoints

Register a new webhook endpoint.

Request body

ParameterType
namereq
string
Display name for the endpoint
urlreq
string
The URL that receives webhooks
secret
string
Signing secret for signature verification
headers_json
object
Custom headers sent with each delivery
timeout_seconds
integer
Request timeout (default: 10)
RequestJSON
{
  "name": "my-webhook",
  "url": "https://example.com/webhook",
  "secret": "whsec_your_signing_secret",
  "headers_json": {},
  "timeout_seconds": 10
}
201 ResponseJSON
{
  "id": "ep_550e8400-e29b-41d4-a716-446655440000",
  "name": "my-webhook",
  "url": "https://example.com/webhook",
  "headers_json": {},
  "timeout_seconds": 10,
  "status": "ACTIVE",
  "paused_at": null,
  "created_at": "2024-01-01T00:00:00Z",
  "updated_at": "2024-01-01T00:00:00Z"
}
GET/v1/endpoints

List all endpoints for the authenticated tenant.

200 ResponseJSON
[
  {
    "id": "ep_550e8400-e29b-41d4-a716-446655440000",
    "name": "my-webhook",
    "url": "https://example.com/webhook",
    "status": "ACTIVE",
    ...
  }
]
GET/v1/endpoints/{ep_id}

Retrieve a single endpoint by its prefixed ID.

200 ResponseJSON
{
  "id": "ep_550e8400-e29b-41d4-a716-446655440000",
  "name": "my-webhook",
  "url": "https://example.com/webhook",
  "headers_json": {},
  "timeout_seconds": 10,
  "status": "ACTIVE",
  "paused_at": null,
  "created_at": "2024-01-01T00:00:00Z",
  "updated_at": "2024-01-01T00:00:00Z"
}
PATCH/v1/endpoints/{ep_id}

Update an endpoint. Supports partial updates. Set status to PAUSED to pause delivery, ACTIVE to resume.

Request body (all optional)

ParameterType
name
string
Updated display name
url
string
Updated webhook URL
secret
string
Updated signing secret
headers_json
object
Updated custom headers
timeout_seconds
integer
Updated timeout
status
string
ACTIVE or PAUSED
RequestJSON
{
  "name": "updated-name",
  "status": "PAUSED"
}
200 ResponseJSON
{
  "id": "ep_550e8400-e29b-41d4-a716-446655440000",
  "name": "updated-name",
  "status": "PAUSED",
  "paused_at": "2024-01-01T12:00:00Z",
  ...
}
DELETE/v1/endpoints/{ep_id}

Permanently delete an endpoint.

Returns 204 No Content on success.