curl --request POST \
--url https://{your-subdomain}.neetocal.com/api/external/v1/meetings/{meeting_sid}/spots \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"spot": "in_person",
"spot_phone_call_number": null,
"spot_custom_text": null,
"spot_in_person_location": "123 Main St, Suite 100, City, State 12345",
"is_default": false
}
'const options = {
method: 'POST',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
spot: 'in_person',
spot_phone_call_number: null,
spot_custom_text: null,
spot_in_person_location: '123 Main St, Suite 100, City, State 12345',
is_default: false
})
};
fetch('https://{your-subdomain}.neetocal.com/api/external/v1/meetings/{meeting_sid}/spots', 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}/spots"
payload = {
"spot": "in_person",
"spot_phone_call_number": None,
"spot_custom_text": None,
"spot_in_person_location": "123 Main St, Suite 100, City, State 12345",
"is_default": False
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"message": "Spot created successfully",
"spot": {
"id": "1d35e633-71b9-4ad9-b659-b034f361539b",
"spot": "in_person",
"spot_phone_call_number": null,
"spot_custom_text": null,
"spot_in_person_location": "123 Main St, Suite 100, City, State 12345",
"is_default": true,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z"
}
}Create meeting place
Create a meeting place for a scheduling link.
curl --request POST \
--url https://{your-subdomain}.neetocal.com/api/external/v1/meetings/{meeting_sid}/spots \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"spot": "in_person",
"spot_phone_call_number": null,
"spot_custom_text": null,
"spot_in_person_location": "123 Main St, Suite 100, City, State 12345",
"is_default": false
}
'const options = {
method: 'POST',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
spot: 'in_person',
spot_phone_call_number: null,
spot_custom_text: null,
spot_in_person_location: '123 Main St, Suite 100, City, State 12345',
is_default: false
})
};
fetch('https://{your-subdomain}.neetocal.com/api/external/v1/meetings/{meeting_sid}/spots', 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}/spots"
payload = {
"spot": "in_person",
"spot_phone_call_number": None,
"spot_custom_text": None,
"spot_in_person_location": "123 Main St, Suite 100, City, State 12345",
"is_default": False
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"message": "Spot created successfully",
"spot": {
"id": "1d35e633-71b9-4ad9-b659-b034f361539b",
"spot": "in_person",
"spot_phone_call_number": null,
"spot_custom_text": null,
"spot_in_person_location": "123 Main St, Suite 100, City, State 12345",
"is_default": true,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z"
}
}{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"
Body
The place type (must be one of the predefined values).
daily, zoom, jitsi, google_meet, teams, whereby, in_person, custom, phone_call "in_person"
Phone number for phone call meeting place. Only required when place type is "phone_call".
null
Custom text for custom meeting place. Only required when place type is "custom".
null
Location details for in-person meetings. Only required when place type is "in_person".
"123 Main St, Suite 100, City, State 12345"
Whether this place should be the default option (defaults to false).
false
Response
OK - Request succeeded
"Spot created successfully"
Hide child attributes
Hide child attributes
Unique identifier for the place.
"1d35e633-71b9-4ad9-b659-b034f361539b"
The place type for the meeting.
daily, zoom, jitsi, google_meet, teams, whereby, in_person, custom, phone_call "in_person"
Phone number for phone call meeting place. Only populated when place type is "phone_call", otherwise null.
null
Custom text for custom meeting place. Only populated when place type is "custom", otherwise null.
null
Location details for in-person meetings. Only populated when place type is "in_person", otherwise null.
"123 Main St, Suite 100, City, State 12345"
Whether this meeting place is the default option.
true
Timestamp when the meeting place was created.
"2025-01-15T10:30:00Z"
Timestamp when the meeting place was last updated.
"2025-01-15T10:30:00Z"