Manage subscriptions
Create, list and delete destinations for your events.
POST /webhooks
Creates a subscription. url is required and must use HTTPS with a public host. events is a non-empty array containing only supported event names. source is optional: zapier, make or custom (default).
[
"reservation.created",
"reservation.modified",
"reservation.cancelled",
"customer.created",
"call.completed",
"callback.requested",
"quote.requested",
"vehicle.created",
"repair.status_changed"
]
{
"url": "https://hooks.zapier.com/hooks/catch/12345/abcde/",
"events": [
"reservation.created",
"reservation.cancelled"
],
"source": "zapier"
}
{
"id": 7,
"url": "https://hooks.zapier.com/hooks/catch/12345/abcde/",
"events": [
"reservation.created",
"reservation.cancelled"
],
"source": "zapier",
"secret": "b6f1...e4"
}
Errors: 400 for a missing/non-HTTPS URL or invalid events; 400 forbidden-target for a blocked destination; 403 not-entitled for an ineligible plan; 401 for a missing or invalid key.
GET /webhooks
Lists up to your workspace’s 100 most recent subscriptions, newest first. Secrets are never included.
{
"docs": [
{
"id": 7,
"url": "https://hooks.zapier.com/hooks/catch/12345/abcde/",
"events": [
"reservation.created",
"reservation.cancelled"
],
"source": "zapier",
"status": "active",
"consecutiveFailures": 0,
"lastDeliveredAt": "2026-07-04T10:12:03.000Z",
"lastError": null,
"createdAt": "2026-07-01T09:00:00.000Z"
}
]
}
status is active, failing or disabled.
DELETE /webhooks/:id
curl -X DELETE 'https://app.kawlya.com/api/integrations/v1/webhooks/7' \
-H "Authorization: Bearer $KAWLYA_API_KEY"
Success: 204 with no content. A missing ID or one belonging to another workspace returns 404 with the error not-found.
Updated