Speak
Rooms
Participants
List Participants
{{baseHost}}/v1/speak/rooms/:room_id/participantsReturns the participants of a Speak room.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 0 }, "order": { "created_at": "desc", "name": "asc" } }, "data": []}Get Participant
{{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_idRetrieves a participant by ID.
{ "data": { "id": "<UUID>", "user_id": "<UUID>", "room_id": "<UUID>", "name": "Name Updated", "role": "admin", "created_at": "2025-10-22T02:41:14.945244Z", "updated_at": "2025-10-22T02:46:57.84099Z" }}Create Participant
{{baseHost}}/v1/speak/rooms/:room_id/participantsAdds a participant to a Speak room, optionally with a specific role.
| Field | Type | Description |
|---|---|---|
| user_id | uuid | User ID |
| name | string | Participant name |
| role | string | admin, manager |
{ "data": { "id": "<UUID>", "user_id": "<UUID>", "room_id": "<UUID>", "name": "New Admin", "role": "admin", "created_at": "2025-10-22T02:41:14.945244Z", "updated_at": null }}Update Participant
{{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_idUpdates a participant — typically to change their role or display name.
| Field | Type | Description |
|---|---|---|
| name | string | Participant name |
{ "data": { "id": "<UUID>", "user_id": "<UUID>", "room_id": "<UUID>", "name": "Name Updated", "role": "admin", "created_at": "2025-10-22T02:41:14.945244Z", "updated_at": "2025-10-22T02:46:57.84099Z" }}Delete Participant
{{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_idRemoves a participant from the Speak room.
{ "data": { "success": true }}Calls
List Calls
{{baseHost}}/v1/speak/rooms/:room_id/callsReturns a paginated list of calls for a Speak room.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 0 }, "order": { "created_at": "desc" } }, "data": []}Get Call
{{baseHost}}/v1/speak/rooms/:room_id/calls/:call_idRetrieves a single call by ID.
{ "data": { "id": "<UUID>", "room_id": "<UUID>", "transcript_id": "<UUID>", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": "2025-10-22T03:33:22.877221Z" }}{ "error": { "code": 400404, "message": "not found" }}Transcript
Get Transcript
{{baseHost}}/v1/speak/rooms/:room_id/calls/:call_id/transcriptReturns metadata for the transcript of a call.
{ "data": { "call_id": "<UUID>", "room_id": "<UUID>", "status": "done", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": "2025-10-22T03:33:22.877221Z" }}{ "error": { "code": 400404, "message": "not found" }}Download Transcript
{{baseHost}}/v1/speak/rooms/:room_id/calls/:call_id/transcript/content.txtDownloads the transcript as a plain-text file. Returns Content-Type: text/plain with a Content-Disposition: attachment header. Each line has the format [MM:SS.T-MM:SS.T] Speaker: Text. Available only when transcript status is done.
[00:00.0-00:05.3] Alice: Hello everyone, let's get started.[00:05.3-00:12.1] Bob: Sounds good, I have a few updates to share.{ "error": { "code": 422100, "message": "transcript not ready" }}List Rooms
{{baseHost}}/v1/speak/roomsReturns all Speak rooms in the workspace.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 0 }, "order": { "created_at": "desc", "name": "asc" } }, "data": []}Get Room
{{baseHost}}/v1/speak/rooms/:room_idRetrieves a single Speak room by ID.
{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "owner_id": "<UUID>", "type": "scheduled_meeting", "transcript_enabled": false, "participants": [ { "id": "<UUID>", "user_id": "<UUID>", "room_id": "<UUID>", "name": "Name Updated", "role": "admin", "created_at": "2025-10-22T02:41:14.945244Z", "updated_at": "2025-10-22T02:46:57.84099Z" } ], "code": "zqu-kqyh-ymz", "name": "Room Update", "link": "https://speak.kinescope.io/zqu-kqyh-ymz", "status": "cancelled", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": "2025-10-22T03:33:22.877221Z" }}{ "error": { "code": 400404, "message": "not found" }}Create Room
{{baseHost}}/v1/speak/roomsCreates a new Speak room. You can pre-create participants or add them later.
| Field | Type | Description |
|---|---|---|
| name | string | Room name |
| owner_id | uuid | User ID |
| type | string | Room type - instant_meeting, permanent_meeting, scheduled_meeting |
| transcript_enabled | boolean | Enable automatic transcription for calls. Optional, defaults to false |
| autorecording | boolean | Enable automatic call recording. Optional, defaults to false. When it is enabled, recording starts automatically as soon as the room owner joins the room and any stream (audio or video) appears |
{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "owner_id": "<UUID>", "type": "scheduled_meeting", "transcript_enabled": false, "participants": [], "code": "zqu-kqyh-ymz", "name": "New Room", "link": "https://speak.kinescope.io/zqu-kqyh-ymz", "status": "scheduled", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": null }}Update Room
{{baseHost}}/v1/speak/rooms/:room_idUpdates properties of a Speak room.
| Field | Type | Description |
|---|---|---|
| name | string | Room name |
| autorecording | boolean | Enable automatic call recording. Optional, defaults to false. When it is enabled, recording starts automatically as soon as the room owner joins the room and any stream (audio or video) appears |
{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "owner_id": "<UUID>", "type": "scheduled_meeting", "transcript_enabled": false, "participants": [], "code": "zqu-kqyh-ymz", "name": "Room Update", "link": "https://speak.kinescope.io/zqu-kqyh-ymz", "status": "scheduled", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": "2025-10-22T02:34:28.336038Z" }}Update Transcript Settings
{{baseHost}}/v1/speak/rooms/:room_id/transcriptEnables or disables automatic transcription for a room. Cannot be changed while the room has active calls.
| Field | Type | Description |
|---|---|---|
| transcript_enabled | boolean | true to enable, false to disable transcription |
{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "owner_id": "<UUID>", "type": "scheduled_meeting", "transcript_enabled": true, "participants": [], "code": "zqu-kqyh-ymz", "name": "Room Update", "link": "https://speak.kinescope.io/zqu-kqyh-ymz", "status": "scheduled", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": "2025-10-22T02:34:28.336038Z" }}{ "error": { "code": 409293, "message": "cannot update transcript settings while room has active calls" }}Delete Room
{{baseHost}}/v1/speak/rooms/:room_idPermanently deletes the Speak room. All participants lose access.
{ "data": { "success": true }}