Gravações
Listar gravações
Seção intitulada “Listar gravações”GET /api/v1/recordingsRetorna uma lista paginada de gravações acessíveis ao usuário autenticado.
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
limit | número | 20 | Número de resultados (1–100) |
offset | número | 0 | Deslocamento de paginação |
search | string | - | Filtrar por título (correspondência parcial) |
status | string | - | Filtrar por status (ver Status de gravação) |
date_from | string | - | Data ISO 8601 - retornar apenas gravações criadas em ou após |
date_to | string | - | Data ISO 8601 - retornar apenas gravações criadas em ou antes |
organization_id | string | - | Escopo para uma organização |
folder_id | string | - | Escopo para uma pasta (requer organization_id) |
Resposta
Seção intitulada “Resposta”{ "data": [ { "id": "uuid", "status": "COMPLETED", "title": "Sincronização semanal", "createdAt": "2025-09-19T15:00:00.000Z", "thumbnailUrl": "https://...", "progress": 1.0, "capabilities": { "canDownload": true, "canShare": true, "canViewTranscription": true, "canGenerateSummary": true, "canAskQuestions": true } } ], "pagination": { "total": 42, "limit": 20, "offset": 0, "has_more": true }}Obter gravação
Seção intitulada “Obter gravação”GET /api/v1/recordings/:idRetorna todos os detalhes de uma única gravação.
Gravações da organização estão disponíveis para qualquer membro da organização que tenha permissão para visualizá-las. Proprietários e administradores podem abrir todas as gravações em sua organização; editores e visualizadores veem as gravações que seu papel e acesso à pasta permitem. Para uma gravação da organização, is_locked, download_url e capabilities refletem o plano da organização e as sinalizações de recursos do membro, não o plano pessoal do chamador.
Retorna 402 ORGANIZATION_SUBSCRIPTION_EXPIRED quando a assinatura Enterprise da organização não está mais ativa.
Resposta
Seção intitulada “Resposta”{ "data": { "id": "uuid", "status": "COMPLETED", "title": "Sincronização semanal", "createdAt": "2025-09-19T15:00:00.000Z", "updatedAt": "2025-09-19T15:30:00.000Z", "startedAt": "2025-09-19T15:01:00.000Z", "endedAt": "2025-09-19T15:30:00.000Z", "videoUrl": "https://...", "hlsUrl": "https://...", "downloadUrl": "https://...", "downloadUrlExpiresAt": "2025-09-19T21:00:00.000Z", "thumbnailUrl": "https://...", "organizationId": "org_uuid or null", "transcription": { "status": "completed", "language": "en", "speakers": ["Orador 1", "Orador 2"], "segmentsCount": 184, "duration": 1740.5 }, "summary": { "status": "completed", "content": "## Tópicos principais\n...", "topics": [ { "title": "Cronograma do projeto", "keyPoints": [ { "point": "Data de lançamento confirmada", "details": ["Definida para o Q1"] } ] } ] }, "isLocked": false, "capabilities": { "canDownload": true, "canShare": true, "canViewTranscription": true, "canStartTranscription": true, "canRegenerateTranscription": false, "canRenameSpeaker": true, "canViewSummary": true, "canGenerateSummary": true, "canAskQuestions": true } }}Obter segmentos da transcrição
Seção intitulada “Obter segmentos da transcrição”GET /api/v1/recordings/:id/transcriptRetorna segmentos de transcrição paginados para uma gravação.
As gravações da organização seguem as mesmas regras de acesso que Obter gravação. Retorna 403 RECORDING_LOCKED quando a gravação está bloqueada e 403 TRANSCRIPT_NOT_AVAILABLE quando a transcrição está desabilitada para a organização ou para o membro. Uma gravação que ainda não foi transcrita ainda retorna 200 com "status": "not_started" e um array segments vazio.
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
start_chunk | número | 0 | Índice do bloco para começar |
limit | número | 50 | Número de blocos (1–100) |
Resposta
Seção intitulada “Resposta”{ "data": { "status": "completed", "language": "en", "speakers": ["Orador 1", "Alice"], "duration": 1740.5, "segments": [ { "id": 1, "start": 0.5, "end": 3.2, "text": "Bom dia a todos.", "speaker": "Alice", "confidence": 0.97 } ], "pagination": { "total_chunks": 184, "has_more": true } }}Atualizar gravação
Seção intitulada “Atualizar gravação”PATCH /api/v1/recordings/:idAtualize o título ou as notas de uma gravação. Pelo menos um campo é obrigatório.
Corpo da requisição
Seção intitulada “Corpo da requisição”{ "title": "Novo título (1–500 caracteres)", "notes": "Notas opcionais (máx. 100.000 caracteres)"}Resposta
Seção intitulada “Resposta”{ "data": { "success": true }}Excluir gravação
Seção intitulada “Excluir gravação”DELETE /api/v1/recordings/:idExclui permanentemente uma gravação e todos os dados associados (transcrição, resumo, compartilhamentos).
Resposta
Seção intitulada “Resposta”{ "data": { "success": true }}Criar link de compartilhamento
Seção intitulada “Criar link de compartilhamento”POST /api/v1/recordings/:id/share-linkGera um link de compartilhamento público para a gravação.
Para uma gravação de organização, qualquer membro que possa visualizar a gravação pode criar o link. O link é criado em nome do proprietário da gravação e usa o plano da organização, de modo que os links de download funcionam para gravações de organização mesmo quando o plano pessoal do chamador é gratuito. Retorna 403 RECORDING_LOCKED quando a gravação está bloqueada e 403 SHARING_DISABLED quando o compartilhamento está desabilitado para a organização ou para o membro.
Corpo da requisição
Seção intitulada “Corpo da requisição”{ "permission": "view"}| Valor | Descrição |
|---|---|
view | Os destinatários podem assistir ao vídeo e acessar a transcrição/resumo |
download | Os destinatários também podem baixar o arquivo de vídeo |
Resposta
Seção intitulada “Resposta”{ "data": { "share_url": "https://recordmeeting.com/app/shared/abc123", "share_token": "abc123", "permission": "view" }}Status da gravação
Seção intitulada “Status da gravação”| Status | Descrição |
|---|---|
STARTING | Solicitação de gravação recebida, configuração em andamento |
CONNECTING | Conectando-se à sessão do Google Meet |
WAIT_APPROVAL | Aguardando aprovação em chamada para gravar |
RECORDING | Gravando ativamente |
UPLOADING | Upload do lado do cliente em andamento (blocos esvaziando para armazenamento) |
PROCESSING | Cloudflare Stream empacotando HLS/DASH - ainda não reproduzível |
MIGRATING | Vídeo totalmente reproduzível; HLS sendo migrado para armazenamento de longo prazo |
COMPLETED | Gravação totalmente processada e armazenada |
ERROR | A gravação falhou |
Os consumidores da API devem tratar
MIGRATINGidenticamente aCOMPLETEDpara operações de reprodução, download e compartilhamento - a distinção é interna.