Пропустить навигацию

Speak API

Комнаты, участники, звонки и транскрипции.

Speak

Rooms

Participants

List Participants
GET {{baseHost}}/v1/speak/rooms/:room_id/participants

Returns the participants of a Speak room.

Responses
{  "meta": {    "pagination": {      "page": 1,      "per_page": 10,      "total": 0    },    "order": {      "created_at": "desc",      "name": "asc"    }  },  "data": []}
Get Participant
GET {{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_id

Retrieves a participant by ID.

Responses
{  "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
POST {{baseHost}}/v1/speak/rooms/:room_id/participants

Adds a participant to a Speak room, optionally with a specific role.

FieldTypeDescription
user_iduuidUser ID
namestringParticipant name
rolestringadmin, manager
Responses
{  "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
PATCH {{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_id

Updates a participant — typically to change their role or display name.

FieldTypeDescription
namestringParticipant name
Responses
{  "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
DELETE {{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_id

Removes a participant from the Speak room.

Responses
{  "data": {    "success": true  }}

Calls

List Calls
GET {{baseHost}}/v1/speak/rooms/:room_id/calls

Returns a paginated list of calls for a Speak room.

Responses
{  "meta": {    "pagination": {      "page": 1,      "per_page": 10,      "total": 0    },    "order": {      "created_at": "desc"    }  },  "data": []}
Get Call
GET {{baseHost}}/v1/speak/rooms/:room_id/calls/:call_id

Retrieves a single call by ID.

Responses
{  "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
GET {{baseHost}}/v1/speak/rooms/:room_id/calls/:call_id/transcript

Returns metadata for the transcript of a call.

Responses
{  "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
GET {{baseHost}}/v1/speak/rooms/:room_id/calls/:call_id/transcript/content.txt

Downloads 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.

Responses
[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

GET {{baseHost}}/v1/speak/rooms

Returns all Speak rooms in the workspace.

Responses
{  "meta": {    "pagination": {      "page": 1,      "per_page": 10,      "total": 0    },    "order": {      "created_at": "desc",      "name": "asc"    }  },  "data": []}

Get Room

GET {{baseHost}}/v1/speak/rooms/:room_id

Retrieves a single Speak room by ID.

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

POST {{baseHost}}/v1/speak/rooms

Creates a new Speak room. You can pre-create participants or add them later.

FieldTypeDescription
namestringRoom name
owner_iduuidUser ID
typestringRoom type - instant_meeting, permanent_meeting, scheduled_meeting
transcript_enabledbooleanEnable automatic transcription for calls. Optional, defaults to false
autorecordingbooleanEnable 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
Responses
{  "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

PATCH {{baseHost}}/v1/speak/rooms/:room_id

Updates properties of a Speak room.

FieldTypeDescription
namestringRoom name
autorecordingbooleanEnable 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
Responses
{  "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

PATCH {{baseHost}}/v1/speak/rooms/:room_id/transcript

Enables or disables automatic transcription for a room. Cannot be changed while the room has active calls.

FieldTypeDescription
transcript_enabledbooleantrue to enable, false to disable transcription
Responses
{  "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

DELETE {{baseHost}}/v1/speak/rooms/:room_id

Permanently deletes the Speak room. All participants lose access.

Responses
{  "data": {    "success": true  }}