Update calendar by ID.
curl --request PUT \
--url https://services.leadconnectorhq.com/calendars/{calendarId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Version: <version>' \
--data '
{
"notifications": [
{
"shouldSendToContact": true,
"shouldSendToGuest": true,
"shouldSendToUser": true,
"shouldSendToSelectedUsers": true,
"selectedUsers": "user1@testemail.com,user2@testemail.com",
"type": "email"
}
],
"groupId": "BqTwX8QFwXzpegMve9EQ",
"teamMembers": [
{
"userId": "ocQHyuzHvysMo5N5VsXc",
"priority": 0.5,
"isPrimary": true,
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132"
}
]
}
],
"name": "test calendar",
"description": "this is used for testing",
"slug": "test1",
"widgetSlug": "test1",
"widgetType": "classic",
"eventTitle": "<string>",
"eventColor": "#039be5",
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132"
}
],
"slotDuration": 30,
"slotInterval": 30,
"slotBuffer": 123,
"preBuffer": 123,
"appoinmentPerSlot": 123,
"appoinmentPerDay": 123,
"allowBookingAfter": 123,
"allowBookingAfterUnit": "days",
"allowBookingFor": 123,
"allowBookingForUnit": "days",
"openHours": [
{
"daysOfTheWeek": [
3
],
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
]
}
],
"enableRecurring": false,
"recurring": {
"count": 23
},
"formId": "<string>",
"stickyContact": true,
"isLivePaymentMode": true,
"autoConfirm": true,
"shouldSendAlertEmailsToAssignedMember": true,
"alertEmail": "<string>",
"googleInvitationEmails": true,
"allowReschedule": true,
"allowCancellation": true,
"shouldAssignContactToTeamMember": true,
"shouldSkipAssigningContactForExisting": true,
"notes": "<string>",
"pixelId": "<string>",
"formSubmitType": "ThankYouMessage",
"formSubmitRedirectURL": "<string>",
"formSubmitThanksMessage": "<string>",
"availabilities": [
{
"date": "2023-09-24T00:00:00.000Z",
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
],
"deleted": false,
"id": "<string>"
}
],
"consentLabel": "<string>",
"calendarCoverImage": "<string>",
"isActive": true
}
'const options = {
method: 'PUT',
headers: {
Version: '<version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
notifications: [
{
shouldSendToContact: true,
shouldSendToGuest: true,
shouldSendToUser: true,
shouldSendToSelectedUsers: true,
selectedUsers: 'user1@testemail.com,user2@testemail.com',
type: 'email'
}
],
groupId: 'BqTwX8QFwXzpegMve9EQ',
teamMembers: [
{
userId: 'ocQHyuzHvysMo5N5VsXc',
priority: 0.5,
isPrimary: true,
locationConfigurations: [{kind: 'custom', location: '+14455550132'}]
}
],
name: 'test calendar',
description: 'this is used for testing',
slug: 'test1',
widgetSlug: 'test1',
widgetType: 'classic',
eventTitle: '<string>',
eventColor: '#039be5',
locationConfigurations: [{kind: 'custom', location: '+14455550132'}],
slotDuration: 30,
slotInterval: 30,
slotBuffer: 123,
preBuffer: 123,
appoinmentPerSlot: 123,
appoinmentPerDay: 123,
allowBookingAfter: 123,
allowBookingAfterUnit: 'days',
allowBookingFor: 123,
allowBookingForUnit: 'days',
openHours: [
{
daysOfTheWeek: [3],
hours: [{openHour: 11.5, openMinute: 30, closeHour: 11.5, closeMinute: 30}]
}
],
enableRecurring: false,
recurring: {count: 23},
formId: '<string>',
stickyContact: true,
isLivePaymentMode: true,
autoConfirm: true,
shouldSendAlertEmailsToAssignedMember: true,
alertEmail: '<string>',
googleInvitationEmails: true,
allowReschedule: true,
allowCancellation: true,
shouldAssignContactToTeamMember: true,
shouldSkipAssigningContactForExisting: true,
notes: '<string>',
pixelId: '<string>',
formSubmitType: 'ThankYouMessage',
formSubmitRedirectURL: '<string>',
formSubmitThanksMessage: '<string>',
availabilities: [
{
date: '2023-09-24T00:00:00.000Z',
hours: [{openHour: 11.5, openMinute: 30, closeHour: 11.5, closeMinute: 30}],
deleted: false,
id: '<string>'
}
],
consentLabel: '<string>',
calendarCoverImage: '<string>',
isActive: true
})
};
fetch('https://services.leadconnectorhq.com/calendars/{calendarId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://services.leadconnectorhq.com/calendars/{calendarId}"
payload = {
"notifications": [
{
"shouldSendToContact": True,
"shouldSendToGuest": True,
"shouldSendToUser": True,
"shouldSendToSelectedUsers": True,
"selectedUsers": "user1@testemail.com,user2@testemail.com",
"type": "email"
}
],
"groupId": "BqTwX8QFwXzpegMve9EQ",
"teamMembers": [
{
"userId": "ocQHyuzHvysMo5N5VsXc",
"priority": 0.5,
"isPrimary": True,
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132"
}
]
}
],
"name": "test calendar",
"description": "this is used for testing",
"slug": "test1",
"widgetSlug": "test1",
"widgetType": "classic",
"eventTitle": "<string>",
"eventColor": "#039be5",
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132"
}
],
"slotDuration": 30,
"slotInterval": 30,
"slotBuffer": 123,
"preBuffer": 123,
"appoinmentPerSlot": 123,
"appoinmentPerDay": 123,
"allowBookingAfter": 123,
"allowBookingAfterUnit": "days",
"allowBookingFor": 123,
"allowBookingForUnit": "days",
"openHours": [
{
"daysOfTheWeek": [3],
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
]
}
],
"enableRecurring": False,
"recurring": { "count": 23 },
"formId": "<string>",
"stickyContact": True,
"isLivePaymentMode": True,
"autoConfirm": True,
"shouldSendAlertEmailsToAssignedMember": True,
"alertEmail": "<string>",
"googleInvitationEmails": True,
"allowReschedule": True,
"allowCancellation": True,
"shouldAssignContactToTeamMember": True,
"shouldSkipAssigningContactForExisting": True,
"notes": "<string>",
"pixelId": "<string>",
"formSubmitType": "ThankYouMessage",
"formSubmitRedirectURL": "<string>",
"formSubmitThanksMessage": "<string>",
"availabilities": [
{
"date": "2023-09-24T00:00:00.000Z",
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
],
"deleted": False,
"id": "<string>"
}
],
"consentLabel": "<string>",
"calendarCoverImage": "<string>",
"isActive": True
}
headers = {
"Version": "<version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text){
"calendar": {
"locationId": "ocQHyuzHvysMo5N5VsXc",
"name": "test calendar",
"id": "0TkCdp9PfvLeWKYRRvIz",
"isActive": true,
"notifications": [
{
"shouldSendToContact": true,
"shouldSendToGuest": true,
"shouldSendToUser": true,
"shouldSendToSelectedUsers": true,
"selectedUsers": "user1@testemail.com,user2@testemail.com",
"type": "email"
}
],
"groupId": "BqTwX8QFwXzpegMve9EQ",
"teamMembers": [
{
"userId": "ocQHyuzHvysMo5N5VsXc",
"priority": 0.5,
"meetingLocationType": "custom",
"meetingLocation": "<string>",
"isPrimary": true,
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132",
"meetingId": "my_conference_id"
}
]
}
],
"eventType": "RoundRobin_OptimizeForAvailability",
"description": "this is used for testing",
"slug": "test1",
"widgetSlug": "test1",
"calendarType": "round_robin",
"widgetType": "classic",
"eventTitle": "{{contact.name}}",
"eventColor": "#039be5",
"meetingLocation": "<string>",
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132",
"meetingId": "my_conference_id"
}
],
"slotDuration": 30,
"slotDurationUnit": "mins",
"slotInterval": 30,
"slotIntervalUnit": "mins",
"slotBuffer": 123,
"slotBufferUnit": "mins",
"preBuffer": 123,
"preBufferUnit": "mins",
"appoinmentPerSlot": 1,
"appoinmentPerDay": 123,
"allowBookingAfter": 123,
"allowBookingAfterUnit": "days",
"allowBookingFor": 123,
"allowBookingForUnit": "days",
"openHours": [
{
"daysOfTheWeek": [
3
],
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
]
}
],
"enableRecurring": false,
"recurring": {
"freq": "DAILY",
"count": 23,
"bookingOption": "skip",
"bookingOverlapDefaultStatus": "confirmed"
},
"formId": "<string>",
"stickyContact": true,
"isLivePaymentMode": true,
"autoConfirm": true,
"shouldSendAlertEmailsToAssignedMember": true,
"alertEmail": "<string>",
"googleInvitationEmails": false,
"allowReschedule": true,
"allowCancellation": true,
"shouldAssignContactToTeamMember": true,
"shouldSkipAssigningContactForExisting": true,
"notes": "<string>",
"pixelId": "<string>",
"formSubmitType": "ThankYouMessage",
"formSubmitRedirectURL": "<string>",
"formSubmitThanksMessage": "<string>",
"availabilityType": 0,
"availabilities": [
{
"date": "2023-09-24T00:00:00.000Z",
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
],
"deleted": false
}
],
"guestType": "count_only",
"consentLabel": "<string>",
"calendarCoverImage": "https://path-to-image.com",
"lookBusyConfig": {
"enabled": true,
"LookBusyPercentage": 123
}
}
}{
"statusCode": 400,
"message": "Bad Request"
}{
"statusCode": 401,
"message": "Invalid token: access token is invalid",
"error": "Unauthorized"
}Authorizations
Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.
Headers
API Version
2021-04-15 Path Parameters
Calendar Id
"ocQHyuzHvysMo5N5VsXc"
Body
🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.
Show child attributes
Show child attributes
Group Id
"BqTwX8QFwXzpegMve9EQ"
Team members are required for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.
Show child attributes
Show child attributes
RoundRobin_OptimizeForAvailability, RoundRobin_OptimizeForEqualDistribution "test calendar"
"this is used for testing"
"test1"
"test1"
Calendar widget type. Choose "default" for "neo" and "classic" for "classic" layout.
default, classic "classic"
Meeting location configuration for event calendar
Show child attributes
Show child attributes
This controls the duration of the meeting
Unit for slot duration.
mins, hours Unit for pre-buffer.
mins, hours Slot interval reflects the amount of time the between booking slots that will be shown in the calendar.
Unit for slot interval.
mins, hours Slot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up
Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
Number of appointments that can be booked for a given day
Minimum scheduling notice for events
Unit for minimum scheduling notice
hours, days, weeks, months "days"
Minimum number of days/weeks/months for which to allow booking events
Unit for controlling the duration for which booking would be allowed for
days, weeks, months "days"
Show child attributes
Show child attributes
Enable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this
Show child attributes
Show child attributes
RedirectURL, ThankYouMessage Determines which availability type to consider:
- 1: Only custom availabilities will be used.
- 0: Only open hours will be used.
- null: Both the custom availabilities and open hours will be considered.
0, 1 This is only to set the custom availability. For standard availability, use the openHours property
Show child attributes
Show child attributes
count_only, collect_detail Show child attributes
Show child attributes
Response
Successful response
Show child attributes
Show child attributes
Was this page helpful?
curl --request PUT \
--url https://services.leadconnectorhq.com/calendars/{calendarId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Version: <version>' \
--data '
{
"notifications": [
{
"shouldSendToContact": true,
"shouldSendToGuest": true,
"shouldSendToUser": true,
"shouldSendToSelectedUsers": true,
"selectedUsers": "user1@testemail.com,user2@testemail.com",
"type": "email"
}
],
"groupId": "BqTwX8QFwXzpegMve9EQ",
"teamMembers": [
{
"userId": "ocQHyuzHvysMo5N5VsXc",
"priority": 0.5,
"isPrimary": true,
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132"
}
]
}
],
"name": "test calendar",
"description": "this is used for testing",
"slug": "test1",
"widgetSlug": "test1",
"widgetType": "classic",
"eventTitle": "<string>",
"eventColor": "#039be5",
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132"
}
],
"slotDuration": 30,
"slotInterval": 30,
"slotBuffer": 123,
"preBuffer": 123,
"appoinmentPerSlot": 123,
"appoinmentPerDay": 123,
"allowBookingAfter": 123,
"allowBookingAfterUnit": "days",
"allowBookingFor": 123,
"allowBookingForUnit": "days",
"openHours": [
{
"daysOfTheWeek": [
3
],
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
]
}
],
"enableRecurring": false,
"recurring": {
"count": 23
},
"formId": "<string>",
"stickyContact": true,
"isLivePaymentMode": true,
"autoConfirm": true,
"shouldSendAlertEmailsToAssignedMember": true,
"alertEmail": "<string>",
"googleInvitationEmails": true,
"allowReschedule": true,
"allowCancellation": true,
"shouldAssignContactToTeamMember": true,
"shouldSkipAssigningContactForExisting": true,
"notes": "<string>",
"pixelId": "<string>",
"formSubmitType": "ThankYouMessage",
"formSubmitRedirectURL": "<string>",
"formSubmitThanksMessage": "<string>",
"availabilities": [
{
"date": "2023-09-24T00:00:00.000Z",
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
],
"deleted": false,
"id": "<string>"
}
],
"consentLabel": "<string>",
"calendarCoverImage": "<string>",
"isActive": true
}
'const options = {
method: 'PUT',
headers: {
Version: '<version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
notifications: [
{
shouldSendToContact: true,
shouldSendToGuest: true,
shouldSendToUser: true,
shouldSendToSelectedUsers: true,
selectedUsers: 'user1@testemail.com,user2@testemail.com',
type: 'email'
}
],
groupId: 'BqTwX8QFwXzpegMve9EQ',
teamMembers: [
{
userId: 'ocQHyuzHvysMo5N5VsXc',
priority: 0.5,
isPrimary: true,
locationConfigurations: [{kind: 'custom', location: '+14455550132'}]
}
],
name: 'test calendar',
description: 'this is used for testing',
slug: 'test1',
widgetSlug: 'test1',
widgetType: 'classic',
eventTitle: '<string>',
eventColor: '#039be5',
locationConfigurations: [{kind: 'custom', location: '+14455550132'}],
slotDuration: 30,
slotInterval: 30,
slotBuffer: 123,
preBuffer: 123,
appoinmentPerSlot: 123,
appoinmentPerDay: 123,
allowBookingAfter: 123,
allowBookingAfterUnit: 'days',
allowBookingFor: 123,
allowBookingForUnit: 'days',
openHours: [
{
daysOfTheWeek: [3],
hours: [{openHour: 11.5, openMinute: 30, closeHour: 11.5, closeMinute: 30}]
}
],
enableRecurring: false,
recurring: {count: 23},
formId: '<string>',
stickyContact: true,
isLivePaymentMode: true,
autoConfirm: true,
shouldSendAlertEmailsToAssignedMember: true,
alertEmail: '<string>',
googleInvitationEmails: true,
allowReschedule: true,
allowCancellation: true,
shouldAssignContactToTeamMember: true,
shouldSkipAssigningContactForExisting: true,
notes: '<string>',
pixelId: '<string>',
formSubmitType: 'ThankYouMessage',
formSubmitRedirectURL: '<string>',
formSubmitThanksMessage: '<string>',
availabilities: [
{
date: '2023-09-24T00:00:00.000Z',
hours: [{openHour: 11.5, openMinute: 30, closeHour: 11.5, closeMinute: 30}],
deleted: false,
id: '<string>'
}
],
consentLabel: '<string>',
calendarCoverImage: '<string>',
isActive: true
})
};
fetch('https://services.leadconnectorhq.com/calendars/{calendarId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://services.leadconnectorhq.com/calendars/{calendarId}"
payload = {
"notifications": [
{
"shouldSendToContact": True,
"shouldSendToGuest": True,
"shouldSendToUser": True,
"shouldSendToSelectedUsers": True,
"selectedUsers": "user1@testemail.com,user2@testemail.com",
"type": "email"
}
],
"groupId": "BqTwX8QFwXzpegMve9EQ",
"teamMembers": [
{
"userId": "ocQHyuzHvysMo5N5VsXc",
"priority": 0.5,
"isPrimary": True,
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132"
}
]
}
],
"name": "test calendar",
"description": "this is used for testing",
"slug": "test1",
"widgetSlug": "test1",
"widgetType": "classic",
"eventTitle": "<string>",
"eventColor": "#039be5",
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132"
}
],
"slotDuration": 30,
"slotInterval": 30,
"slotBuffer": 123,
"preBuffer": 123,
"appoinmentPerSlot": 123,
"appoinmentPerDay": 123,
"allowBookingAfter": 123,
"allowBookingAfterUnit": "days",
"allowBookingFor": 123,
"allowBookingForUnit": "days",
"openHours": [
{
"daysOfTheWeek": [3],
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
]
}
],
"enableRecurring": False,
"recurring": { "count": 23 },
"formId": "<string>",
"stickyContact": True,
"isLivePaymentMode": True,
"autoConfirm": True,
"shouldSendAlertEmailsToAssignedMember": True,
"alertEmail": "<string>",
"googleInvitationEmails": True,
"allowReschedule": True,
"allowCancellation": True,
"shouldAssignContactToTeamMember": True,
"shouldSkipAssigningContactForExisting": True,
"notes": "<string>",
"pixelId": "<string>",
"formSubmitType": "ThankYouMessage",
"formSubmitRedirectURL": "<string>",
"formSubmitThanksMessage": "<string>",
"availabilities": [
{
"date": "2023-09-24T00:00:00.000Z",
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
],
"deleted": False,
"id": "<string>"
}
],
"consentLabel": "<string>",
"calendarCoverImage": "<string>",
"isActive": True
}
headers = {
"Version": "<version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text){
"calendar": {
"locationId": "ocQHyuzHvysMo5N5VsXc",
"name": "test calendar",
"id": "0TkCdp9PfvLeWKYRRvIz",
"isActive": true,
"notifications": [
{
"shouldSendToContact": true,
"shouldSendToGuest": true,
"shouldSendToUser": true,
"shouldSendToSelectedUsers": true,
"selectedUsers": "user1@testemail.com,user2@testemail.com",
"type": "email"
}
],
"groupId": "BqTwX8QFwXzpegMve9EQ",
"teamMembers": [
{
"userId": "ocQHyuzHvysMo5N5VsXc",
"priority": 0.5,
"meetingLocationType": "custom",
"meetingLocation": "<string>",
"isPrimary": true,
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132",
"meetingId": "my_conference_id"
}
]
}
],
"eventType": "RoundRobin_OptimizeForAvailability",
"description": "this is used for testing",
"slug": "test1",
"widgetSlug": "test1",
"calendarType": "round_robin",
"widgetType": "classic",
"eventTitle": "{{contact.name}}",
"eventColor": "#039be5",
"meetingLocation": "<string>",
"locationConfigurations": [
{
"kind": "custom",
"location": "+14455550132",
"meetingId": "my_conference_id"
}
],
"slotDuration": 30,
"slotDurationUnit": "mins",
"slotInterval": 30,
"slotIntervalUnit": "mins",
"slotBuffer": 123,
"slotBufferUnit": "mins",
"preBuffer": 123,
"preBufferUnit": "mins",
"appoinmentPerSlot": 1,
"appoinmentPerDay": 123,
"allowBookingAfter": 123,
"allowBookingAfterUnit": "days",
"allowBookingFor": 123,
"allowBookingForUnit": "days",
"openHours": [
{
"daysOfTheWeek": [
3
],
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
]
}
],
"enableRecurring": false,
"recurring": {
"freq": "DAILY",
"count": 23,
"bookingOption": "skip",
"bookingOverlapDefaultStatus": "confirmed"
},
"formId": "<string>",
"stickyContact": true,
"isLivePaymentMode": true,
"autoConfirm": true,
"shouldSendAlertEmailsToAssignedMember": true,
"alertEmail": "<string>",
"googleInvitationEmails": false,
"allowReschedule": true,
"allowCancellation": true,
"shouldAssignContactToTeamMember": true,
"shouldSkipAssigningContactForExisting": true,
"notes": "<string>",
"pixelId": "<string>",
"formSubmitType": "ThankYouMessage",
"formSubmitRedirectURL": "<string>",
"formSubmitThanksMessage": "<string>",
"availabilityType": 0,
"availabilities": [
{
"date": "2023-09-24T00:00:00.000Z",
"hours": [
{
"openHour": 11.5,
"openMinute": 30,
"closeHour": 11.5,
"closeMinute": 30
}
],
"deleted": false
}
],
"guestType": "count_only",
"consentLabel": "<string>",
"calendarCoverImage": "https://path-to-image.com",
"lookBusyConfig": {
"enabled": true,
"LookBusyPercentage": 123
}
}
}{
"statusCode": 400,
"message": "Bad Request"
}{
"statusCode": 401,
"message": "Invalid token: access token is invalid",
"error": "Unauthorized"
}