Speak
Rooms
Criar sala
https://api.kinescope.io/v1/speak/roomsCria uma sala do Speak. Você pode já criar os participantes ou adicioná-los depois.
| Campo | Tipo | Descrição |
|---|---|---|
| name | string | Nome da sala |
| owner_id | uuid | ID do usuário |
| type | string | Tipo de sala — instant_meeting, permanent_meeting, scheduled_meeting |
| transcription_autostart | boolean | Ativa a transcrição automática das chamadas. Opcional, o padrão é false. Quando está ativado, a transcrição começa automaticamente assim que o primeiro participante entra na chamada |
| autorecording | boolean | Ativa 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 |
| waiting_room | boolean | Ativa a sala de espera. Opcional, o padrão é false. Quando está ativado, os participantes, exceto o proprietário da sala e os participantes com o papel admin, esperam até que o proprietário ou um admin os deixe entrar |
| wait_for_host | boolean | Faz os participantes esperarem pelo anfitrião. Opcional, o padrão é false. Quando está ativado, os participantes, exceto o proprietário da sala e os participantes com o papel admin, esperam até que o proprietário ou um admin entre na chamada e então entram automaticamente. Se waiting_room também estiver ativado, depois que o anfitrião entrar ainda é preciso deixar os participantes entrarem manualmente |
{
"name": "New Room",
"owner_id": "<UUID>",
"type": "scheduled_meeting",
"transcript_enabled": false,
"autorecording": false
}{
"data": {
"id": "<UUID>",
"workspace_id": "<UUID>",
"owner_id": "<UUID>",
"type": "scheduled_meeting",
"transcription_autostart": false,
"waiting_room": false,
"wait_for_host": 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
}
}Listar salas
https://api.kinescope.io/v1/speak/roomsRetorna todas as salas do Speak no workspace.
{
"meta": {
"pagination": {
"page": 1,
"per_page": 10,
"total": 0
},
"order": {
"created_at": "desc",
"name": "asc"
}
},
"data": []
}Obter sala
https://api.kinescope.io/v1/speak/rooms/:room_idRetorna uma sala do Speak pelo ID.
{
"data": {
"id": "<UUID>",
"workspace_id": "<UUID>",
"owner_id": "<UUID>",
"type": "scheduled_meeting",
"transcription_autostart": false,
"waiting_room": false,
"wait_for_host": 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"
}
}Atualizar sala
https://api.kinescope.io/v1/speak/rooms/:room_idAtualiza as propriedades de uma sala do Speak.
| Campo | Tipo | Descrição |
|---|---|---|
| name | string | Nome da sala |
| autorecording | boolean | Ativa 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 |
| transcription_autostart | boolean | Ativa a transcrição automática das chamadas. Opcional, o padrão é false. Quando está ativado, a transcrição começa automaticamente assim que o primeiro participante entra na chamada |
{
"data": {
"id": "<UUID>",
"workspace_id": "<UUID>",
"owner_id": "<UUID>",
"type": "scheduled_meeting",
"transcription_autostart": false,
"waiting_room": false,
"wait_for_host": 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"
}
}Excluir sala
https://api.kinescope.io/v1/speak/rooms/:room_idExclui a sala do Speak permanentemente. Todos os participantes perdem o acesso.
{
"data": {
"success": true
}
}Participants
Criar participante
https://api.kinescope.io/v1/speak/rooms/:room_id/participantsAdiciona um participante a uma sala do Speak, se quiser já com um papel específico.
| Campo | Tipo | Descrição |
|---|---|---|
| user_id | uuid | ID do usuário |
| name | string | Nome do participante |
| role | string | admin, manager |
{
"user_id": "<UUID>",
"name": "New Admin",
"role": "admin"
}{
"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
}
}Listar participantes
https://api.kinescope.io/v1/speak/rooms/:room_id/participantsRetorna os participantes de uma sala do Speak.
{
"meta": {
"pagination": {
"page": 1,
"per_page": 10,
"total": 0
},
"order": {
"created_at": "desc",
"name": "asc"
}
},
"data": []
}Obter participante
https://api.kinescope.io/v1/speak/rooms/:room_id/participants/:participant_idRetorna um participante pelo 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"
}
}Atualizar participante
https://api.kinescope.io/v1/speak/rooms/:room_id/participants/:participant_idAtualiza um participante — em geral, para mudar o papel ou o nome exibido.
| Campo | Tipo | Descrição |
|---|---|---|
| name | string | Nome do participante |
{
"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
https://api.kinescope.io/v1/speak/rooms/:room_id/participants/:participant_idRemove um participante da sala do Speak.
{
"data": {
"success": true
}
}Calls
Listar chamadas
https://api.kinescope.io/v1/speak/rooms/:room_id/callsRetorna a lista paginada de chamadas de uma sala do Speak.
{
"meta": {
"pagination": {
"page": 1,
"per_page": 10,
"total": 0
},
"order": {
"created_at": "desc"
}
},
"data": []
}Obter chamada
https://api.kinescope.io/v1/speak/rooms/:room_id/calls/:call_idRetorna uma chamada pelo 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
Obter transcrição
https://api.kinescope.io/v1/speak/rooms/:room_id/calls/:call_id/transcriptRetorna os metadados da transcrição de uma chamada.
{
"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
https://api.kinescope.io/v1/speak/rooms/:room_id/calls/:call_id/transcript/content.txtBaixa 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.
[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"
}
}