Pular navegação

API do Speak

Salas, participantes, chamadas e transcrições.

Speak

Rooms

Participants

Listar participantes
GET {{baseHost}}/v1/speak/rooms/:room_id/participants

Retorna os participantes de uma sala do Speak.

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

Retorna um participante pelo 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"  }}
Criar participante
POST {{baseHost}}/v1/speak/rooms/:room_id/participants

Adiciona um participante a uma sala do Speak, se quiser já com um papel específico.

CampoTipoDescrição
user_iduuidID do usuário
namestringNome do participante
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  }}
Atualizar participante
PATCH {{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_id

Atualiza um participante — em geral, para mudar o papel ou o nome exibido.

CampoTipoDescrição
namestringNome do participante
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"  }}
Excluir participante
DELETE {{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_id

Remove um participante da sala do Speak.

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

Calls

Listar chamadas
GET {{baseHost}}/v1/speak/rooms/:room_id/calls

Retorna a lista paginada de chamadas de uma sala do Speak.

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

Retorna uma chamada pelo 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
Obter transcrição
GET {{baseHost}}/v1/speak/rooms/:room_id/calls/:call_id/transcript

Retorna os metadados da transcrição de uma chamada.

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

Baixa a transcrição como arquivo de texto puro. Retorna Content-Type: text/plain com o cabeçalho Content-Disposition: attachment. Cada linha tem o formato [MM:SS.T-MM:SS.T] Speaker: Text. Disponível somente quando o status da transcrição é 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"  }}

Listar salas

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

Retorna todas as salas do Speak no workspace.

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

Obter sala

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

Retorna uma sala do Speak pelo 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"  }}

Criar sala

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

Cria uma sala do Speak. Você pode já criar os participantes ou adicioná-los depois.

CampoTipoDescrição
namestringNome da sala
owner_iduuidID do usuário
typestringTipo de sala — instant_meeting, permanent_meeting, scheduled_meeting
transcript_enabledbooleanAtiva a transcrição automática das chamadas. Opcional, o padrão é false
autorecordingbooleanAtiva a gravação automática das chamadas. Opcional, o padrão é false. Quando está ativado, a gravação começa automaticamente assim que o proprietário entra na sala e qualquer fluxo (áudio ou vídeo) aparece
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  }}

Atualizar sala

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

Atualiza as propriedades de uma sala do Speak.

CampoTipoDescrição
namestringNome da sala
autorecordingbooleanAtiva a gravação automática das chamadas. Opcional, o padrão é false. Quando está ativado, a gravação começa automaticamente assim que o proprietário entra na sala e qualquer fluxo (áudio ou vídeo) aparece
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"  }}

Atualizar configurações de transcrição

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

Ativa ou desativa a transcrição automática de uma sala. Não pode ser alterado enquanto a sala tiver chamadas ativas.

CampoTipoDescrição
transcript_enabledbooleantrue para ativar, false para desativar a transcrição
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"  }}

Excluir sala

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

Exclui a sala do Speak permanentemente. Todos os participantes perdem o acesso.

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