Appearance
Participants of one meeting
GET /api/v1/meetings/{id}/participants meetings:read
Participants, including the ones who were only INVITED. attended: false means: invited, did not turn up. No pagination — the list comes in full.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | uuid | yes | The meeting, by the id from /meetings. |
Response 200
The participants, sorted by display name. A meeting you cannot see gives an empty list, not a 404.
Example response
json
{
"meeting_id": "3b1f7c02-5d64-4c1a-9f88-2ac0e6b41d77",
"data": [
{
"display_name": "Anna Weber",
"email": "anna@company.example",
"domain": "company.example",
"is_internal": true,
"source": "calendar",
"approx_joined_at": "2026-08-04T08:01:37Z",
"approx_left_at": "2026-08-04T08:58:02Z",
"attended": true
}
]
}| Field | Type | Required | Description |
|---|---|---|---|
meeting_id | uuid | yes | The meeting these rows belong to. |
data | object[] | yes | The participants, sorted by display name. |
data[].display_name | string | yes | The name as the calendar or the meeting platform spelled it. |
data[].email | email | null | — | Email address. null when neither source gave one. |
data[].domain | string | null | — | Email domain — this is what ties a meeting to a company. |
data[].is_internal | boolean | yes | The email domain belongs to your own house. |
data[].source | string | yes | Where this person came from: the invitation, the meeting platform, or a correction by hand. Values: calendar, platform, manual. |
data[].approx_joined_at | date-time | null | — | When this person was first there. Approximate — it comes from the recording, not from a join event. |
data[].approx_left_at | date-time | null | — | When this person was last there. Approximate, same reason. |
data[].attended | boolean | yes | false means: invited, did not turn up. Somebody who sat through the meeting without saying a word counts as present. |
Other answers
| Code | Meaning |
|---|---|
401 | No key, or a key that is not valid. |
403 | The key is missing the scope this endpoint needs. |
503 | The endpoint does not exist on this deployment yet, because a database change has not been applied. A temporary state, not a mistake in your request. |