Skip to content

HighLevel: Calendars schemas

99 HighLevel schemas with complete fields and constraints.

← Calendars operations · All schemas

Create Block Slot — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
assignedUserIdstringOptionalEither calendarId or assignedUserId can be set, not both.
calendarIdstringRequired within parentEither calendarId or assignedUserId can be set, not both.
endTimestringOptionalEnd Time
locationIdstringRequired within parentLocation Id
startTimestringOptionalStart Time
titlestringOptionalTitle

Create Block Slot — response body

FieldTypePresenceDescription and constraints
$objectRoot
assignedUserIdstringOptionalAssigned User Id
calendarIdstringOptionalCalendar id
endTimeobjectRequired within parentEnd Time
idstringRequired within parentId
locationIdstringRequired within parentLocation Id
startTimeobjectRequired within parentStart Time
titlestringRequired within parentTitle

Create Calendar Group — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
descriptionstringRequired within parent
isActivebooleanOptional
locationIdstringRequired within parent
namestringRequired within parent
slugstringRequired within parent

Create Calendar Resource — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
calendarIdsarrayRequired within parentService calendar IDs to be mapped with the resource.

One equipment can only be mapped with one service calendar.

One room can be mapped with multiple service calendars.
Maximum items: 100
calendarIds[]stringEach item
capacitynumberRequired within parentCapacity of the room.
descriptionstringRequired within parent
locationIdstringRequired within parent
namestringRequired within parent
outOfServicenumberRequired within parentQuantity of the out of service equipment.
quantitynumberRequired within parentQuantity of the equipment.

Create Calendar — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
alertEmailstringOptional
allowBookingAfternumberOptionalMinimum scheduling notice for events
allowBookingAfterUnitstringOptionalUnit for minimum scheduling notice
One of: hours, days, weeks, months, mins
allowBookingFornumberOptionalMinimum number of days/weeks/months for which to allow booking events
allowBookingForUnitstringOptionalUnit for controlling the duration for which booking would be allowed for
One of: days, weeks, months
allowCancellationbooleanOptionalDefault: true
allowReschedulebooleanOptionalDefault: true
appoinmentPerDaynumberOptionalNumber of appointments that can be booked for a given day
appoinmentPerSlotnumberOptionalMaximum bookings per slot (per user). Maximum seats per slot in case of Class Booking Calendar.
Default: 1
autoConfirmbooleanOptionalDefault: true
availabilitiesarrayOptionalWhile we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.
availabilities[]ModelEach itemExpand Create Calendar — request body — body availabilities item
availabilityTypenumberOptionalWhile we will support this property for backward compatibility, it is not required anymore.
One of: 0, 1
calendarCoverImagestringOptional
calendarTypestringOptionalOne of: round_robin, event, class_booking, collective, service_booking, personal
consentLabelstringOptional
descriptionstringOptional
enableRecurringbooleanOptionalEnable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this
Default: false
eventColorstringOptionalDefault: #039be5
eventTitlestringOptionalDefault: {{contact.name}}
eventTypestringOptionalDefault: RoundRobin_OptimizeForAvailability
One of: RoundRobin_OptimizeForAvailability, RoundRobin_OptimizeForEqualDistribution
formIdstringOptional
formSubmitRedirectURLstringOptional
formSubmitThanksMessagestringOptional
formSubmitTypestringOptionalDefault: ThankYouMessage
One of: RedirectURL, ThankYouMessage
googleInvitationEmailsbooleanOptionalDefault: false
groupIdstringOptionalGroup Id
guestTypestringOptionalOne of: count_only, collect_detail
isActivebooleanOptionalShould the created calendar be active or draft
Default: true
isLivePaymentModebooleanOptional
locationConfigurationsarrayOptionalMeeting location configuration for event calendar
locationConfigurations[]ModelEach itemExpand Create Calendar — request body — body location Configurations item
locationIdstringRequired within parent
lookBusyConfigJSONOptionalLook Busy Configuration
lookBusyConfig (allOf 1)ModelAll variants applyExpand Create Calendar — request body — body look Busy Config Look Busy Percentage, enabled
meetingLocationstringOptional🚨 Deprecated! Use `locationConfigurations.location` or `teamMembers[].locationConfigurations.location` instead.
Read only: true
namestringRequired within parent
notesstringOptional
notificationsarrayOptional🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.
notifications[]ModelEach itemExpand Create Calendar — request body — body notifications item
openHoursarrayOptionalWhile we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.
openHours[]ModelEach itemExpand Create Calendar — request body — body open Hours item
pixelIdstringOptional
preBuffernumberOptionalPre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBufferUnitstringOptionalUnit for pre-buffer.
One of: mins, hours
recurringModelOptionalExpand Create Calendar — request body — body recurring
shouldAssignContactToTeamMemberbooleanOptional
shouldSendAlertEmailsToAssignedMemberbooleanOptional
shouldSkipAssigningContactForExistingbooleanOptional
slotBuffernumberOptionalSlot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up
slotBufferUnitstringOptionalUnit for slot buffer.
One of: mins, hours
slotDurationnumberOptionalThis controls the duration of the meeting
Default: 30
slotDurationUnitstringOptionalUnit for slot duration.
One of: mins, hours
slotIntervalnumberOptionalSlot interval reflects the amount of time the between booking slots that will be shown in the calendar.
Default: 30
slotIntervalUnitstringOptionalUnit for slot interval.
One of: mins, hours
slugstringOptional
stickyContactbooleanOptional
teamMembersarrayOptionalTeam members are required for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.
teamMembers[]ModelEach itemExpand Create Calendar — request body — body team Members item
widgetSlugstringOptional
widgetTypestringOptionalCalendar widget type. Choose "default" for "neo" and "classic" for "classic" layout.
Default: classic
One of: default, classic

Referenced models: Create Calendar — request body — body availabilities item, Create Calendar — request body — body notifications item, Create Calendar — request body — body location Configurations item, Create Calendar — request body — body look Busy Config Look Busy Percentage, enabled, Create Calendar — request body — body open Hours item, Create Calendar — request body — body recurring, Create Calendar — request body — body team Members item

Create Calendar — request body — body availabilities item

FieldTypePresenceDescription and constraints
$objectRoot
datestringRequired within parentFormulate the date string in the format of `<YYYY-MM-DD in local timezone>T00:00:00.000Z`.
deletedbooleanOptionalDefault: false
hoursarrayRequired within parent
hours[]ModelEach itemExpand Create Calendar — request body — body open Hours item hours item

Referenced models: Create Calendar — request body — body open Hours item hours item

Create Calendar — request body — body location Configurations item

FieldTypePresenceDescription and constraints
$objectRoot
kindstringRequired within parentType of meeting location. zoom_conference/google_conference/ms_teams_conference is not supported in event calendar type
One of: custom, zoom_conference, google_conference, inbound_call, outbound_call, physical, booker, ms_teams_conference
locationstringOptionalAddress for meeting location. Not applicable on "zoom_conference", "google_conference" and "ms_teams_conference" kind

Create Calendar — request body — body look Busy Config Look Busy Percentage, enabled

FieldTypePresenceDescription and constraints
$objectRoot
LookBusyPercentagenumberRequired within parentPercentage of slots that will be hidden
enabledbooleanRequired within parentApply Look Busy
Default: false

Create Calendar — request body — body notifications item

FieldTypePresenceDescription and constraints
$objectRoot
selectedUsersstringRequired within parentComma separated emails
shouldSendToContactbooleanRequired within parent
shouldSendToGuestbooleanRequired within parent
shouldSendToSelectedUsersbooleanRequired within parent
shouldSendToUserbooleanRequired within parent
typestringOptionalCalendar Notification
Default: email
One of: email

Create Calendar — request body — body open Hours item

FieldTypePresenceDescription and constraints
$objectRoot
daysOfTheWeekarrayRequired within parent
daysOfTheWeek[]numberEach itemMaximum: 6
Minimum: 0
hoursarrayRequired within parent
hours[]ModelEach itemExpand Create Calendar — request body — body open Hours item hours item

Referenced models: Create Calendar — request body — body open Hours item hours item

Create Calendar — request body — body open Hours item hours item

FieldTypePresenceDescription and constraints
$objectRoot
closeHournumberRequired within parentMaximum: 23
Minimum: 0
closeMinutenumberRequired within parentMaximum: 60
Minimum: 0
openHournumberRequired within parentMaximum: 23
Minimum: 0
openMinutenumberRequired within parentMaximum: 60
Minimum: 0

Create Calendar — request body — body recurring

FieldTypePresenceDescription and constraints
$objectRoot
bookingOptionstringOptionalThis setting contols what to do incase a recurring slot is unavailable
One of: skip, continue, book_next
bookingOverlapDefaultStatusstringOptionalThis setting contols what to do incase a recurring slot is unavailable
One of: confirmed, new
countnumberOptionalNumber of recurrences
Maximum: 24
freqstringOptionalOne of: DAILY, WEEKLY, MONTHLY

Create Calendar — request body — body team Members item

FieldTypePresenceDescription and constraints
$objectRoot
isPrimarybooleanOptionalMarks a user as primary. This property is required in case of collective booking calendars. Only one user can be primary.
locationConfigurationsarrayOptionalMeeting location configuration for event calendar.
- *Multiple locations are allowed only when one team member is selected.*
- *For **Class booking** and **Collective** calendars, only one location configuration is allowed for each team member.*
locationConfigurations[]ModelEach itemExpand Create Calendar — request body — body location Configurations item
meetingLocationstringOptional🚨 Deprecated! Use `locationConfigurations.location` instead.
Read only: true
meetingLocationTypestringOptional🚨 Deprecated! Use `locationConfigurations.kind` instead.
Default: custom
One of: custom, zoom, gmeet, phone, address, teams, booker
Read only: true
prioritynumberOptionalDefault: 0.5
One of: 0, 0.5, 1
userIdstringRequired within parent

Referenced models: Create Calendar — request body — body location Configurations item

Create Note — calendars create Appointment Note — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
bodystringRequired within parentNote body
Maximum length: 5000
userIdstringOptional

Create Note — calendars create Appointment Note — response body

FieldTypePresenceDescription and constraints
$objectRoot
noteModelOptionalExpand Create Note — calendars create Appointment Note — response body — note

Referenced models: Create Note — calendars create Appointment Note — response body — note

Create Note — calendars create Appointment Note — response body — note

FieldTypePresenceDescription and constraints
$objectRoot
bodystringOptional
contactIdstringOptional
createdByModelOptionalExpand Create Note — calendars create Appointment Note — response body — note created By
dateAddedstringOptional
idstringOptional
userIdstringOptional

Referenced models: Create Note — calendars create Appointment Note — response body — note created By

Create Note — calendars create Appointment Note — response body — note created By

FieldTypePresenceDescription and constraints
$objectRoot
idstringOptional
namestringOptional

Create Service Booking — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
contactIdstringRequired within parentContact ID
endTimestringRequired within parentEnd Time
locationIdstringRequired within parentLocation ID
meetingLocationstringOptionalMeeting Location (If service location is an ask the booker, then the meeting location is required)
serviceLocationIdstringOptionalService Location ID (If not provided, then the default service location will be used)
servicesarrayRequired within parentServices
services[]ModelEach itemExpand Create Service Booking — request body — body services item
startTimestringRequired within parentStart Time
statusstringOptionalStatus. (If not provided, the status configured in Service Global Settings will be used.)
One of: confirmed, new
timezonestringRequired within parentTimezone
titlestringOptionalService Booking Title

Referenced models: Create Service Booking — request body — body services item

Create Service Booking — request body — body services item

FieldTypePresenceDescription and constraints
$objectRoot
addOnsarrayOptionalAdd-ons
addOns[]ModelEach itemExpand Create Service Booking — request body — body services item add Ons item
idstringRequired within parentService ID
positionnumberOptionalPosition
staffIdstringOptionalStaff ID

Referenced models: Create Service Booking — request body — body services item add Ons item

Create Service Booking — request body — body services item add Ons item

FieldTypePresenceDescription and constraints
$objectRoot
durationnumberOptionalAdd-on duration (in minutes)
idstringRequired within parentAdd-on ID
quantitynumberOptionalAdd-on quantity

Create Service Booking — response body

FieldTypePresenceDescription and constraints
$objectRoot
bookingIdstringRequired within parentBooking ID
contactIdstringRequired within parentContact ID
createdByJSONRequired within parentBooking booked by metadata
createdBy (allOf 1)ModelAll variants applyExpand Create Service Booking — response body — created By source, user Id
dateAddedstringRequired within parentDate Added
dateUpdatedstringRequired within parentDate Updated
deletedbooleanRequired within parentTells if the booking is deleted
endTimestringRequired within parentEnd Time
locationIdstringRequired within parentLocation ID
meetingLocationstringOptionalMeeting Location (If service location is an ask the booker, then the meeting location is used for the booking)
messagesarrayOptionalOptional informative or warning messages (e.g. meeting location ignored for non-ask-booker locations)
messages[]arrayEach item
serviceLocationIdstringRequired within parentService Location ID
servicesarrayRequired within parentServices
services[]ModelEach itemExpand Create Service Booking — response body — services item
startTimestringRequired within parentStart Time
statusstringRequired within parentStatus
timezonestringRequired within parentTimezone
titlestringRequired within parentService Booking Title

Referenced models: Create Service Booking — response body — created By source, user Id, Create Service Booking — response body — services item

Create Service Booking — response body — created By source, user Id

FieldTypePresenceDescription and constraints
$objectRoot
sourcestringRequired within parentThe source of the appointment
userIdstringOptionalThe ID of the user who created or updated the appointment

Create Service Booking — response body — services item

FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentService ID
serviceAddOnsarrayOptionalService Add-ons
serviceAddOns[]ModelEach itemExpand Create Service Booking — response body — services item service Add Ons item
serviceCategoryIdstringRequired within parentService Category ID
serviceEndTimestringRequired within parentService End Time
serviceResourcesarrayOptionalService Resources
serviceResources[]ModelEach itemExpand Create Service Booking — response body — services item service Resources item
serviceStaffIdstringRequired within parentService Staff ID
serviceStartTimestringRequired within parentService Start Time

Referenced models: Create Service Booking — response body — services item service Add Ons item, Create Service Booking — response body — services item service Resources item

Create Service Booking — response body — services item service Add Ons item

FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentAdd-on ID
quantityJSONOptional
quantity (anyOf 1)numberAlternativeAdd-on quantity
quantity (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

Create Service Booking — response body — services item service Resources item

FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentResource ID

Create Service Location — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
addressstringOptionalUse a full street address when locationType is offline. Use a user-facing label when locationType is ask_booker.
coverImagestringOptionalURL of the cover image for this service location
locationIdstringRequired within parentLocation ID
locationTypestringOptionalLocation type
One of: offline, ask_booker
namestringRequired within parentLocation name
phonestringOptionalPhone number
slugstringRequired within parentURL-friendly slug identifier

Create Service Location — response body

FieldTypePresenceDescription and constraints
$objectRoot
addressstringOptionalUse a full street address when locationType is offline. Use a user-facing label when locationType is ask_booker.
coverImagestringOptionalURL of the cover image displayed for this location
idstringRequired within parentService Location ID
isActivebooleanOptionalWhether location is active
Default: true
isPrivatebooleanOptionalWhether location is private (not shown publicly)
Default: false
locationIdstringRequired within parentLocation ID
locationTypestringOptionalLocation type
Known values: offline, ask_booker
namestringRequired within parentLocation name
phonestringOptionalContact phone number for the service location
slugstringRequired within parentUnique URL-friendly identifier for the service location

Create Service — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
coverImagestringOptionalService cover image URL
descriptionstringOptionalService description
eventColorstringOptionalService event color (hex)
formIdstringOptionalCustom form ID (will be used to display the custom form on the booking page, if only one service is selected)
isPrivatebooleanOptionalWhether service is private (not shown publicly)
locationIdstringRequired within parentLocation ID
namestringRequired within parentService name
paymentJSONOptionalPayment details (default amount is 0, currency configured in Service Global Settings is used.)
payment (allOf 1)ModelAll variants applyExpand Create Service — request body — body / payment / depositType: percentage, amount
postBuffernumberOptionalPost-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
postBufferUnitstringOptionalPost-buffer unit
One of: mins, hours
preBuffernumberOptionalPre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBufferUnitstringOptionalPre-buffer unit
One of: mins, hours
serviceCategoryIdstringOptionalService category ID (uses default category if not provided)
serviceDurationnumberOptionalThis controls the duration of the appointment
serviceDurationUnitstringOptionalDuration unit
One of: mins, hours
slugstringRequired within parentUnique URL-friendly identifier
staffarrayRequired within parentAssigned staff members (at least one required)
staff[]ModelEach itemExpand Create Service — request body — body staff item
variationsarrayOptionalService variations (pass empty array for no variations)
variations[]ModelEach itemExpand Create Service — request body — body variations item

Referenced models: Create Service — request body — body variations item, Create Service — request body — body staff item, Create Service — request body — body / payment / depositType: percentage, amount

Create Service — request body — body / payment / depositType: percentage, amount

FieldTypePresenceDescription and constraints
$objectRoot
amountnumberOptionalService price
depositnumberOptionalDeposit amount or percentage value
depositTypestringOptionalDeposit type
One of: percentage, amount

Create Service — request body — body staff item

FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentStaff ID

Create Service — request body — body variations item

FieldTypePresenceDescription and constraints
$objectRoot
namestringRequired within parentVariation name
paymentJSONOptionalPayment details
payment (allOf 1)ModelAll variants applyExpand Create Service — request body — body / payment / depositType: percentage, amount
postBuffernumberOptionalPost-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
postBufferUnitstringOptionalPost-buffer unit
One of: mins, hours
preBuffernumberOptionalPre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBufferUnitstringOptionalPre-buffer unit
One of: mins, hours
serviceDurationnumberOptionalThis controls the duration of the appointment
serviceDurationUnitstringOptionalDuration unit
One of: mins, hours

Referenced models: Create Service — request body — body / payment / depositType: percentage, amount

Create Service — response body

FieldTypePresenceDescription and constraints
$objectRoot
serviceJSONRequired within parentService details
service (allOf 1)ModelAll variants applyExpand Get Services — response body — services item

Referenced models: Get Services — response body — services item

Create appointment — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
addressstringOptionalAppointment Address
appointmentStatusstringOptionalOne of: new, confirmed, cancelled, showed, noshow, invalid, completed, active
assignedUserIdstringOptionalAssigned User Id
calendarIdstringRequired within parentCalendar Id
contactIdstringRequired within parentContact Id
descriptionstringOptionalAppointment Description
endTimestringOptionalEnd Time
ignoreDateRangebooleanOptionalIf set to true, the minimum scheduling notice and date range would be ignored
ignoreFreeSlotValidationbooleanOptionalIf true the time slot validation would be avoided for any appointment creation (even the ignoreDateRange)
locationIdstringRequired within parentLocation Id
meetingLocationIdstringOptionalThe unique identifier for the meeting location.
- This value can be found in `calendar.locationConfigurations`or `calendar.teamMembers[].locationConfigurations`
Default: default
meetingLocationTypestringOptionalMeeting location type.
- If `address` is provided in the request body, the `meetingLocationType` defaults to **custom**.
One of: custom, zoom, gmeet, phone, address, ms_teams, google
overrideLocationConfigbooleanOptionalFlag to override location config
- **false** - If only `meetingLocationId` is provided
- **true** - If only `meetingLocationType` is provided
rrulestringOptionalRRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event. The rrule only be applied if ignoreFreeSlotValidation is true.
startTimestringRequired within parentStart Time
titlestringOptionalTitle
toNotifybooleanOptionalIf set to false, the automations will not run. Defaults to true
Default: true

Create appointment — response body

FieldTypePresenceDescription and constraints
$objectRoot
addressstringOptionalAppointment Address
appointmentStatusstringOptionalKnown values: new, confirmed, cancelled, showed, noshow, invalid, active, completed
assignedUserIdstringOptionalAssigned User Id
calendarIdstringRequired within parentCalendar Id
contactIdstringRequired within parentContact Id
dateAddedstringRequired within parentDate Added
dateUpdatedstringRequired within parentDate Updated
endTimestringOptionalEnd Time
idstringRequired within parentId
isRecurringbooleanOptionaltrue if the event is recurring otherwise false
locationIdstringRequired within parentLocation Id
meetingLocationTypestringOptionalMeeting Location Type
Default: default
rrulestringOptionalRRULE as per the iCalendar (RFC 5545) specification for recurring events
startTimestringOptionalStart Time
titlestringOptionalTitle

Create event calendar availability schedule — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
rulesarrayRequired within parentSchedule rules defining when the schedule is active
rules[]ModelEach itemExpand Create user availability schedule — request body — body rules item
timezonestringRequired within parentTimezone for the schedule (IANA timezone identifier)
Pattern: ^[A-Za-z_]+/[A-Za-z_]+$

Referenced models: Create user availability schedule — request body — body rules item

Create notification — request body — body item

FieldTypePresenceDescription and constraints
$objectRoot
additionalEmailIdsarrayOptionalAdditional email addresses to receive notifications.
additionalEmailIds[]stringEach item
additionalPhoneNumbersarrayOptionalAdditional phone numbers to receive notifications.
additionalPhoneNumbers[]stringEach item
afterTimearrayOptionalSpecifies the time after which the follow-up notification should be sent. This is not required for other notification types.
afterTime[]ModelEach itemExpand Update notification — request body — body after Time item
beforeTimearrayOptionalSpecifies the time before which the reminder notification should be sent. This is not required for other notification types.
beforeTime[]ModelEach itemExpand Update notification — request body — body after Time item
bodystringOptionalBody for email notification. Not necessary for in-App notification
channelstringRequired within parentNotification channel
One of: email, inApp, sms, whatsapp
fromAddressstringOptionalfrom address for email notification
fromNamestringOptionalfrom name for email/sms notification
fromNumberstringOptionalfrom number for sms notification
isActivebooleanOptionalIs the notification active
Default: true
notificationTypestringRequired within parentNotification type
One of: booked, confirmation, cancellation, reminder, followup, reschedule
receiverTypestringRequired within parentnotification recipient type
One of: contact, guest, assignedUser, emails, phoneNumbers, business
selectedUsersarrayOptionalSelected users for in-App and business email notifications. Supports user IDs and special keyword "sub_account_admin"
selectedUsers[]stringEach item
subjectstringOptionalSubject for email notification. Not necessary for in-App notification
templateIdstringOptionalTemplate ID for email notification. Not necessary for in-App notification

Referenced models: Update notification — request body — body after Time item

Create user availability schedule — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
calendarIdsarrayOptionalCalendar IDs associated with the schedule
calendarIds[]stringEach item
locationIdstringRequired within parentLocation ID where this schedule applies
namestringRequired within parentHuman-readable name for the schedule
rulesarrayOptionalSchedule rules defining when the schedule is active
rules[]ModelEach itemExpand Create user availability schedule — request body — body rules item
timezonestringRequired within parentTimezone for the schedule (IANA timezone identifier)
Pattern: ^[A-Za-z_]+/[A-Za-z_]+$
userIdstringRequired within parentUser ID associated with the schedule

Referenced models: Create user availability schedule — request body — body rules item

Create user availability schedule — request body — body rules item

FieldTypePresenceDescription and constraints
$objectRoot
datestringOptionalSpecific date in YYYY-MM-DD format (only for date-type rules)
Pattern: ^\d{4}-\d{2}-\d{2}$
daystringOptionalDay of week (only for weekday-type rules)
One of: sunday, monday, tuesday, wednesday, thursday, friday, saturday
intervalsarrayRequired within parentTime intervals for the rule (e.g., 9 AM to 5 PM)
intervals[]ModelEach itemExpand Create user availability schedule — request body — body rules item intervals item
typestringRequired within parentType of schedule rule - weekday (recurring) or date (specific date)
One of: wday, date

Referenced models: Create user availability schedule — request body — body rules item intervals item

Create user availability schedule — request body — body rules item intervals item

FieldTypePresenceDescription and constraints
$objectRoot
fromstringRequired within parentStart time in HH:MM format (24-hour format)
Pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$
tostringRequired within parentEnd time in HH:MM format (24-hour format)
Pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$

Delete Calendar — response body

FieldTypePresenceDescription and constraints
$objectRoot
successbooleanRequired within parentSuccess

Delete Event — request body — body

FieldTypePresenceDescription and constraints
$objectRoot

Delete Event — response body

FieldTypePresenceDescription and constraints
$objectRoot
succeededbooleanOptional

Delete Group — response body

FieldTypePresenceDescription and constraints
$objectRoot
successbooleanOptionalSuccess

Delete Note — calendars delete Appointment Note — response body

FieldTypePresenceDescription and constraints
$objectRoot
successbooleanOptional

Delete Notification — response body

FieldTypePresenceDescription and constraints
$objectRoot
messagestringRequired within parentResult of delete/update operation

Delete Service Booking — response body

FieldTypePresenceDescription and constraints
$objectRoot
messagestringRequired within parentResponse message
successbooleanRequired within parentIndicates if the deletion was successful

Delete Service — response body

FieldTypePresenceDescription and constraints
$objectRoot
messagestringOptionalSuccess message
successbooleanRequired within parentSuccess

Disable Group — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
isActivebooleanRequired within parentIs Active?

Get Appointment — response body

FieldTypePresenceDescription and constraints
$objectRoot
eventModelOptionalExpand Get Appointment — response body — event

Referenced models: Get Appointment — response body — event

Get Appointment — response body — event

FieldTypePresenceDescription and constraints
$objectRoot
addressstringOptionalCalendar Event address
appointmentStatusstringRequired within parentAppointment Status
assignedResourcesarrayOptionalIds of associated resources rooms and/or equipments
assignedResources[]stringEach item
assignedUserIdstringRequired within parentAssignedUser - the primary owner of an appointment
calendarIdstringRequired within parentCalendar ID
contactIdstringRequired within parentContact ID
createdByJSONOptionalAppointment booked by metadata
createdBy (allOf 1)ModelAll variants applyExpand Create Service Booking — response body — created By source, user Id
dateAddedobjectRequired within parentDate Added
dateUpdatedobjectRequired within parentDate Updated
deletedbooleanOptionalTells if a calendar event has been deleted
descriptionstringOptionalDescription
endTimeobjectRequired within parentEnd Time
groupIdstringRequired within parentGroup ID
idstringRequired within parentEvent Id or Instance id for a recurring event
isRecurringbooleanOptionaltrue if the event is recurring otherwise false
locationIdstringRequired within parentLocation ID
masterEventIdstringOptionalMaster event id for a recurring instance
notesstringOptionalNotes
rrulestringOptionalRRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event.
startTimeobjectRequired within parentStart Time
titlestringRequired within parentCalendar Event title
usersarrayRequired within parentUsers - the secondary owners of an appointment.
users[]stringEach item

Referenced models: Create Service Booking — response body — created By source, user Id

Get Blocked Slots — response body

FieldTypePresenceDescription and constraints
$objectRoot
eventsarrayOptional
events[]ModelEach itemExpand Get Appointment — response body — event

Referenced models: Get Appointment — response body — event

Get Calendar Resource — response body

FieldTypePresenceDescription and constraints
$objectRoot
calendarIdsarrayRequired within parentCalendar IDs
calendarIds[]stringEach item
capacityJSONOptional
capacity (anyOf 1)numberAlternativeCapacity of the resource
capacity (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
descriptionstringOptionalDescription of the resource
isActivebooleanRequired within parentWhether the resource is active
locationIdstringRequired within parentLocation ID of the resource
namestringRequired within parentName of the resource
outOfServiceJSONOptional
outOfService (anyOf 1)numberAlternativeIndicates if the resource is out of service
outOfService (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
quantityJSONOptional
quantity (anyOf 1)numberAlternativeQuantity of the resource
quantity (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
resourceTypestringRequired within parentKnown values: equipments, rooms

Get Calendar — response body

FieldTypePresenceDescription and constraints
$objectRoot
calendarModelRequired within parentExpand Get Calendar — response body — calendar

Referenced models: Get Calendar — response body — calendar

Get Calendar — response body — calendar

FieldTypePresenceDescription and constraints
$objectRoot
alertEmailstringOptional
allowBookingAfterJSONOptional
allowBookingAfter (anyOf 1)numberAlternativeMinimum scheduling notice for events
allowBookingAfter (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
allowBookingAfterUnitstringOptionalUnit for minimum scheduling notice
Known values: hours, days, weeks, months, mins
allowBookingForJSONOptional
allowBookingFor (anyOf 1)numberAlternativeMinimum number of days/weeks/months for which to allow booking events
allowBookingFor (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
allowBookingForUnitstringOptionalUnit for controlling the duration for which booking would be allowed for
Known values: days, weeks, months
allowCancellationbooleanOptionalDefault: true
allowReschedulebooleanOptionalDefault: true
appoinmentPerDayJSONOptional
appoinmentPerDay (anyOf 1)numberAlternativeNumber of appointments that can be booked for a given day
appoinmentPerDay (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
appoinmentPerSlotJSONOptional
appoinmentPerSlot (anyOf 1)numberAlternativeMaximum bookings per slot (per user). Maximum seats per slot in case of Class Booking Calendar.
Default: 1
appoinmentPerSlot (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
autoConfirmbooleanOptionalDefault: true
availabilitiesarrayOptionalWhile we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.
availabilities[]ModelEach itemExpand Get Calendar — response body — calendar availabilities item
availabilityTypeJSONOptional
availabilityType (anyOf 1)numberAlternativeWhile we will support this property for backward compatibility, it is not required anymore.
Known values: 0, 1
availabilityType (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
calendarCoverImagestringOptional
calendarTypestringOptionalKnown values: round_robin, event, class_booking, collective, service_booking, personal
consentLabelstringOptional
descriptionstringOptional
enableRecurringbooleanOptionalEnable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this
Default: false
eventColorstringOptionalDefault: #039be5
eventTitlestringOptionalDefault: {{contact.name}}
eventTypestringOptionalKnown values: RoundRobin_OptimizeForAvailability, RoundRobin_OptimizeForEqualDistribution
Default: RoundRobin_OptimizeForAvailability
formIdstringOptional
formSubmitRedirectURLstringOptional
formSubmitThanksMessagestringOptional
formSubmitTypestringOptionalKnown values: RedirectURL, ThankYouMessage
Default: ThankYouMessage
googleInvitationEmailsbooleanOptionalDefault: false
groupIdstringOptionalGroup Id
guestTypestringOptionalKnown values: count_only, collect_detail
idstringRequired within parent
isActivebooleanOptionalShould the created calendar be active or draft
Default: true
isLivePaymentModebooleanOptional
locationConfigurationsarrayOptionalMeeting location configuration for event calendar
locationConfigurations[]ModelEach itemExpand Get Calendar — response body — calendar location Configurations item
locationIdstringRequired within parent
lookBusyConfigJSONOptionalLook Busy Configuration
lookBusyConfig (allOf 1)ModelAll variants applyExpand Get Calendar — response body — calendar look Busy Config Look Busy Percentage, enabled
meetingLocationstringOptional🚨 Deprecated! Use `locationConfigurations.location` or `teamMembers[].locationConfigurations.location` instead.
Read only: true
namestringRequired within parent
notesstringOptional
notificationsarrayOptional🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.
notifications[]ModelEach itemExpand Get Calendar — response body — calendar notifications item
openHoursarrayOptionalWhile we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.
openHours[]ModelEach itemExpand Get Calendar — response body — calendar open Hours item
pixelIdstringOptional
preBufferJSONOptional
preBuffer (anyOf 1)numberAlternativePre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBuffer (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
preBufferUnitstringOptionalUnit for pre-buffer.
Known values: mins, hours
recurringModelOptionalExpand Get Calendar — response body — calendar recurring
shouldAssignContactToTeamMemberbooleanOptional
shouldSendAlertEmailsToAssignedMemberbooleanOptional
shouldSkipAssigningContactForExistingbooleanOptional
slotBufferJSONOptional
slotBuffer (anyOf 1)numberAlternativeSlot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up
slotBuffer (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
slotBufferUnitstringOptionalUnit for slot buffer.
Known values: mins, hours
slotDurationJSONOptional
slotDuration (anyOf 1)numberAlternativeThis controls the duration of the meeting
Default: 30
slotDuration (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
slotDurationUnitstringOptionalUnit for slot duration.
Known values: mins, hours
slotIntervalJSONOptional
slotInterval (anyOf 1)numberAlternativeSlot interval reflects the amount of time the between booking slots that will be shown in the calendar.
Default: 30
slotInterval (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
slotIntervalUnitstringOptionalUnit for slot interval.
Known values: mins, hours
slugstringOptional
stickyContactbooleanOptional
teamMembersarrayOptionalTeam members are for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.
teamMembers[]ModelEach itemExpand Get Calendar — response body — calendar team Members item
widgetSlugstringOptional
widgetTypestringOptionalCalendar widget type. Choose "default" for "neo" and "classic" for "classic" layout.
Known values: default, classic
Default: classic

Referenced models: Get Calendar — response body — calendar availabilities item, Get Calendar — response body — calendar notifications item, Get Calendar — response body — calendar location Configurations item, Get Calendar — response body — calendar look Busy Config Look Busy Percentage, enabled, Get Calendar — response body — calendar open Hours item, Get Calendar — response body — calendar recurring, Get Calendar — response body — calendar team Members item

Get Calendar — response body — calendar availabilities item

FieldTypePresenceDescription and constraints
$objectRoot
datestringRequired within parentFormulate the date string in the format of `<YYYY-MM-DD in local timezone>T00:00:00.000Z`.
deletedbooleanOptionalDefault: false
hoursarrayRequired within parent
hours[]ModelEach itemExpand Get Calendar — response body — calendar open Hours item hours item

Referenced models: Get Calendar — response body — calendar open Hours item hours item

Get Calendar — response body — calendar location Configurations item

FieldTypePresenceDescription and constraints
$objectRoot
kindstringRequired within parentType of meeting location. zoom_conference/google_conference/ms_teams_conference is not supported in event calendar type
Known values: custom, zoom_conference, google_conference, inbound_call, outbound_call, physical, booker, ms_teams_conference
locationstringOptionalAddress for meeting location. Not applicable on "zoom_conference", "google_conference" and "ms_teams_conference" kind
meetingIdstringOptionalUnique ID used to select a specific meeting location

Get Calendar — response body — calendar look Busy Config Look Busy Percentage, enabled

FieldTypePresenceDescription and constraints
$objectRoot
LookBusyPercentageJSONRequired within parent
LookBusyPercentage (anyOf 1)numberAlternativePercentage of slots that will be hidden
LookBusyPercentage (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
enabledbooleanRequired within parentApply Look Busy
Default: false

Get Calendar — response body — calendar notifications item

FieldTypePresenceDescription and constraints
$objectRoot
selectedUsersstringRequired within parentComma separated emails
shouldSendToContactbooleanRequired within parent
shouldSendToGuestbooleanRequired within parent
shouldSendToSelectedUsersbooleanRequired within parent
shouldSendToUserbooleanRequired within parent
typestringOptionalCalendar Notification
Known values: email
Default: email

Get Calendar — response body — calendar open Hours item

FieldTypePresenceDescription and constraints
$objectRoot
daysOfTheWeekarrayRequired within parent
daysOfTheWeek[]JSONEach item
daysOfTheWeek[] (anyOf 1)numberAlternativeMaximum: 6
Minimum: 0
daysOfTheWeek[] (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
hoursarrayRequired within parent
hours[]ModelEach itemExpand Get Calendar — response body — calendar open Hours item hours item

Referenced models: Get Calendar — response body — calendar open Hours item hours item

Get Calendar — response body — calendar open Hours item hours item

FieldTypePresenceDescription and constraints
$objectRoot
closeHourJSONRequired within parent
closeHour (anyOf 1)numberAlternativeMaximum: 23
Minimum: 0
closeHour (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
closeMinuteJSONRequired within parent
closeMinute (anyOf 1)numberAlternativeMaximum: 60
Minimum: 0
closeMinute (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
openHourJSONRequired within parent
openHour (anyOf 1)numberAlternativeMaximum: 23
Minimum: 0
openHour (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
openMinuteJSONRequired within parent
openMinute (anyOf 1)numberAlternativeMaximum: 60
Minimum: 0
openMinute (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

Get Calendar — response body — calendar recurring

FieldTypePresenceDescription and constraints
$objectRoot
bookingOptionstringOptionalThis setting contols what to do incase a recurring slot is unavailable
Known values: skip, continue, book_next
bookingOverlapDefaultStatusstringOptionalThis setting contols what to do incase a recurring slot is unavailable
Known values: confirmed, new
countJSONOptional
count (anyOf 1)numberAlternativeNumber of recurrences
Maximum: 24
count (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
freqstringOptionalKnown values: DAILY, WEEKLY, MONTHLY

Get Calendar — response body — calendar team Members item

FieldTypePresenceDescription and constraints
$objectRoot
isPrimarybooleanOptionalMarks a user as primary. This property is required in case of collective booking calendars. Only one user can be primary.
locationConfigurationsarrayOptionalMeeting location configurations
locationConfigurations[]ModelEach itemExpand Get Calendar — response body — calendar location Configurations item
meetingLocationstringOptional🚨 Deprecated! Use `locationConfigurations.location` instead.
Read only: true
meetingLocationTypestringOptional🚨 Deprecated! Use `locationConfigurations.kind` instead.
Known values: custom, zoom, gmeet, phone, address, teams, booker
Default: custom
Read only: true
priorityJSONOptional
priority (anyOf 1)numberAlternativeKnown values: 0, 0.5, 1
Default: 0.5
priority (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
userIdstringRequired within parent

Referenced models: Get Calendar — response body — calendar location Configurations item

Get Calendars — response body

FieldTypePresenceDescription and constraints
$objectRoot
calendarsarrayOptional
calendars[]ModelEach itemExpand Get Calendar — response body — calendar

Referenced models: Get Calendar — response body — calendar

Get Free Slots — response body — value

FieldTypePresenceDescription and constraints
$objectRoot
slotsarrayRequired within parent
slots[]stringEach item

Get Groups — response body

FieldTypePresenceDescription and constraints
$objectRoot
groupsarrayOptional
groups[]ModelEach itemExpand Update Group — response body — group

Referenced models: Update Group — response body — group

Get Notes — response body

FieldTypePresenceDescription and constraints
$objectRoot
hasMorebooleanOptional
notesarrayOptional
notes[]ModelEach itemExpand Create Note — calendars create Appointment Note — response body — note

Referenced models: Create Note — calendars create Appointment Note — response body — note

Get Service Booking by ID — response body

FieldTypePresenceDescription and constraints
$objectRoot
bookingIdstringRequired within parentBooking ID
contactIdstringRequired within parentContact ID
createdByJSONRequired within parentBooking booked by metadata
createdBy (allOf 1)ModelAll variants applyExpand Create Service Booking — response body — created By source, user Id
dateAddedstringRequired within parentDate Added
dateUpdatedstringRequired within parentDate Updated
deletedbooleanRequired within parentTells if the booking is deleted
endTimestringRequired within parentEnd Time
locationIdstringRequired within parentLocation ID
meetingLocationstringOptionalMeeting Location (If service location is an ask the booker, then the meeting location is used for the booking)
serviceLocationIdstringRequired within parentService Location ID
servicesarrayRequired within parentServices
services[]ModelEach itemExpand Create Service Booking — response body — services item
startTimestringRequired within parentStart Time
statusstringRequired within parentStatus
timezonestringRequired within parentTimezone
titlestringRequired within parentService Booking Title

Referenced models: Create Service Booking — response body — created By source, user Id, Create Service Booking — response body — services item

Get Service Bookings — response body

FieldTypePresenceDescription and constraints
$objectRoot
bookingsarrayRequired within parentService Bookings
bookings[]ModelEach itemExpand Get Service Booking by ID — response body

Referenced models: Get Service Booking by ID — response body

Get Service Locations — response body

FieldTypePresenceDescription and constraints
$objectRoot
serviceLocationsarrayRequired within parentList of service locations
serviceLocations[]ModelEach itemExpand Create Service Location — response body

Referenced models: Create Service Location — response body

Get Services — response body

FieldTypePresenceDescription and constraints
$objectRoot
servicesarrayRequired within parentList of services
services[]ModelEach itemExpand Get Services — response body — services item

Referenced models: Get Services — response body — services item

Get Services — response body — services / item / payment / depositType: percentage, amount

FieldTypePresenceDescription and constraints
$objectRoot
amountJSONOptional
amount (anyOf 1)numberAlternativeService price
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
depositJSONOptional
deposit (anyOf 1)numberAlternativeDeposit amount or percentage value
deposit (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
depositTypestringOptionalDeposit type
Known values: percentage, amount

Get Services — response body — services item

FieldTypePresenceDescription and constraints
$objectRoot
coverImagestringOptionalService cover image URL
descriptionstringOptionalService description
eventColorstringOptionalService event color (hex)
formIdstringOptionalCustom form ID (will be used to display the custom form on the booking page, if only one service is selected)
idstringRequired within parentService ID
isPrivatebooleanOptionalWhether service is private (not shown publicly)
Default: false
locationIdstringRequired within parentLocation ID
namestringRequired within parentService name
paymentJSONOptionalPayment details
payment (allOf 1)ModelAll variants applyExpand Get Services — response body — services / item / payment / depositType: percentage, amount
postBufferJSONOptional
postBuffer (anyOf 1)numberAlternativePost-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
postBuffer (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
postBufferUnitstringOptionalPost-buffer unit
Known values: mins, hours
preBufferJSONOptional
preBuffer (anyOf 1)numberAlternativePre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBuffer (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
preBufferUnitstringOptionalPre-buffer unit
Known values: mins, hours
serviceCategoryIdstringOptionalService category ID
serviceDurationJSONOptional
serviceDuration (anyOf 1)numberAlternativeThis controls the duration of the appointment
serviceDuration (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
serviceDurationUnitstringOptionalDuration unit
Known values: mins, hours
slugstringOptionalUnique URL-friendly identifier
staffarrayOptionalAssigned staff members
staff[]ModelEach itemExpand Create Service — request body — body staff item
variationsarrayOptionalService variations
variations[]ModelEach itemExpand Get Services — response body — services item variations item

Referenced models: Get Services — response body — services / item / payment / depositType: percentage, amount, Get Services — response body — services item variations item, Create Service — request body — body staff item

Get Services — response body — services item variations item

FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentVariation ID
namestringRequired within parentVariation name
paymentJSONOptionalPayment details
payment (allOf 1)ModelAll variants applyExpand Get Services — response body — services / item / payment / depositType: percentage, amount
postBufferJSONOptional
postBuffer (anyOf 1)numberAlternativePost-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
postBuffer (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
postBufferUnitstringOptionalPost-buffer unit
Known values: mins, hours
preBufferJSONOptional
preBuffer (anyOf 1)numberAlternativePre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBuffer (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
preBufferUnitstringOptionalPre-buffer unit
Known values: mins, hours
serviceDurationJSONOptional
serviceDuration (anyOf 1)numberAlternativeThis controls the duration of the appointment
serviceDuration (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
serviceDurationUnitstringOptionalDuration unit
Known values: mins, hours

Referenced models: Get Services — response body — services / item / payment / depositType: percentage, amount

Get event calendar availability schedule — response body

FieldTypePresenceDescription and constraints
$objectRoot
scheduleJSONRequired within parentThe event calendar schedule
schedule (allOf 1)ModelAll variants applyExpand Get event calendar availability schedule — response body — schedule calendar Id, date Added, date Updated, rules, timezone

Referenced models: Get event calendar availability schedule — response body — schedule calendar Id, date Added, date Updated, rules, timezone

Get event calendar availability schedule — response body — schedule calendar Id, date Added, date Updated, rules, timezone

FieldTypePresenceDescription and constraints
$objectRoot
calendarIdstringRequired within parentCalendar ID associated with the schedule
dateAddedstringOptionalInformation about who created the schedule
dateUpdatedstringOptionalInformation about who last updated the schedule
rulesarrayRequired within parentSchedule rules defining when the schedule is active
rules[]ModelEach itemExpand List user availability schedule — response body — schedules item rules item
timezonestringRequired within parentTimezone for the schedule (IANA timezone identifier)

Referenced models: List user availability schedule — response body — schedules item rules item

Get notification — response body

FieldTypePresenceDescription and constraints
$objectRoot
_idstringOptionalNotification ID
additionalEmailIdsarrayOptional
additionalEmailIds[]stringEach item
additionalPhoneNumbersarrayOptional
additionalPhoneNumbers[]stringEach item
additionalWhatsappNumbersarrayOptional
additionalWhatsappNumbers[]stringEach item
afterTimearrayOptional
afterTime[]ModelEach itemExpand Get notification — response body — after Time item
beforeTimearrayOptional
beforeTime[]ModelEach itemExpand Get notification — response body — after Time item
bodystringOptional
channelstringOptionalKnown values: email, inApp, sms, whatsapp
deletedbooleanOptional
isActivebooleanOptional
notificationTypestringOptionalKnown values: booked, confirmation, cancellation, reminder, followup, reschedule
receiverTypestringOptionalKnown values: contact, guest, assignedUser, emails, phoneNumbers, business
selectedUsersarrayOptional
selectedUsers[]stringEach item
subjectstringOptional
templateIdstringOptional

Referenced models: Get notification — response body — after Time item

Get notification — response body — after Time item

FieldTypePresenceDescription and constraints
$objectRoot
timeOffsetJSONOptional
timeOffset (anyOf 1)numberAlternative
timeOffset (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
unitstringOptional

Get user availability schedule — response body

FieldTypePresenceDescription and constraints
$objectRoot
scheduleJSONRequired within parentSchedule
schedule (allOf 1)ModelAll variants applyExpand List user availability schedule — response body — schedules item

Referenced models: List user availability schedule — response body — schedules item

List user availability schedule — response body

FieldTypePresenceDescription and constraints
$objectRoot
schedulesarrayRequired within parentArray of schedules
schedules[]ModelEach itemExpand List user availability schedule — response body — schedules item

Referenced models: List user availability schedule — response body — schedules item

List user availability schedule — response body — schedules item

FieldTypePresenceDescription and constraints
$objectRoot
calendarIdsarrayOptionalCalendar IDs associated with the schedule
calendarIds[]stringEach item
dateAddedstringRequired within parentISO date string when the schedule was created
dateUpdatedstringRequired within parentISO date string when the schedule was last updated
deletedbooleanRequired within parentWhether the schedule has been deleted
idstringRequired within parentUnique identifier for the schedule
locationIdstringRequired within parentLocation ID where this schedule applies
namestringRequired within parentHuman-readable name for the schedule
rulesarrayRequired within parentSchedule rules defining when the schedule is active
rules[]ModelEach itemExpand List user availability schedule — response body — schedules item rules item
timezonestringRequired within parentTimezone for the schedule (IANA timezone identifier)
userIdstringRequired within parentUser ID associated with the schedule

Referenced models: List user availability schedule — response body — schedules item rules item

List user availability schedule — response body — schedules item rules item

FieldTypePresenceDescription and constraints
$objectRoot
datestringOptionalSpecific date in YYYY-MM-DD format (only for date-type rules)
Pattern: ^\d{4}-\d{2}-\d{2}$
daystringOptionalDay of week (only for weekday-type rules)
Known values: sunday, monday, tuesday, wednesday, thursday, friday, saturday
intervalsarrayRequired within parentTime intervals for the rule (e.g., 9 AM to 5 PM)
intervals[]ModelEach itemExpand Create user availability schedule — request body — body rules item intervals item
typestringRequired within parentType of schedule rule - weekday (recurring) or date (specific date)
Known values: wday, date

Referenced models: Create user availability schedule — request body — body rules item intervals item

Update Appointment — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
addressstringOptionalAppointment Address
appointmentStatusstringOptionalOne of: new, confirmed, cancelled, showed, noshow, invalid, completed, active
assignedUserIdstringOptionalAssigned User Id
calendarIdstringOptionalCalendar Id
descriptionstringOptionalAppointment Description
endTimestringOptionalEnd Time
ignoreDateRangebooleanOptionalIf set to true, the minimum scheduling notice and date range would be ignored
ignoreFreeSlotValidationbooleanOptionalIf true the time slot validation would be avoided for any appointment creation (even the ignoreDateRange)
meetingLocationIdstringOptionalThe unique identifier for the meeting location.
- This value can be found in `calendar.locationConfigurations`or `calendar.teamMembers[].locationConfigurations`
Default: default
meetingLocationTypestringOptionalMeeting location type.
- If `address` is provided in the request body, the `meetingLocationType` defaults to **custom**.
One of: custom, zoom, gmeet, phone, address, ms_teams, google
overrideLocationConfigbooleanOptionalFlag to override location config
- **false** - If only `meetingLocationId` is provided
- **true** - If only `meetingLocationType` is provided
rrulestringOptionalRRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event. The rrule only be applied if ignoreFreeSlotValidation is true.
startTimestringOptionalStart Time
titlestringOptionalTitle
toNotifybooleanOptionalIf set to false, the automations will not run. Defaults to true
Default: true

Update Calendar Resource — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
calendarIdsarrayOptionalService calendar IDs to be mapped with the resource.

One equipment can only be mapped with one service calendar.

One room can be mapped with multiple service calendars.
Maximum items: 100
calendarIds[]stringEach item
capacitynumberOptionalCapacity of the room.
descriptionstringOptional
isActivebooleanOptional
locationIdstringOptional
namestringOptional
outOfServicenumberOptionalQuantity of the out of service equipment.
quantitynumberOptionalQuantity of the equipment.

Update Calendar Resource — response body

FieldTypePresenceDescription and constraints
$objectRoot
capacityJSONOptional
capacity (anyOf 1)numberAlternativeCapacity of the resource
capacity (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
descriptionstringOptionalDescription of the resource
isActivebooleanRequired within parentWhether the resource is active
locationIdstringRequired within parentLocation ID of the resource
namestringRequired within parentName of the resource
outOfServiceJSONOptional
outOfService (anyOf 1)numberAlternativeIndicates if the resource is out of service
outOfService (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
quantityJSONOptional
quantity (anyOf 1)numberAlternativeQuantity of the resource
quantity (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
resourceTypestringRequired within parentKnown values: equipments, rooms

Update Calendar — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
alertEmailstringOptional
allowBookingAfternumberOptionalMinimum scheduling notice for events
allowBookingAfterUnitstringOptionalUnit for minimum scheduling notice
One of: hours, days, weeks, months, mins
allowBookingFornumberOptionalMinimum number of days/weeks/months for which to allow booking events
allowBookingForUnitstringOptionalUnit for controlling the duration for which booking would be allowed for
One of: days, weeks, months
allowCancellationbooleanOptional
allowReschedulebooleanOptional
appoinmentPerDaynumberOptionalNumber of appointments that can be booked for a given day
appoinmentPerSlotnumberOptional
autoConfirmbooleanOptional
availabilitiesarrayOptionalWhile we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.
availabilities[]ModelEach itemExpand Update Calendar — request body — body availabilities item
availabilityTypenumberOptionalWhile we will support this property for backward compatibility, it is not required anymore.
One of: 0, 1
calendarCoverImagestringOptional
consentLabelstringOptional
descriptionstringOptional
enableRecurringbooleanOptionalEnable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this
Default: false
eventColorstringOptionalDefault: #039be5
eventTitlestringOptional
eventTypestringOptionalOne of: RoundRobin_OptimizeForAvailability, RoundRobin_OptimizeForEqualDistribution
formIdstringOptional
formSubmitRedirectURLstringOptional
formSubmitThanksMessagestringOptional
formSubmitTypestringOptionalDefault: ThankYouMessage
One of: RedirectURL, ThankYouMessage
googleInvitationEmailsbooleanOptional
groupIdstringOptionalGroup Id
guestTypestringOptionalOne of: count_only, collect_detail
isActivebooleanOptional
isLivePaymentModebooleanOptional
locationConfigurationsarrayOptionalMeeting location configuration for event calendar
locationConfigurations[]ModelEach itemExpand Create Calendar — request body — body location Configurations item
lookBusyConfigJSONOptionalLook Busy Configuration
lookBusyConfig (allOf 1)ModelAll variants applyExpand Create Calendar — request body — body look Busy Config Look Busy Percentage, enabled
meetingLocationstringOptional🚨 Deprecated! Use `locationConfigurations.location` or `teamMembers[].locationConfigurations.location` instead.
Read only: true
namestringOptional
notesstringOptional
notificationsarrayOptional🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.
notifications[]ModelEach itemExpand Create Calendar — request body — body notifications item
openHoursarrayOptionalWhile we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.
openHours[]ModelEach itemExpand Create Calendar — request body — body open Hours item
pixelIdstringOptional
preBuffernumberOptionalPre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBufferUnitstringOptionalUnit for pre-buffer.
One of: mins, hours
recurringModelOptionalExpand Create Calendar — request body — body recurring
shouldAssignContactToTeamMemberbooleanOptional
shouldSendAlertEmailsToAssignedMemberbooleanOptional
shouldSkipAssigningContactForExistingbooleanOptional
slotBuffernumberOptionalSlot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up
slotDurationnumberOptionalThis controls the duration of the meeting
Default: 30
slotDurationUnitstringOptionalUnit for slot duration.
One of: mins, hours
slotIntervalnumberOptionalSlot interval reflects the amount of time the between booking slots that will be shown in the calendar.
Default: 30
slotIntervalUnitstringOptionalUnit for slot interval.
One of: mins, hours
slugstringOptional
stickyContactbooleanOptional
teamMembersarrayOptionalTeam members are required for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.
teamMembers[]ModelEach itemExpand Create Calendar — request body — body team Members item
widgetSlugstringOptional
widgetTypestringOptionalCalendar widget type. Choose "default" for "neo" and "classic" for "classic" layout.
Default: classic
One of: default, classic

Referenced models: Create Calendar — request body — body notifications item, Create Calendar — request body — body location Configurations item, Create Calendar — request body — body look Busy Config Look Busy Percentage, enabled, Create Calendar — request body — body open Hours item, Create Calendar — request body — body recurring, Create Calendar — request body — body team Members item, Update Calendar — request body — body availabilities item

Update Calendar — request body — body availabilities item

FieldTypePresenceDescription and constraints
$objectRoot
datestringRequired within parentFormulate the date string in the format of `<YYYY-MM-DD in local timezone>T00:00:00.000Z`.
deletedbooleanOptionalDefault: false
hoursarrayRequired within parent
hours[]ModelEach itemExpand Create Calendar — request body — body open Hours item hours item
idstringOptionalThe ID of the custom availability object. It is required while updating or deleting the existing custom date availability

Referenced models: Create Calendar — request body — body open Hours item hours item

Update Group — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
descriptionstringRequired within parent
namestringRequired within parent
slugstringRequired within parent

Update Group — response body

FieldTypePresenceDescription and constraints
$objectRoot
groupModelOptionalExpand Update Group — response body — group

Referenced models: Update Group — response body — group

Update Group — response body — group

FieldTypePresenceDescription and constraints
$objectRoot
descriptionstringRequired within parent
idstringOptional
isActivebooleanOptional
locationIdstringRequired within parent
namestringRequired within parent
slugstringRequired within parent

Update Service Booking — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
endTimestringOptionalEnd Time
meetingLocationstringOptionalMeeting Location (If service location is an ask the booker, then the meeting location is required)
serviceLocationIdstringOptionalService Location ID
servicesarrayOptionalIf provided, services sent in the request will replace the existing services in the booking.
services[]ModelEach itemExpand Create Service Booking — request body — body services item
startTimestringOptionalStart Time
statusstringOptionalStatus
One of: confirmed, cancelled, invalid, new, showed, no_show
timezonestringOptionalTimezone
titlestringOptionalTitle

Referenced models: Create Service Booking — request body — body services item

Update Service Location — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
addressstringOptionalUse a full street address when locationType is offline. Use a user-facing label when locationType is ask_booker.
coverImagestringOptionalUpdated URL of the cover image
locationTypestringOptionalLocation type
One of: offline, ask_booker
namestringOptionalLocation name
phonestringOptionalUpdated contact phone number
slugstringOptionalUpdated URL-friendly slug identifier

Update Service — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
coverImagestringOptionalService cover image URL
descriptionstringOptionalService description
eventColorstringOptionalService event color (hex)
formIdstringOptionalCustom form ID (will be used to display the custom form on the booking page, if only one service is selected)
isPrivatebooleanOptionalWhether service is private (not shown publicly)
namestringOptionalService name
paymentJSONOptionalPayment details (currency configured in Service Global Settings is used.)
payment (allOf 1)ModelAll variants applyExpand Create Service — request body — body / payment / depositType: percentage, amount
postBuffernumberOptionalPost-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
postBufferUnitstringOptionalPost-buffer unit
One of: mins, hours
preBuffernumberOptionalPre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBufferUnitstringOptionalPre-buffer unit
One of: mins, hours
serviceCategoryIdstringOptionalService category ID
serviceDurationnumberOptionalThis controls the duration of the appointment
serviceDurationUnitstringOptionalDuration unit
One of: mins, hours
slugstringOptionalUnique URL-friendly identifier
staffarrayOptionalAssigned staff members
staff[]ModelEach itemExpand Create Service — request body — body staff item
variationsarrayOptionalService variations (an empty array removes all variations). Include an id to update an existing variation; omit the id to create a new one.
variations[]ModelEach itemExpand Update Service — request body — body variations item

Referenced models: Create Service — request body — body staff item, Create Service — request body — body / payment / depositType: percentage, amount, Update Service — request body — body variations item

Update Service — request body — body variations item

FieldTypePresenceDescription and constraints
$objectRoot
idstringOptionalVariation ID
namestringOptionalVariation name
paymentJSONOptionalPayment details
payment (allOf 1)ModelAll variants applyExpand Create Service — request body — body / payment / depositType: percentage, amount
postBuffernumberOptionalPost-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
postBufferUnitstringOptionalPost-buffer unit
One of: mins, hours
preBuffernumberOptionalPre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBufferUnitstringOptionalPre-buffer unit
One of: mins, hours
serviceDurationnumberOptionalThis controls the duration of the appointment
serviceDurationUnitstringOptionalDuration unit
One of: mins, hours

Referenced models: Create Service — request body — body / payment / depositType: percentage, amount

Update event calendar availability schedule — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
rulesarrayOptionalUpdated schedule rules defining when the schedule is active
rules[]ModelEach itemExpand Create user availability schedule — request body — body rules item
timezonestringOptionalUpdated timezone for the schedule (IANA timezone identifier)
Pattern: ^[A-Za-z_]+/[A-Za-z_]+$

Referenced models: Create user availability schedule — request body — body rules item

Update notification — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
additionalEmailIdsarrayOptionalAdditional email addresses to receive notifications.
additionalEmailIds[]stringEach item
additionalPhoneNumbersarrayOptionalAdditional phone numbers to receive notifications.
additionalPhoneNumbers[]stringEach item
afterTimearrayOptionalSpecifies the time after which the follow-up notification should be sent. This is not required for other notification types.
afterTime[]ModelEach itemExpand Update notification — request body — body after Time item
beforeTimearrayOptionalSpecifies the time before which the reminder notification should be sent. This is not required for other notification types.
beforeTime[]ModelEach itemExpand Update notification — request body — body after Time item
bodystringOptionalBody for email notification. Not necessary for in-App notification
channelstringOptionalNotification channel
One of: email, inApp, sms, whatsapp
deletedbooleanOptionalMarks the notification as deleted (soft delete)
Default: false
fromAddressstringOptionalFrom address for email notification
fromNamestringOptionalFrom name for email/sms notification
fromNumberstringOptionalfrom number for sms notification
isActivebooleanOptionalIs the notification active
Default: true
notificationTypestringOptionalNotification type
One of: booked, confirmation, cancellation, reminder, followup, reschedule
receiverTypestringOptionalNotification recipient type
One of: contact, guest, assignedUser, emails, phoneNumbers, business
selectedUsersarrayOptionalSelected users for in-App and business email notifications. Supports user IDs and special keyword "sub_account_admin"
selectedUsers[]stringEach item
subjectstringOptionalSubject for email notification. Not necessary for in-App notification
templateIdstringOptionalTemplate ID for email notification

Referenced models: Update notification — request body — body after Time item

Update notification — request body — body after Time item

FieldTypePresenceDescription and constraints
$objectRoot
timeOffsetnumberOptional
unitstringOptional

Update user availability schedule — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
namestringOptionalHuman-readable name for the schedule
rulesarrayOptionalUpdated schedule rules defining when the schedule is active
rules[]ModelEach itemExpand Create user availability schedule — request body — body rules item
timezonestringOptionalUpdated timezone for the schedule (IANA timezone identifier)
Pattern: ^[A-Za-z_]+/[A-Za-z_]+$

Referenced models: Create user availability schedule — request body — body rules item

Validate group slug — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
locationIdstringRequired within parentLocation Id
slugstringRequired within parentSlug

Validate group slug — response body

FieldTypePresenceDescription and constraints
$objectRoot
availablebooleanRequired within parent

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.