Guides

Webhooks

Webhooks allow you to receive HTTP POST requests when certain events occur in your account.

Setting up webhooks

Configure webhook endpoints in your Liveday dashboard under Settings > Webhooks. Provide a URL and select which events you want to subscribe to.

Webhook events

EventDescription
event.createdA new event was created
event.updatedAn event was updated
event.cancelledAn event was cancelled
order.completedA new order was completed
order.refundedAn order was refunded
ticket.sold_outA ticket type sold out

Payload format

{
  "id": "wh_evt_abc123",
  "type": "order.completed",
  "created_at": "2026-03-01T14:30:00Z",
  "data": {
    "id": "ord_abc123",
    "status": "completed",
    "total": 59800,
    "currency": "SEK"
  }
}

Verifying webhook signatures

Each webhook request includes a X-Liveday-Signature header. Verify this signature to ensure the request came from Liveday.

import crypto from 'crypto'

function verifyWebhookSignature(payload, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex')

  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  )
}

Always verify signatures

Always verify webhook signatures before processing the payload. This prevents attackers from sending forged requests to your endpoint.

Retry policy

If your endpoint returns a non-2xx status code, Liveday will retry the delivery up to 5 times with exponential backoff.

Previous
Venues