Webhook Events
List all available webhook event types.
Endpointโ
GET /v1/webhooks/events
Authenticationโ
Requires an API key with the webhooks:read scope.
Responseโ
Success (200 OK)โ
One entry per event, in the order of the tables below. Shortened here:
{
"data": [
{
"event": "booking.created",
"resource": "booking",
"action": "created",
"description": "Triggered when a new booking is created"
},
{
"event": "booking.no_show",
"resource": "booking",
"action": "no_show",
"description": "Triggered when staff mark a booking as a no-show"
},
{
"event": "booking.status_changed",
"resource": "booking",
"action": "status_changed",
"description": "Triggered on any booking status change"
},
{
"event": "payment.received",
"resource": "payment",
"action": "received",
"description": "Triggered when a payment is received"
}
],
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-01-15T12:00:00+00:00"
}
}
Event Categoriesโ
Booking Eventsโ
| Event | Description |
|---|---|
booking.created | New booking created |
booking.updated | Booking details changed, or one person or one part of it marked as a no-show |
booking.cancelled | Booking was cancelled |
booking.completed | Booking marked as complete |
booking.picked_up | Rental items picked up |
booking.returned | Rental items returned |
booking.checked_in | Customer checked in for an experience |
booking.no_show | Staff marked the booking as a no-show: the customer never came. Fires once per mark, followed by booking.status_changed. See Mark a No Show |
booking.status_changed | The booking's status changed. Every undo of a pickup, return, check-in, completion or no-show fires it too |
Booking Request Eventsโ
| Event | Description |
|---|---|
booking_request.created | A customer asked to book an experience the business approves by hand |
booking_request.approved | The business approved a request. booking.created fires too |
booking_request.declined | The business declined a request, or it ran out of time |
Payment Eventsโ
| Event | Description |
|---|---|
payment.received | Payment was processed |
payment.refunded | Payment was refunded |
payment.balance_due | A balance reminder was sent |
Customer Eventsโ
| Event | Description |
|---|---|
customer.created | New customer added |
customer.updated | Customer details changed |
customer.deleted | Customer was deleted |
Product and Inventory Eventsโ
| Event | Description |
|---|---|
product.created | New rental product added |
product.updated | Product details changed |
product.archived | Product was archived |
inventory.added | Rental stock added |
inventory.updated | Rental stock changed |
inventory.removed | Rental stock removed |
Experience Eventsโ
| Event | Description |
|---|---|
experience.created | New experience added |
experience.updated | Experience details changed |
experience.archived | Experience was archived |
experience_schedule.created | Session added |
experience_schedule.updated | Session changed |
experience_schedule.deleted | Session deleted |
Staff and Workshop Eventsโ
| Event | Description |
|---|---|
shift.created | Staff shift created |
shift.updated | Staff shift changed |
shift.published | Staff shift published |
shift.deleted | Staff shift deleted |
workshop.item_added | Item added to the workshop |
workshop.item_removed | Item removed from the workshop |
Store Product Eventsโ
| Event | Description |
|---|---|
store_product.created | Store product added |
store_product.updated | Store product changed |
store_product.low_stock | Store product fell below its low stock level |
store_product.inventory_adjusted | Store stock adjusted by hand |
store_product.inventory_transferred | Store stock moved between locations |
Form and Survey Eventsโ
| Event | Description |
|---|---|
form_response.submitted | Waiver or form submitted |
survey.response_submitted | Survey response received |
Voucher and Promo Code Eventsโ
| Event | Description |
|---|---|
voucher.sold | Gift card/voucher purchased |
voucher.redeemed | Voucher applied to booking |
promo_code.created | Promo code created |
promo_code.updated | Promo code changed |
Agent Eventsโ
| Event | Description |
|---|---|
agent.run.completed | An agent run finished |
agent.run.awaiting_approval | An agent run paused for approval |
agent.learning.proposed | An agent drafted a learning suggestion |
Other Eventsโ
| Event | Description |
|---|---|
bundle.created | Product bundle created |
waitlist.entry_created | New waitlist entry |
Membership Eventsโ
| Event | Description |
|---|---|
membership.renewed | A monthly membership charge was paid. data is the charge, with its membership |
membership.payment_failed | A monthly membership charge failed. data is the charge, with its membership |
membership.cancelled | A membership was cancelled, and again when it stops. data is the membership |
See Memberships for the fields.
Payloadโ
Every delivery has the same envelope: id (the same on a retry), event, created_at and data, the record the event is about in the shape the API returns it.
booking.no_show payloadโ
data is the booking, with the fields Get Booking returns. Shortened:
{
"id": "evt_8fK2pQ7xLm4Vn9Rt3Wc1",
"event": "booking.no_show",
"created_at": "2026-11-20T09:42:03+00:00",
"data": {
"id": 123,
"type": "experience",
"line_types": ["experience"],
"status": "no_show",
"payment_status": "paid",
"source": "Online Booking",
"start_date": "2026-11-20T09:00:00+00:00",
"end_date": "2026-11-20T11:00:00+00:00",
"checked_in_at": null,
"completed_at": null,
"no_show_at": "2026-11-20T09:42:00+00:00",
"no_show_by": {
"id": 5,
"name": "Jane Smith"
},
"currency": "USD",
"customer": {
"id": 456,
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"experiences": [
{
"id": 55,
"experience_id": 3,
"schedule_id": 45,
"fulfillment_status": "no_show"
}
]
}
}
A booking.status_changed delivery with the same data follows it.
Example Requestโ
curl -X GET "https://app.equipdash.com/api/v1/webhooks/events" \
-H "Authorization: Bearer eqd_live_abc123xyz789..."