Webhooks
Webhooks let Breezy notify your systems when service request and interaction events happen. Webhook endpoint management requires a user token. Service API keys cannot create, update, rotate, delete, or list webhook endpoints. Open the Webhooks tab in Breezy to manage endpoint configuration from the dashboard.Supported events
Management flow
- Authenticate with a user JWT.
POST /integrations/webhookswith a name, HTTPS URL, and event types.- Store the returned
signingSecretimmediately. It is shown only once. - Verify every delivery using the
breezy-signatureheader. - Rotate a signing secret when needed. Rotation immediately invalidates the old secret.
localhost, 127.0.0.1, or ::1. Production
webhook URLs must use HTTPS.
Delivery format
Breezy sendsPOST requests with a JSON envelope:
Webhook payloads include operational fields needed by integrations, but do not
include raw transcripts.
Event data
service_request.created data can include:
service_request.status_changed data:
service_request.booked data:
interaction.completed data:
data.
Signature verification
Compute the expected signature with HMAC-SHA256:breezy-signature using a constant-time
comparison. Reject requests with missing headers, invalid signatures, or stale
timestamps according to your integration’s tolerance.
Retries and history
Breezy treats any non-2xx response as a failed delivery. Failed deliveries are retried up to 3 total attempts, then marked abandoned. Deliveries are at least once. Usebreezy-delivery-id as your idempotency key
because a delivery can be retried after network or persistence uncertainty.
Use GET /integrations/webhooks/deliveries to inspect recent delivery status.
Pass endpointId to filter history for one endpoint.