Skip to main content
CalendarsVersion: v3

Update Calendar

PUT/calendars/{calendarId}

Update calendar by ID: name, description, duration, slot interval, buffers, minimum notice, booking window, daily limit, seats, auto-confirm, reschedule/cancel, meeting location, booking link (widgetSlug) and team members (hosts). teamMembers replaces the whole list. Collective calendars: every update must include teamMembers, with at least one host isPrimary: true.

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>, where <token> is your access token.

Scope:calendars.write
Auth methods:OAuthPrivate Integration
Token type:Sub-Account Token

Request​

Headers

Versionstringrequired

API Version

Available optionsv3
Example:v3

Path Parameters

calendarIdstringrequired

Calendar Id

Example:ocQHyuzHvysMo5N5VsXc

Body

notificationsobject[]deprecated

🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.

groupIdstring

Group Id

Example:BqTwX8QFwXzpegMve9EQ
teamMembersobject[]

Team members are required for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member. On update this replaces the whole list. Collective calendars: every update must include teamMembers, with at least one host isPrimary: true.

eventTypestring

Event type for round robin distribution

Available optionsRoundRobin_OptimizeForAvailabilityRoundRobin_OptimizeForEqualDistribution
Example:RoundRobin_OptimizeForAvailability
namestring

Calendar name

Example:test calendar
descriptionstring

Calendar description

Example:this is used for testing
slugstring

Legacy calendar slug. The booking page does not read it: set widgetSlug to change the booking link.

Example:test1
widgetSlugstring

Booking link slug: the booking page URL ends with /widget/bookings/{widgetSlug}. Must be unique.

Example:test1
widgetTypestring

Calendar widget type. Choose "default" for "neo" and "classic" for "classic" layout.

Available optionsdefaultclassic
Example:classic
eventTitlestring

Title for calendar events

Example:{{contact.name}}
eventColorstring

Color for calendar events in hex format

Default:#039be5
Example:#039BE5
locationConfigurationsobject[]

Meeting location configuration for event calendar

slotDurationnumber

This controls the duration of the meeting

Possible values: >= 1

Default:30
Example:30
slotDurationUnitstring

Unit for slot duration.

Available optionsminshours
Example:mins
durationOptionsobject[]

Multiple duration options for the calendar. Bookers can select their preferred meeting length. Max 3 options. Exactly one must be marked as default.

preBufferUnitstring

Unit for pre-buffer.

Available optionsminshours
Example:mins
slotIntervalnumber

Slot interval reflects the amount of time the between booking slots that will be shown in the calendar.

Possible values: >= 1

Default:30
Example:30
slotIntervalUnitstring

Unit for slot interval.

Available optionsminshours
Example:mins
slotBuffernumber

Buffer after each meeting: extra time blocked after an appointment, to wrap up. Unit: slotBufferUnit.

Example:15
preBuffernumber

Buffer before each meeting: extra time blocked before an appointment, to get ready. Unit: preBufferUnit.

Example:10
appoinmentPerSlotnumber

Deprecated: use appointmentPerSlot instead. Maximum bookings per slot (per user)

Example:1
appoinmentPerDaynumber

Daily booking limit (unset = no limit).

Example:8
allowBookingAfternumber

Minimum scheduling notice before a booking (unit: allowBookingAfterUnit). 0 = no minimum.

Example:4
allowBookingAfterUnitstring

Unit for minimum scheduling notice

Available optionshoursdaysweeksmonthsmins
Example:days
allowBookingFornumber

Booking window: how far ahead bookings are allowed (unit: allowBookingForUnit). 0 = no limit.

Example:30
allowBookingForUnitstring

Unit for controlling the duration for which booking would be allowed for

Available optionsdaysweeksmonths
Example:days
countAvailableDaysOnlyboolean

When true, only days with configured availability count toward the date range booking window

Default:false
Example:false
openHoursobject[]deprecated

While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.

enableRecurringboolean

Enable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this

Default:false
Example:false
recurringobject

Recurring appointment configuration

formIdstring

Form ID to be used for booking

Example:YlWd2wuCAZQzh2cH1fVZ
stickyContactboolean

Enable sticky contact assignment

Example:true
isLivePaymentModeboolean

Whether payment mode is live

Example:false
autoConfirmboolean

Auto-confirm appointments

Example:true
shouldSendAlertEmailsToAssignedMemberboolean

Send alert emails to assigned team member

Example:false
alertEmailstring

Alert email address

googleInvitationEmailsboolean

Send Google invitation emails

Example:true
allowRescheduleboolean

Allow rescheduling of appointments

Example:true
allowCancellationboolean

Allow cancellation of appointments

Example:true
shouldAssignContactToTeamMemberboolean

Assign contact to team member on booking

Example:true
shouldSkipAssigningContactForExistingboolean

Skip assigning contact if contact already exists

Example:false
notesstring

Notes for the calendar

Example:Please arrive 10 minutes early.
pixelIdstring

Facebook Pixel ID for tracking

Example:1234567890
formSubmitTypestring

Action after form submission

Available optionsRedirectURLThankYouMessage
Example:ThankYouMessage
formSubmitRedirectURLstring

Redirect URL after form submission

Example:https://example.com/thank-you
formSubmitThanksMessagestring

Thank you message displayed after form submission

Example:Thank you for booking!
availabilityTypenumberdeprecated

While we will support this property for backward compatibility, it is not required anymore.

Available options01
Example:0
availabilitiesobject[]deprecated

While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.

guestTypestring

Type of guest allowed

Available optionscount_onlycollect_detail
Example:count_only
consentLabelstring

Consent label text

Example:I confirm that I want to receive content from this company using any contact information I provide.
calendarCoverImagestring

Calendar cover image URL

Example:https://path-to-image.com
lookBusyConfigobject

Look Busy Configuration

isActiveboolean

Whether the calendar is active

Example:true
appointmentPerSlotnumber

Maximum bookings per slot (per user)

Example:1
appointmentPerDaynumber

Daily booking limit: appointments that can be booked per day. Unset = no limit; 0 allows none.

Example:8

Response

Successful response

calendarobjectrequired

Calendar details