curl --request POST \
--url https://{your-subdomain}.neetocal.com/api/external/v1/meetings/{meeting_sid}/availability/create \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"email": "oliver@example.com",
"name": "Meeting Specific Availability",
"periods": [
{
"wday": "monday",
"start_time": "09:00 AM",
"end_time": "05:00 PM"
},
{
"wday": "friday",
"start_time": "10:00 AM",
"end_time": "04:00 PM"
}
],
"overrides": [
{
"date": "2025-03-07",
"periods": [
{
"start_time": "11:00 AM",
"end_time": "04:00 PM"
}
]
}
],
"time_zone": "America/New_York"
}
'const options = {
method: 'POST',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: 'oliver@example.com',
name: 'Meeting Specific Availability',
periods: [
{wday: 'monday', start_time: '09:00 AM', end_time: '05:00 PM'},
{wday: 'friday', start_time: '10:00 AM', end_time: '04:00 PM'}
],
overrides: [
{date: '2025-03-07', periods: [{start_time: '11:00 AM', end_time: '04:00 PM'}]}
],
time_zone: 'America/New_York'
})
};
fetch('https://{your-subdomain}.neetocal.com/api/external/v1/meetings/{meeting_sid}/availability/create', 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/v1/meetings/{meeting_sid}/availability/create"
payload = {
"email": "oliver@example.com",
"name": "Meeting Specific Availability",
"periods": [
{
"wday": "monday",
"start_time": "09:00 AM",
"end_time": "05:00 PM"
},
{
"wday": "friday",
"start_time": "10:00 AM",
"end_time": "04:00 PM"
}
],
"overrides": [
{
"date": "2025-03-07",
"periods": [
{
"start_time": "11:00 AM",
"end_time": "04:00 PM"
}
]
}
],
"time_zone": "America/New_York"
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"availability_id": "<string>",
"member_id": "<string>",
"meeting_id": "<string>",
"availability": {
"id": "01ea5ddf-ed00-4bed-bfa3-ba8ea80a856a",
"sid": "2nq7q5c",
"name": "Availability for custom user",
"default": false,
"periods": [
{
"id": "21c812a7-3859-4f01-b214-850e6f11caad",
"wday": "monday",
"start_time": "09:00 AM",
"end_time": "05:00 PM"
}
],
"overrides": [
{
"date": "2025-03-07",
"periods": [
{
"start_time": "10:00 AM",
"end_time": "03:00 PM"
}
]
}
],
"user": {
"id": "b6d02dfa-8ef6-453d-b9f7-67a6f20bcaa6",
"name": "Oliver Smith",
"email": "oliver@example.com"
}
}
}Create custom availability for scheduling-link
Create an availability for a team member and associate it with a scheduling link.
curl --request POST \
--url https://{your-subdomain}.neetocal.com/api/external/v1/meetings/{meeting_sid}/availability/create \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"email": "oliver@example.com",
"name": "Meeting Specific Availability",
"periods": [
{
"wday": "monday",
"start_time": "09:00 AM",
"end_time": "05:00 PM"
},
{
"wday": "friday",
"start_time": "10:00 AM",
"end_time": "04:00 PM"
}
],
"overrides": [
{
"date": "2025-03-07",
"periods": [
{
"start_time": "11:00 AM",
"end_time": "04:00 PM"
}
]
}
],
"time_zone": "America/New_York"
}
'const options = {
method: 'POST',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: 'oliver@example.com',
name: 'Meeting Specific Availability',
periods: [
{wday: 'monday', start_time: '09:00 AM', end_time: '05:00 PM'},
{wday: 'friday', start_time: '10:00 AM', end_time: '04:00 PM'}
],
overrides: [
{date: '2025-03-07', periods: [{start_time: '11:00 AM', end_time: '04:00 PM'}]}
],
time_zone: 'America/New_York'
})
};
fetch('https://{your-subdomain}.neetocal.com/api/external/v1/meetings/{meeting_sid}/availability/create', 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/v1/meetings/{meeting_sid}/availability/create"
payload = {
"email": "oliver@example.com",
"name": "Meeting Specific Availability",
"periods": [
{
"wday": "monday",
"start_time": "09:00 AM",
"end_time": "05:00 PM"
},
{
"wday": "friday",
"start_time": "10:00 AM",
"end_time": "04:00 PM"
}
],
"overrides": [
{
"date": "2025-03-07",
"periods": [
{
"start_time": "11:00 AM",
"end_time": "04:00 PM"
}
]
}
],
"time_zone": "America/New_York"
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"availability_id": "<string>",
"member_id": "<string>",
"meeting_id": "<string>",
"availability": {
"id": "01ea5ddf-ed00-4bed-bfa3-ba8ea80a856a",
"sid": "2nq7q5c",
"name": "Availability for custom user",
"default": false,
"periods": [
{
"id": "21c812a7-3859-4f01-b214-850e6f11caad",
"wday": "monday",
"start_time": "09:00 AM",
"end_time": "05:00 PM"
}
],
"overrides": [
{
"date": "2025-03-07",
"periods": [
{
"start_time": "10:00 AM",
"end_time": "03:00 PM"
}
]
}
],
"user": {
"id": "b6d02dfa-8ef6-453d-b9f7-67a6f20bcaa6",
"name": "Oliver Smith",
"email": "oliver@example.com"
}
}
}{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 SID of the scheduling link. You can get sid in different ways. Visit the scheduling link page and then click on "Settings" > "Show SID". That will give you sid. The other way you can get sid is by listing scheduling links using our List scheduling links API. Here you will see sid for each scheduling link.
Body
Email of the team member who is a member of this scheduling link.
"oliver@example.com"
Name for the custom availability.
"Meeting Specific Availability"
[
{
"wday": "monday",
"start_time": "09:00 AM",
"end_time": "05:00 PM"
},
{
"wday": "friday",
"start_time": "10:00 AM",
"end_time": "04:00 PM"
}
]
Set an override for specific days. To set a date as unavailable, pass a blank array to the periods property. You can remove existing overrides by omitting the periods property.
Hide child attributes
Hide child attributes
[
{
"date": "2025-03-07",
"periods": [
{
"start_time": "11:00 AM",
"end_time": "04:00 PM"
}
]
}
]
Optional IANA timezone name (e.g., "America/New_York", "Asia/Kolkata"). When provided, the start_time and end_time values in periods and overrides are assumed to be in this timezone and will be converted to the user's timezone before saving. If not provided, times are assumed to be in the user's timezone.
"America/New_York"
Response
OK - Availability created and associated with meeting member successfully
Unique identifier of the created availability.
Unique identifier of the team member.
Unique identifier of the meeting.
Hide child attributes
Hide child attributes
Unique identifier for the availability configuration.
"01ea5ddf-ed00-4bed-bfa3-ba8ea80a856a"
Short identifier (SID) for the availability, used in URLs and API calls for easy reference.
"2nq7q5c"
Human-readable name for the availability configuration (e.g., "Working hours", "Custom schedule").
"Availability for custom user"
Indicates whether this is the default availability configuration for the team member. Only one availability can be set as default per user.
false
List of time periods defining when the team member is available for meetings throughout the week.
Hide child attributes
Hide child attributes
Unique identifier for this specific availability period.
"21c812a7-3859-4f01-b214-850e6f11caad"
Day of the week for this availability period. Valid values are "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday".
monday, tuesday, wednesday, thursday, friday, saturday, sunday "monday"
Start time of the availability period in 12-hour format with AM/PM designation.
"09:00 AM"
End time of the availability period in 12-hour format with AM/PM designation.
"05:00 PM"
List of date-specific availability overrides (e.g., holidays, vacation days, or special working hours for specific dates).
Hide child attributes
Hide child attributes
The specific date for this availability override in YYYY-MM-DD format.
"2025-03-07"
Time periods for this specific date. Set as empty array ([]) to mark the date as unavailable. If periods are provided, they override the regular weekly schedule for this date.
Hide child attributes
Hide child attributes
Information about the team member this availability configuration belongs to.
Hide child attributes
Hide child attributes