The Easy Appointment Booking API and webhooks let you connect booking data to your own systems, dashboards, CRM, spreadsheets, or automation tools.
API access
For reading booking information to build your own reports, the read only system is available via the Claude Connector for Ultimate Planholders. This lets you
Retrieve booking data programmatically.
Look up the Shopify order and customer connected to a booking.
Build a custom integration or reporting dashboard.
Create, reschedule, and cancel bookings from your own system.
The read and write API can help you build the booking experience from the ground up, add and reschedule bookings, and run your entire operation. This is for Enterprise planholders and is currently invite-only. Please reach out to hey@getservicify.com for more!
What you can do with the API
Resource | What it covers |
Bookings | List, read, create, update, reschedule, cancel, assign staff, send a reminder, and send a follow-up. |
Events | List and read your services, their booking options, and their open slots. Create, update, and duplicate services, and set a service to take free in-store bookings. |
Availability | List staff profiles and schedules, create a profile, replace a schedule, and archive a profile. |
Waitlist | List and read entries, read waitlist counts, add and update an entry, and send an invitation when a time opens. |
Locations | List and read your locations, and create or edit them. |
Reports | Peak-hours report. |
Me | Confirm which shop a key belongs to, its permissions, and the shop time zone. |
Start with GET /api/public/v1/me. It confirms the key works and tells you which shop and permissions you are using. If that call fails, check the key before trying anything else.
Locations
Every booking and event carries a locationId. Use GET /api/public/v1/locations to resolve that id to a name and address, and GET /api/public/v1/locations/{id} to read one.
Locations are read-only over the API. Create and edit them in Settings > Locations in the app.
Rate limits
The API allows 10 requests per second per shop. This is a shared budget: every key for the same store draws on it.
Every response carries the current state of your budget:
Header | Meaning |
| Requests allowed per second. |
| Requests left in the current window. |
| When the window resets. |
Go over the limit and the request is refused with HTTP 429 and a RATE_LIMITED error code:
{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit of 10 requests per second exceeded"
}
}
A 429 also carries a Retry-After header telling you how many seconds to wait.
đĄ Tip: Read X-RateLimit-Remaining and slow down before you hit zero, rather than waiting for a 429. If you are backfilling a lot of data, run the job in series instead of in parallel.
What webhooks do
A webhook sends an HTTP POST request to a URL you control whenever a booking event occurs. This lets another tool react immediately when a booking is created, cancelled, rescheduled, updated, or checked in.
Common uses include:
Adding new bookings to a CRM.
Sending a message to Slack, Teams, or another internal tool.
Logging booking data in Google Sheets or a database.
Triggering a custom email or follow-up workflow.
Webhooks send booking events, not live availability or schedule data.
Set up a webhook
In Easy Appointment Booking, go to Settings > Webhooks & API.
Enter the destination URL supplied by your own system, Zapier, Make, or another automation platform.
Click Save.
Webhooks require the Ultimate plan. You need a destination URL that can receive JSON POST requests.
Events and payloads
The event name identifies what happened. Common event names include:
booking.createdbooking.cancelledbooking.rescheduledbooking.updatedbooking.checked_inbooking.no_showbooking.reminderpackage.purchased
Each request includes an event field and a data object. The data can include the booking ID, Shopify order ID, customer details, selected variant, attendees, date and time, event details, assigned availability, and package information when applicable.
{
"event": "booking.created",
"data": {
"booking_id": "BOK123",
"order_id": "12345",
"event_name": "Consultation Call",
"start_date": "2026-12-11",
"start_time": "10:00 AM",
"timezone": "America/New_York"
}
}
Test your webhook
Create a test endpoint with a tool such as Zapier, Make, or a request inspector.
Paste its URL into Settings > Webhooks & API and save.
Create a test booking or reschedule an existing booking.
Check the destination tool to confirm that the payload arrived.
â ď¸ Warning: Keep your webhook URL private. Make sure your receiving system handles failures and protects customer data. If you use a platform such as Zapier or Make, use its retry and logging tools to monitor delivery.
