Overview
Webhooks let you receive HTTP notifications when events happen in your workspace. Instead of polling the API, you can subscribe to specific events and Voyant will send a POST request to your endpoint.Creating a subscription
1
Create a subscription
secret - store it securely. You’ll need it to verify webhook signatures.2
Verify signatures
Validate incoming webhooks using the
X-Webhook-Signature header:3
Handle events
Return a
2xx status to acknowledge receipt. Non-2xx responses trigger retries.Event types
Subscribe to specific events or use wildcards:| Pattern | Description |
|---|---|
booking.created | Single event |
booking.* | All booking events |
* | All events |
Available events
Bookings & Paymentsbooking.created,booking.updated,booking.cancelled,booking.confirmedbooking.payment.success,booking.payment.failedpayment.succeeded,payment.failed,payment.refunded
product.created,product.updated,product.deletedproduct.published,product.archived
departure.created,departure.updated,departure.capacity.changedinventory.updated
customer.created,customer.updated,customer.deleted
collection.created,collection.updated,collection.deletedtag.created,tag.updated,tag.deleted
Webhook headers
Every webhook request includes these headers:| Header | Description |
|---|---|
X-Webhook-Signature | HMAC-SHA256 signature for verification |
X-Webhook-Event | Event type (e.g., booking.created) |
X-Delivery-Attempt | Attempt number (1, 2, 3…) |
Retries
Failed deliveries are retried with exponential backoff. Return2xx to acknowledge, or 410 Gone to permanently disable the subscription.