curl --request GET \
--url https://api.vegaminds.com/v1/meetings/{meeting_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vegaminds.com/v1/meetings/{meeting_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vegaminds.com/v1/meetings/{meeting_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"is_external": false,
"id": "9d9c0b33-7e53-4ef6-a730-f034d38cb137",
"topic": "Ellis annual review",
"start_time": "2026-11-12T18:00:00Z",
"duration_minutes": 60,
"format": "video_call",
"meeting_type": {
"id": "b8a8df6a-1fa5-490b-9856-7b6c0bd47634",
"name": "Annual review"
},
"reviewed": true,
"has_note": true,
"has_preparation": true,
"contacts": [
{
"id": "1f128fef-f499-4c88-a53e-75f235ccb65a",
"name": "Jordan Ellis"
}
],
"households": [],
"created_on": "2026-11-04T15:20:03Z",
"updated_on": "2026-11-12T19:05:00Z",
"owner": {
"id": "00000000-0000-4000-8000-000000000001",
"name": "Avery Brooks"
},
"creator": null,
"description": "Review goals and retirement contributions.",
"location": null,
"join_url": "https://meet.example.com/annual-review",
"participants": [
"jordan@example.com"
],
"preparation": {
"id": "00000000-0000-4000-8000-000000000002",
"body": "## Agenda\nReview retirement goals.",
"email_draft": "Hi Jordan, please bring your latest statement.",
"created_on": "2026-11-11T18:00:00Z",
"updated_on": "2026-11-11T18:00:00Z"
},
"note": {
"id": "00000000-0000-4000-8000-000000000003",
"body": "## Summary\nDiscussed increasing contributions.",
"email_draft": "Hi Jordan, here is the recap of our review.",
"created_on": "2026-11-12T19:00:00Z",
"updated_on": "2026-11-12T19:05:00Z"
},
"transcript": "WEBVTT\n\n00:00:00.000 --> 00:00:03.000\n<v Avery Brooks>Let us review your retirement goals.</v>\n",
"transcript_format": "webvtt",
"recording_url": "https://recordings.example.com/meeting/audio?signature=EXAMPLE",
"video_recording_url": "https://recordings.example.com/meeting/video?signature=EXAMPLE"
}{
"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": "not_found",
"message": "Contact not found."
},
"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"
}Get a meeting
Read a meeting with its latest preparation and pre-meeting email draft, latest note and follow-up email draft, full transcript, and recording read URLs. Missing artifacts and recordings are null. Analytics, artifact history, upload capabilities and generation or sending operations are not exposed. Requires meetings:read, including when the connection already has notes:read. Recording URLs can expire; fetch the meeting again for fresh links.
curl --request GET \
--url https://api.vegaminds.com/v1/meetings/{meeting_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vegaminds.com/v1/meetings/{meeting_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vegaminds.com/v1/meetings/{meeting_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"is_external": false,
"id": "9d9c0b33-7e53-4ef6-a730-f034d38cb137",
"topic": "Ellis annual review",
"start_time": "2026-11-12T18:00:00Z",
"duration_minutes": 60,
"format": "video_call",
"meeting_type": {
"id": "b8a8df6a-1fa5-490b-9856-7b6c0bd47634",
"name": "Annual review"
},
"reviewed": true,
"has_note": true,
"has_preparation": true,
"contacts": [
{
"id": "1f128fef-f499-4c88-a53e-75f235ccb65a",
"name": "Jordan Ellis"
}
],
"households": [],
"created_on": "2026-11-04T15:20:03Z",
"updated_on": "2026-11-12T19:05:00Z",
"owner": {
"id": "00000000-0000-4000-8000-000000000001",
"name": "Avery Brooks"
},
"creator": null,
"description": "Review goals and retirement contributions.",
"location": null,
"join_url": "https://meet.example.com/annual-review",
"participants": [
"jordan@example.com"
],
"preparation": {
"id": "00000000-0000-4000-8000-000000000002",
"body": "## Agenda\nReview retirement goals.",
"email_draft": "Hi Jordan, please bring your latest statement.",
"created_on": "2026-11-11T18:00:00Z",
"updated_on": "2026-11-11T18:00:00Z"
},
"note": {
"id": "00000000-0000-4000-8000-000000000003",
"body": "## Summary\nDiscussed increasing contributions.",
"email_draft": "Hi Jordan, here is the recap of our review.",
"created_on": "2026-11-12T19:00:00Z",
"updated_on": "2026-11-12T19:05:00Z"
},
"transcript": "WEBVTT\n\n00:00:00.000 --> 00:00:03.000\n<v Avery Brooks>Let us review your retirement goals.</v>\n",
"transcript_format": "webvtt",
"recording_url": "https://recordings.example.com/meeting/audio?signature=EXAMPLE",
"video_recording_url": "https://recordings.example.com/meeting/video?signature=EXAMPLE"
}{
"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": "not_found",
"message": "Contact not found."
},
"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
Scopes
Response
The meeting and available artifacts.
True when this record has an active integration link, including an export from Vega. This is current linkage, not historical origin, and is independent of linked contacts or households. Associated records cannot be patched or deleted through this API, except that a meeting may patch reviewed alone. No provider/account details are exposed.

