Supported Events
Creating a Webhook
You can create webhooks via the API or from the Tickable dashboard.secret (whsec_...). It is only returned once, so store it right away: you need it to verify deliveries.
Receiving Webhooks
When an event occurs, Tickable sends a POST request to your URL:Example Handler
Verifying Signatures
Every delivery to a webhook with a secret carries aTickable-Signature header:
v1 is an HMAC-SHA256 of {t}.{raw request body} with your webhook secret as the key, hex encoded. Compute it yourself, compare it in constant time, and reject deliveries whose t is more than 5 minutes old, so a captured request cannot be replayed.
Older integrations may check
X-Webhook-Signature: sha256={hmac of the body}. It is still sent, but it does not protect against replays; switch to Tickable-Signature.Getting Attendee Details
Theorder.confirmed payload identifies the order; it does not contain the individual tickets. To get each attendee — including the Visitor Information they filled in — call the Tickets API with the order_id from the webhook:
metadata object, keyed by the Visitor Information field keys. See Visitor Information for the exact shape.
Managing Webhooks
List All Webhooks
Delete a Webhook
Best Practices
- Respond fast — return
200immediately, process in the background - Handle duplicates — webhooks may be delivered more than once; the
Tickable-Webhook-Idheader is the same on every retry, so use it to deduplicate - Verify every delivery — check
Tickable-Signaturebefore you trust the payload - Subscribe only to what you need — reduce noise by selecting specific event types