API Change Log - 7 July 2026

Bookings

  • API Endpoint: {api_url}/v1/bookings
  • Scenario: To create a booking request for an appointment
  • API method: POST
  • Earlier behavior: The V1 Booking Create API required a valid guest GUID (id) for every guest in the request. Creating a booking without a guest ID would fail downstream during the reserve slot process. There was no way to create a booking first and provide the guest ID later at reservation time.
  • New behavior: The guest GUID (id) under guests is now optional in the V1 Booking Create API. Bookings can be created without a guest ID and the guest ID can be provided later in the Reserve Slot API. When the organization setting EnableGuestSpecificDuration is ON, the guest ID becomes mandatory and returns a 400 error if missing. A new database column GuestIdSource tracks the source of the guest ID (1 = Create API, 2 = Reserve API).

Bookings

  • API Endpoint: {api_url}/v1/bookings/booking_id/slots/reserve
  • Scenario: To reserve a time slot for an existing booking
  • API method: POST
  • Earlier behavior: The V1 Booking Reserve Slot API required every guest in the booking to already have a valid guest GUID set during the Create step. If any guest was missing a guest ID the API returned a 400 error with message "Valid guestid is required to reserve slots." There was no way to provide a guest ID during the reserve call itself.
  • New behavior: The Reserve Slot API now accepts an optional guests list in the request body with guest GUIDs. Guest GUIDs provided in the reserve request only fill in missing (NULL) guest IDs and do not override guest IDs already set during Create. Partial updates are supported by passing null or empty GUID for guests that should not change. The guest count in the request must match the booking guest count. A valid guest GUID must be present for every guest by the time Reserve is called either from Create or Reserve. GuestIdSource is set to 2 in the database when the guest ID is provided during Reserve.