Skip to main content

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โ€‹

EventDescription
booking.createdNew booking created
booking.updatedBooking details changed, or one person or one part of it marked as a no-show
booking.cancelledBooking was cancelled
booking.completedBooking marked as complete
booking.picked_upRental items picked up
booking.returnedRental items returned
booking.checked_inCustomer checked in for an experience
booking.no_showStaff 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_changedThe booking's status changed. Every undo of a pickup, return, check-in, completion or no-show fires it too

Booking Request Eventsโ€‹

EventDescription
booking_request.createdA customer asked to book an experience the business approves by hand
booking_request.approvedThe business approved a request. booking.created fires too
booking_request.declinedThe business declined a request, or it ran out of time

Payment Eventsโ€‹

EventDescription
payment.receivedPayment was processed
payment.refundedPayment was refunded
payment.balance_dueA balance reminder was sent

Customer Eventsโ€‹

EventDescription
customer.createdNew customer added
customer.updatedCustomer details changed
customer.deletedCustomer was deleted

Product and Inventory Eventsโ€‹

EventDescription
product.createdNew rental product added
product.updatedProduct details changed
product.archivedProduct was archived
inventory.addedRental stock added
inventory.updatedRental stock changed
inventory.removedRental stock removed

Experience Eventsโ€‹

EventDescription
experience.createdNew experience added
experience.updatedExperience details changed
experience.archivedExperience was archived
experience_schedule.createdSession added
experience_schedule.updatedSession changed
experience_schedule.deletedSession deleted

Staff and Workshop Eventsโ€‹

EventDescription
shift.createdStaff shift created
shift.updatedStaff shift changed
shift.publishedStaff shift published
shift.deletedStaff shift deleted
workshop.item_addedItem added to the workshop
workshop.item_removedItem removed from the workshop

Store Product Eventsโ€‹

EventDescription
store_product.createdStore product added
store_product.updatedStore product changed
store_product.low_stockStore product fell below its low stock level
store_product.inventory_adjustedStore stock adjusted by hand
store_product.inventory_transferredStore stock moved between locations

Form and Survey Eventsโ€‹

EventDescription
form_response.submittedWaiver or form submitted
survey.response_submittedSurvey response received

Voucher and Promo Code Eventsโ€‹

EventDescription
voucher.soldGift card/voucher purchased
voucher.redeemedVoucher applied to booking
promo_code.createdPromo code created
promo_code.updatedPromo code changed

Agent Eventsโ€‹

EventDescription
agent.run.completedAn agent run finished
agent.run.awaiting_approvalAn agent run paused for approval
agent.learning.proposedAn agent drafted a learning suggestion

Other Eventsโ€‹

EventDescription
bundle.createdProduct bundle created
waitlist.entry_createdNew waitlist entry

Membership Eventsโ€‹

EventDescription
membership.renewedA monthly membership charge was paid. data is the charge, with its membership
membership.payment_failedA monthly membership charge failed. data is the charge, with its membership
membership.cancelledA 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..."