Webhooks overviewMenu
On this page

Webhooks

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

EndpointRequest
List webhooksGET /v1/webhooks
Create a webhookPOST /v1/webhooks
Retrieve a webhookGET /v1/webhooks/{id}
Update a webhookPATCH /v1/webhooks/{id}
Delete a webhookDELETE /v1/webhooks/{id}
Send a test webhook deliveryPOST /v1/webhooks/{id}/test
Rotate a webhook signing secretPOST /v1/webhooks/{id}/rotate-secret
List webhook deliveriesGET /v1/webhooks/deliveries
Retrieve a webhook deliveryGET /v1/webhooks/deliveries/{id}
Redeliver a webhook deliveryPOST /v1/webhooks/deliveries/{deliveryId}/redeliver
List webhook eventsGET /v1/webhooks/events

The Webhook object

Webhook example
{
  "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"
}
idstringrequired

uuid

urlstringrequired

uri

eventsstring[]required

The event types it receives.

sourcestring | nullrequired

The integration that created it; null when created directly.

one of zapier, make, n8n

statusstringrequired

disabled is set only by the platform; active re-enables it.

one of active, paused, disabled

previousSecretExpiresAtstring | nullrequired

Until when the replaced secret still signs requests after a rotation.

date-time

createdAtstringrequired

date-time