curl --request PATCH \
--url https://{your-subdomain}.neetocal.com/api/external/v2/meetings/{meeting_sid}/calendar-preferences/{integration} \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"override_calendars": true,
"event_add_calendar_ids": [
"70232544-0b90-4ddd-801d-b9f53c3fff3c",
"f7ce6127-6e4d-4a4d-9472-aaa21c37d881"
],
"override_conflict_check_calendars": true,
"conflict_check_calendar_ids": [
"70232544-0b90-4ddd-801d-b9f53c3fff3c"
],
"busy_statuses": [
"busy",
"oof"
],
"override_event_layout": true,
"summary_type": "custom",
"custom_summary": "Consultation",
"body": "<p>Agenda</p>",
"event_color": "#039BE5"
}
'const options = {
method: 'PATCH',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
override_calendars: true,
event_add_calendar_ids: ['70232544-0b90-4ddd-801d-b9f53c3fff3c', 'f7ce6127-6e4d-4a4d-9472-aaa21c37d881'],
override_conflict_check_calendars: true,
conflict_check_calendar_ids: ['70232544-0b90-4ddd-801d-b9f53c3fff3c'],
busy_statuses: ['busy', 'oof'],
override_event_layout: true,
summary_type: 'custom',
custom_summary: 'Consultation',
body: JSON.stringify('<p>Agenda</p>'),
event_color: '#039BE5'
})
};
fetch('https://{your-subdomain}.neetocal.com/api/external/v2/meetings/{meeting_sid}/calendar-preferences/{integration}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{your-subdomain}.neetocal.com/api/external/v2/meetings/{meeting_sid}/calendar-preferences/{integration}"
payload = {
"override_calendars": True,
"event_add_calendar_ids": ["70232544-0b90-4ddd-801d-b9f53c3fff3c", "f7ce6127-6e4d-4a4d-9472-aaa21c37d881"],
"override_conflict_check_calendars": True,
"conflict_check_calendar_ids": ["70232544-0b90-4ddd-801d-b9f53c3fff3c"],
"busy_statuses": ["busy", "oof"],
"override_event_layout": True,
"summary_type": "custom",
"custom_summary": "Consultation",
"body": "<p>Agenda</p>",
"event_color": "#039BE5"
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"calendar_preference": {
"integration": "google_calendar",
"override_calendars": true,
"event_add_calendars": [
{
"id": "70232544-0b90-4ddd-801d-b9f53c3fff3c",
"name": "Work",
"is_primary": true,
"is_editable": true
}
],
"override_conflict_check_calendars": true,
"conflict_check_calendars": [
{
"id": "70232544-0b90-4ddd-801d-b9f53c3fff3c",
"name": "Work",
"is_primary": true,
"is_editable": true
}
],
"busy_statuses": null,
"override_event_layout": true,
"summary_type": "client_and_host",
"custom_summary": null,
"body": null,
"event_color": null,
"available_calendars": [
{
"id": "70232544-0b90-4ddd-801d-b9f53c3fff3c",
"name": "Work",
"is_primary": true,
"is_editable": true
}
]
}
}Update calendar preferences
Update a scheduling link’s calendar settings for one calendar integration. Send only the fields you want to change; the others keep their current values.
Overriding the calendars works only on one-on-one scheduling links, and only with the host’s calendars listed in available_calendars. Group scheduling links always use their own event layout, with summary_type set to meeting_name or custom.
curl --request PATCH \
--url https://{your-subdomain}.neetocal.com/api/external/v2/meetings/{meeting_sid}/calendar-preferences/{integration} \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"override_calendars": true,
"event_add_calendar_ids": [
"70232544-0b90-4ddd-801d-b9f53c3fff3c",
"f7ce6127-6e4d-4a4d-9472-aaa21c37d881"
],
"override_conflict_check_calendars": true,
"conflict_check_calendar_ids": [
"70232544-0b90-4ddd-801d-b9f53c3fff3c"
],
"busy_statuses": [
"busy",
"oof"
],
"override_event_layout": true,
"summary_type": "custom",
"custom_summary": "Consultation",
"body": "<p>Agenda</p>",
"event_color": "#039BE5"
}
'const options = {
method: 'PATCH',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
override_calendars: true,
event_add_calendar_ids: ['70232544-0b90-4ddd-801d-b9f53c3fff3c', 'f7ce6127-6e4d-4a4d-9472-aaa21c37d881'],
override_conflict_check_calendars: true,
conflict_check_calendar_ids: ['70232544-0b90-4ddd-801d-b9f53c3fff3c'],
busy_statuses: ['busy', 'oof'],
override_event_layout: true,
summary_type: 'custom',
custom_summary: 'Consultation',
body: JSON.stringify('<p>Agenda</p>'),
event_color: '#039BE5'
})
};
fetch('https://{your-subdomain}.neetocal.com/api/external/v2/meetings/{meeting_sid}/calendar-preferences/{integration}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{your-subdomain}.neetocal.com/api/external/v2/meetings/{meeting_sid}/calendar-preferences/{integration}"
payload = {
"override_calendars": True,
"event_add_calendar_ids": ["70232544-0b90-4ddd-801d-b9f53c3fff3c", "f7ce6127-6e4d-4a4d-9472-aaa21c37d881"],
"override_conflict_check_calendars": True,
"conflict_check_calendar_ids": ["70232544-0b90-4ddd-801d-b9f53c3fff3c"],
"busy_statuses": ["busy", "oof"],
"override_event_layout": True,
"summary_type": "custom",
"custom_summary": "Consultation",
"body": "<p>Agenda</p>",
"event_color": "#039BE5"
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"calendar_preference": {
"integration": "google_calendar",
"override_calendars": true,
"event_add_calendars": [
{
"id": "70232544-0b90-4ddd-801d-b9f53c3fff3c",
"name": "Work",
"is_primary": true,
"is_editable": true
}
],
"override_conflict_check_calendars": true,
"conflict_check_calendars": [
{
"id": "70232544-0b90-4ddd-801d-b9f53c3fff3c",
"name": "Work",
"is_primary": true,
"is_editable": true
}
],
"busy_statuses": null,
"override_event_layout": true,
"summary_type": "client_and_host",
"custom_summary": null,
"body": null,
"event_color": null,
"available_calendars": [
{
"id": "70232544-0b90-4ddd-801d-b9f53c3fff3c",
"name": "Work",
"is_primary": true,
"is_editable": true
}
]
}
}{your-subdomain} with your workspace’s subdomain. Learn how to find your subdomain in Workspace subdomain.
Headers
Use the X-Api-Key header to provide your workspace API key. Refer to Authentication for more information.
Path Parameters
The unique identifier (SID) of the scheduling link you want to use. You can get sid in different ways. Visit the scheduling link page and then click on "Settings" > "Show SID". That will give you sid. You can also get this from the response of the List scheduling links endpoint, where it appears as the sid property for each scheduling link in the response.
"vj5pgkh"
The calendar integration whose settings you want to use.
google_calendar, outlook, icloud "google_calendar"
Body
Add booking events to event_add_calendar_ids instead of the host's own calendars. One-on-one scheduling links only.
IDs of the calendars to add booking events to, in order. Replaces the current list; send [] to clear it. Each ID must be in available_calendars and have is_editable set to true.
[
"70232544-0b90-4ddd-801d-b9f53c3fff3c",
"f7ce6127-6e4d-4a4d-9472-aaa21c37d881"
]
Check conflict_check_calendar_ids for conflicts instead of the host's own calendars. One-on-one scheduling links only.
IDs of the calendars to check for conflicts. Replaces the current list; send [] to clear it. Each ID must be in available_calendars.
["70232544-0b90-4ddd-801d-b9f53c3fff3c"]
Outlook only, ignored for the other integrations. The Outlook event statuses that block a slot.
tentative, busy, oof, workingElsewhere ["busy", "oof"]
Use this scheduling link's own event title and description. Cannot be turned off for group scheduling links.
How the calendar event title is built. Group scheduling links accept only meeting_name and custom.
host_and_client, client_and_host, meeting_name, custom "custom"
The event title. Required when summary_type is custom, except on group scheduling links, where a blank title uses the default.
"Consultation"
The event description (HTML). Send null or an empty string to use the default description.
"<p>Agenda</p>"
Google Calendar only, ignored for the other integrations. One of the Google Calendar event colors as a hex code, in either case: #D50000, #E67C73, #F4511E, #F6BF26, #33B679, #0B8043, #039BE5, #3F51B5, #7986CB, #8E24AA or #616161. Send null or an empty string to use the default color.
"#039BE5"
Response
OK - Calendar preferences updated successfully
Hide child attributes
Hide child attributes
The calendar integration these settings apply to.
google_calendar, outlook, icloud "google_calendar"
Whether bookings of this scheduling link are added to event_add_calendars instead of the calendars the host picked in their own calendar integration settings.
The calendars booking events are added to when override_calendars is true, in order.
Hide child attributes
Hide child attributes
Unique identifier of the calendar. Use it in event_add_calendar_ids and conflict_check_calendar_ids.
"70232544-0b90-4ddd-801d-b9f53c3fff3c"
Name of the calendar.
"Work"
Whether this is the primary calendar of the connected account.
Whether events can be added to this calendar. Read-only calendars can be checked for conflicts, but cannot be used in event_add_calendar_ids.
Whether this scheduling link checks conflict_check_calendars for conflicts instead of the calendars the host checks in their own calendar integration settings.
The calendars checked for conflicts when override_conflict_check_calendars is true.
Hide child attributes
Hide child attributes
Unique identifier of the calendar. Use it in event_add_calendar_ids and conflict_check_calendar_ids.
"70232544-0b90-4ddd-801d-b9f53c3fff3c"
Name of the calendar.
"Work"
Whether this is the primary calendar of the connected account.
Whether events can be added to this calendar. Read-only calendars can be checked for conflicts, but cannot be used in event_add_calendar_ids.
Outlook only. The Outlook event statuses that block a slot. null for the other integrations.
tentative, busy, oof, workingElsewhere null
Whether this scheduling link uses its own event title and description instead of the host's. Always true for group scheduling links.
How the calendar event title is built. custom uses custom_summary.
host_and_client, client_and_host, meeting_name, custom "client_and_host"
The event title used when summary_type is custom.
null
The event description (HTML). null uses the default description.
null
Google Calendar only. The event color as a hex code. null uses the default color.
null
The host's calendars for this integration that can be used in event_add_calendar_ids and conflict_check_calendar_ids. Empty for scheduling links that are not one-on-one, and when the host has not connected an account for this integration.
Hide child attributes
Hide child attributes
Unique identifier of the calendar. Use it in event_add_calendar_ids and conflict_check_calendar_ids.
"70232544-0b90-4ddd-801d-b9f53c3fff3c"
Name of the calendar.
"Work"
Whether this is the primary calendar of the connected account.
Whether events can be added to this calendar. Read-only calendars can be checked for conflicts, but cannot be used in event_add_calendar_ids.