Create a calendar
Defines a bookable calendar.
timezone is required and is the calendar’s own zone: opening hours are read in it, and it is what a written booking anchors to. An unknown IANA zone is refused here rather than producing an agent that offers 3am.
weeklyHours is keyed by sun, mon, tue, wed, thu, fri, sat, each an array of {start, end} in 24-hour HH:MM. A day you leave out is closed. A window that ends at or before it starts is refused rather than wrapped past midnight, because a slot that crossed midnight would land under a different date than anyone expected.
Everything else has a default that matches what a GoHighLevel calendar does, so an agent behaves the same on either: slotDurationMinutes 30, slotIntervalMinutes 30, slotBufferMinutes 0, appointmentsPerSlot 1, minNoticeMinutes 180, maxDaysOut 31.
minNoticeMinutes and the opening hours are the first two settings to check when the agent reports nothing available. Three hours’ notice on a calendar that closes at 17:00 has nothing left to offer after 14:00.
Cookie-auth callers must send the x-csrf-token header.
Required API key scope: projects:write.
Authorizations
Send your API key as Authorization: Bearer YOUR_API_KEY.
Query Parameters
The sub-account this calendar belongs to. It is the only thing that identifies the tenant here, and access is re-checked against it on every call.
Body
The calendar.
A calendar to create, or the parts of one to change. On an update the MERGED calendar is validated, not the patch.
"Consultations"
Required on create.
"America/Chicago"
x >= 1x >= 1x >= 0x >= 1x >= 0x >= 1