Webhook endpoints
Manage where Heizen sends events.
Scope: developers:manage. You can also manage endpoints in the dashboard.
The webhook endpoint object
| Field | Type | |
|---|---|---|
id | string | whk_… |
object | "webhook_endpoint" | |
url | string | |
description | string or null | |
enabled_events | string[] | Event types, or ["*"] for all |
status | string | enabled or disabled |
livemode | boolean | Receives events from this mode only |
created_at, updated_at | timestamp |
Create an endpoint
POST /webhook_endpoints with url (https), enabled_events and optional description. The response includes secret (whsec_…). Store it now; retrieve and list never return it.
List endpoints
GET /webhook_endpoints
Retrieve an endpoint
GET /webhook_endpoints/{id}
Update an endpoint
PATCH /webhook_endpoints/{id} with any of url, enabled_events, description and disabled. Setting disabled: true stops deliveries and drops pending retries.
Delete an endpoint
DELETE /webhook_endpoints/{id}
Rotate the secret
POST /webhook_endpoints/{id}/rotate_secret returns the endpoint with a new secret. The old secret stops working immediately, so deploy the new one promptly.
List deliveries
GET /webhook_endpoints/{id}/deliveries, newest first. Each delivery has event_id, event_type, attempt, status (pending, succeeded, failed), response_status, response_body (first 2,000 characters), error, duration_ms and next_attempt_at.
Replay a delivery
POST /webhook_endpoints/{id}/deliveries/{delivery_id}/replay sends that delivery's event again as a new delivery.
Send a test event
POST /webhook_endpoints/{id}/test sends a webhook.test event so you can check your handler and signature verification.