Skip to main content
Webhooks let you receive HTTP POST requests when things happen in your Tickable account, like a new order or a scanned ticket.

Supported Events

EventDescriptionStatus
order.createdA new order has been placedComing soon
order.confirmedAn order payment has been confirmedAvailable
ticket.scannedA ticket was scanned at the doorComing soon
ticket.cancelledA ticket was cancelledComing soon

Creating a Webhook

You can create webhooks via the API or from the Tickable dashboard.
curl -X POST https://api.tickable.io/webhooks \
  -H "Authorization: Bearer tk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://yourapp.com/webhook",
    "event_types": ["order.confirmed"],
    "description": "Production webhook"
  }'
Your webhook endpoint must be publicly accessible and respond with a 2xx status code within 10 seconds.

Receiving Webhooks

When an event occurs, Tickable sends a POST request to your URL:
{
  "event_type": "order.confirmed",
  "timestamp": "2026-04-09T14:30:00Z",
  "data": {
    "order_id": "550e8400-e29b-41d4-a716-446655440000",
    "event_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  }
}

Example Handler

app.post('/webhook', express.json(), (req, res) => {
  const { event_type, data } = req.body;

  switch (event_type) {
    case 'order.confirmed':
      console.log('Order confirmed:', data.order_id);
      break;
  }

  res.sendStatus(200);
});

Managing Webhooks

List All Webhooks

curl https://api.tickable.io/webhooks \
  -H "Authorization: Bearer tk_live_YOUR_API_KEY"

Delete a Webhook

curl -X DELETE https://api.tickable.io/webhooks/7c9e6679-7425-40de-944b-e07fc1f90ae7 \
  -H "Authorization: Bearer tk_live_YOUR_API_KEY"

Best Practices

Always respond quickly to webhook requests. If you need to do heavy processing, acknowledge the webhook with a 200 and process the data asynchronously.
  • Respond fast — return 200 immediately, process in the background
  • Handle duplicates — webhooks may be delivered more than once, use the event ID to deduplicate
  • Subscribe only to what you need — reduce noise by selecting specific event types