A webhook is an endpoint of yours that receives Kirora's events, such as message.delivered. Each delivery is signed, and a failed one is retried on a schedule, up to eight attempts in all (see Webhooks). Verify each request's signature against the raw body before trusting it, and treat delivery as at least once and unordered. See Webhooks.
Endpoints
| Endpoint | Request |
|---|---|
| List webhooks | GET /v1/webhooks |
| Create a webhook | POST /v1/webhooks |
| Retrieve a webhook | GET /v1/webhooks/{id} |
| Update a webhook | PATCH /v1/webhooks/{id} |
| Delete a webhook | DELETE /v1/webhooks/{id} |
| Send a test webhook delivery | POST /v1/webhooks/{id}/test |
| Rotate a webhook signing secret | POST /v1/webhooks/{id}/rotate-secret |
| List webhook deliveries | GET /v1/webhooks/deliveries |
| Retrieve a webhook delivery | GET /v1/webhooks/deliveries/{id} |
| Redeliver a webhook delivery | POST /v1/webhooks/deliveries/{deliveryId}/redeliver |
| List webhook events | GET /v1/webhooks/events |
The Webhook object
{
"id": "0192f3f1-2b3c-7d4e-9f50-6b7c8d9e0f1a",
"url": "https://hooks.acme-shop.com/kirora",
"events": [
"contact.created",
"contact.unsubscribed"
],
"source": null,
"status": "active",
"previousSecretExpiresAt": null,
"createdAt": "2026-10-01T09:30:00.000Z"
}idstringrequireduuid
urlstringrequireduri
eventsstring[]requiredThe event types it receives.
sourcestring | nullrequiredThe integration that created it; null when created directly.
one of
zapier,make,n8nstatusstringrequireddisabledis set only by the platform;activere-enables it.one of
active,paused,disabledpreviousSecretExpiresAtstring | nullrequiredUntil when the replaced secret still signs requests after a rotation.
date-time
createdAtstringrequireddate-time