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 |
{ "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 |
{ "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 }}