Create a meeting
curl --request POST \
--url https://api.vegaminds.com/v1/meetings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"topic": "Ellis annual review",
"start_time": "2026-11-20T18:00:00Z",
"duration_minutes": 60,
"format": "video_call"
}
'import requests
url = "https://api.vegaminds.com/v1/meetings"
payload = {
"topic": "Ellis annual review",
"start_time": "2026-11-20T18:00:00Z",
"duration_minutes": 60,
"format": "video_call"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
topic: 'Ellis annual review',
start_time: '2026-11-20T18:00:00Z',
duration_minutes: 60,
format: 'video_call'
})
};
fetch('https://api.vegaminds.com/v1/meetings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "9d9c0b33-7e53-4ef6-a730-f034d38cb137"
}{
"error": {
"code": "invalid_request",
"message": "The request body is invalid.",
"fields": {
"email_addresses[0].address": "Must be an email address."
}
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "invalid_token",
"message": "The access token is invalid, expired or revoked."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "insufficient_scope",
"message": "This request needs the contacts:write scope, which the user did not grant. Connect the user again, asking for it."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "rate_limited",
"message": "Too many requests. Wait the number of seconds in the Retry-After header, then try again."
}
}{
"error": {
"code": "internal_error",
"message": "Something went wrong on our side. Try again later, and contact Vega support with the request id if it keeps happening."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}Meetings
Create a meeting
Create a Vega meeting with the connected user as owner and creator, using their default sharing. Requires topic, start_time and duration_minutes. Optional client ids must all be accessible and are set at creation only. This does not create a calendar event, invite attendees, attach recordings, upload, transcribe or generate artifacts. Normal Vega automation may still apply later. Meeting type and processing owner are configured in Vega. Returns only the id; use meetings:read separately for details. There is no idempotency key: repeating POST creates another meeting.
POST
/
meetings
Create a meeting
curl --request POST \
--url https://api.vegaminds.com/v1/meetings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"topic": "Ellis annual review",
"start_time": "2026-11-20T18:00:00Z",
"duration_minutes": 60,
"format": "video_call"
}
'import requests
url = "https://api.vegaminds.com/v1/meetings"
payload = {
"topic": "Ellis annual review",
"start_time": "2026-11-20T18:00:00Z",
"duration_minutes": 60,
"format": "video_call"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
topic: 'Ellis annual review',
start_time: '2026-11-20T18:00:00Z',
duration_minutes: 60,
format: 'video_call'
})
};
fetch('https://api.vegaminds.com/v1/meetings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "9d9c0b33-7e53-4ef6-a730-f034d38cb137"
}{
"error": {
"code": "invalid_request",
"message": "The request body is invalid.",
"fields": {
"email_addresses[0].address": "Must be an email address."
}
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "invalid_token",
"message": "The access token is invalid, expired or revoked."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "insufficient_scope",
"message": "This request needs the contacts:write scope, which the user did not grant. Connect the user again, asking for it."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "rate_limited",
"message": "Too many requests. Wait the number of seconds in the Retry-After header, then try again."
}
}{
"error": {
"code": "internal_error",
"message": "Something went wrong on our side. Try again later, and contact Vega support with the request id if it keeps happening."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}Authorizations
Body
application/json

