Salta ai contenuti

Registrazioni

GET /api/v1/recordings

Restituisce un elenco paginato di registrazioni accessibili all’utente autenticato.

ParametroTipoPredefinitoDescrizione
limitnumero20Numero di risultati (1–100)
offsetnumero0Offset di paginazione
searchstringa-Filtra per titolo (corrispondenza parziale)
statusstringa-Filtra per stato (vedi Stati di registrazione)
date_fromstringa-Data ISO 8601 - restituisce solo le registrazioni create a partire da
date_tostringa-Data ISO 8601 - restituisce solo le registrazioni create fino a
organization_idstringa-Ambito di un’organizzazione
folder_idstringa-Ambito di una cartella (richiede organization_id)
{
"data": [
{
"id": "uuid",
"status": "COMPLETED",
"title": "Weekly sync",
"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
}
}

GET /api/v1/recordings/:id

Restituisce i dettagli completi per una singola registrazione.

{
"data": {
"id": "uuid",
"status": "COMPLETED",
"title": "Weekly sync",
"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": ["Speaker 1", "Speaker 2"],
"segmentsCount": 184,
"duration": 1740.5
},
"summary": {
"status": "completed",
"content": "## Key topics\n...",
"topics": [
{
"title": "Project timeline",
"keyPoints": [
{ "point": "Launch date confirmed", "details": ["Set for Q1"] }
]
}
]
},
"isLocked": false,
"capabilities": {
"canDownload": true,
"canShare": true,
"canViewTranscription": true,
"canStartTranscription": true,
"canRegenerateTranscription": false,
"canRenameSpeaker": true,
"canViewSummary": true,
"canGenerateSummary": true,
"canAskQuestions": true
}
}
}

GET /api/v1/recordings/:id/transcript

Restituisce i segmenti di trascrizione impaginati per una registrazione.

ParametroTipoPredefinitoDescrizione
start_chunknumero0Indice del chunk da cui iniziare
limitnumero50Numero di chunk (1–100)
{
"data": {
"status": "completed",
"language": "en",
"speakers": ["Speaker 1", "Alice"],
"duration": 1740.5,
"segments": [
{
"id": 1,
"start": 0.5,
"end": 3.2,
"text": "Good morning everyone.",
"speaker": "Alice",
"confidence": 0.97
}
],
"pagination": {
"total_chunks": 184,
"has_more": true
}
}
}

PATCH /api/v1/recordings/:id

Aggiorna il titolo o le note di una registrazione. È richiesto almeno un campo.

{
"title": "Nuovo titolo (1-500 caratteri)",
"notes": "Note opzionali (max 100.000 caratteri)"
}
{
"data": { "success": true }
}

DELETE /api/v1/recordings/:id

Elimina in modo permanente una registrazione e tutti i dati associati (trascrizione, riassunto, condivisioni).

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

POST /api/v1/recordings/:id/share-link

Genera un link di condivisione pubblico per la registrazione.

{
"permission": "view"
}
ValoreDescrizione
viewI destinatari possono guardare il video e accedere alla trascrizione/riassunto
downloadI destinatari possono anche scaricare il file video
{
"data": {
"share_url": "https://recordmeeting.com/app/shared/abc123",
"share_token": "abc123",
"permission": "view"
}
}

StatoDescrizione
STARTINGRichiesta di registrazione ricevuta, configurazione in corso
CONNECTINGConnessione alla sessione di Google Meet
WAIT_APPROVALIn attesa di approvazione in chiamata per registrare
RECORDINGRegistrazione attiva
UPLOADINGCaricamento lato client in corso (i chunk vengono scaricati nella memoria)
PROCESSINGCloudflare Stream sta impacchettando HLS/DASH - non ancora riproducibile
MIGRATINGVideo completamente riproducibile; HLS in migrazione verso l’archiviazione a lungo termine
COMPLETEDRegistrazione completamente elaborata e archiviata
ERRORRegistrazione fallita

I consumer delle API dovrebbero trattare MIGRATING in modo identico a COMPLETED per le operazioni di riproduzione, download e condivisione - la distinzione è interna.