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
| Event | Description |
|---|---|
event.created | A new event was created |
event.updated | An event was updated |
event.cancelled | An event was cancelled |
order.completed | A new order was completed |
order.refunded | An order was refunded |
ticket.sold_out | A 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.