Expose your local endpoint
While developing, tunnel your local server to a public URL and register that URL as a staging webhook:Trigger real events
With your staging brand and API keys (see Environments), the cheapest event generator is a cash test booking - it confirms synchronously and firesbooking.completed, and cancelling it fires booking.cancelled:
- Create a booking with
"paymentMethod": "cash"via Create a booking - the booking integration guide walks through assembling the payload. - Cancel it via Cancel bookings.
- Reschedule flows fire
booking.rescheduled; publishing/unpublishing a listing from the dashboard fires thelisting.*events.
Debugging checklist
- Check the dashboard webhook logs (Settings → Developers → Webhooks → select a webhook): every delivery attempt is recorded with status, timestamps, response code, and the full payload sent. Filter by status, event type, or date.
- Return
2xxwithin 10 seconds. Slow handlers read as failures and trigger retries - acknowledge first, process async. - Signature mismatches: almost always a raw-body issue - see Verify signatures.
- Nothing arriving? Confirm the webhook is enabled, subscribed to the event you’re triggering, and that the URL is reachable from the public internet.