BookAppointment

API keys and webhooks

Connect your own systems: read and create bookings, and get notified the moment something changes. · Updated 22/09/2026

If you have your own website, CRM or back-office system, you can connect it directly to your BookAppointment account.

Create a key

1. Sign in and open API & webhooks under Settings. 2. Choose New key, name it after the system that will use it, and tick only the permissions it needs. 3. Copy the key straight away — for your security we only store a scrambled copy and can't show it again. Lost it? Revoke it and create another.

What you can do

Send your key as a bearer token to https://bookappointment.co.uk/api/public/v1:

  • GET /bookings and GET /bookings/:id — read appointments in a date range or one by id
  • POST /bookings — create an appointment
  • PATCH /bookings/:id — cancel or reschedule an appointment
  • GET /customers and GET /customers/:id — search or look up customers linked to your account
  • GET /availability — free bookable slots for a service and date, exactly as customers see them
  • GET /locations — your active locations/branches
  • GET /services and GET /staff — your services and team
  • GET /me — check which business and permissions a key belongs to

See the full request and response shapes on the [developer documentation](/developers) page.

Try it without any code

Underneath your keys and webhooks there is an API playground. Pick one of the example requests, paste a key (a key you have just created is filled in for you), and choose Send request — the answer appears on the page, exactly as your own system would receive it. Copy as command hands the same request to your developer, ready to run. Requests are real, so take care with the one that creates a booking.

Get told when things change

1. Choose New webhook and paste the https address that should receive the message. 2. Tick the events you care about: new booking, changed booking, cancellation, new customer or successful payment. 3. Use Test to send a sample straight away, and check Recent deliveries to see what we sent and what came back.

Every message is signed with your endpoint's secret in the x-bookappointment-signature header, so your system can confirm it really came from us. We make one delivery attempt per event — there's no automatic retry — so keep an eye on Recent deliveries and use Test to replay anything that failed.

API access and webhooks are included on the Business package.

Related articles

Did this article solve your problem? Submit a ticket if you still need help.