Salta ai contenuti

Registrazioni

GET /api/v1/recordings

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

ParametroTipoPredefinitoDescrizione
limitnumero20Numero di risultati (1–100)
offsetnumero0Offset di impaginazione
searchstringa-Filtra per titolo (corrispondenza parziale)
statusstringa-Filtra per stato (vedi Stati delle registrazioni)
date_fromstringa-Data ISO 8601 - restituisce solo le registrazioni create in o dopo
date_tostringa-Data ISO 8601 - restituisce solo le registrazioni create in o prima
organization_idstringa-Limita a un’organizzazione
folder_idstringa-Limita a una cartella (richiede organization_id)
{
"data": [
{
"id": "uuid",
"status": "COMPLETED",
"title": "Sincronizzazione settimanale",
"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.

Le registrazioni dell’organizzazione sono disponibili a qualsiasi membro dell’organizzazione autorizzato a visualizzarle. I proprietari e gli amministratori possono aprire ogni registrazione nella loro organizzazione; gli editor e i visualizzatori vedono le registrazioni consentite dal loro ruolo e dall’accesso alla cartella. Per una registrazione dell’organizzazione, is_locked, download_url e capabilities riflettono il piano dell’organizzazione e i flag delle funzionalità del membro, non il piano personale del chiamante.

Restituisce 402 ORGANIZATION_SUBSCRIPTION_EXPIRED quando l’abbonamento Enterprise dell’organizzazione non è più attivo.

{
"data": {
"id": "uuid",
"status": "COMPLETED",
"title": "Sincronizzazione settimanale",
"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": "## Argomenti chiave\n...",
"topics": [
{
"title": "Cronologia del progetto",
"keyPoints": [
{ "point": "Data di lancio confermata", "details": ["Fissata per il 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.

Le registrazioni dell’organizzazione seguono le stesse regole di accesso di Ottieni registrazione. Restituisce 403 RECORDING_LOCKED quando la registrazione è bloccata e 403 TRANSCRIPT_NOT_AVAILABLE quando la trascrizione è disabilitata per l’organizzazione o il membro. Una registrazione che non è stata ancora trascritta restituisce comunque 200 con "status": "not_started" e un array segments vuoto.

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.

Per una registrazione dell’organizzazione, qualsiasi membro che può visualizzare la registrazione può creare il link. Il link viene creato per conto del proprietario della registrazione e utilizza il piano dell’organizzazione, quindi i link download funzionano per le registrazioni dell’organizzazione anche quando il piano personale del chiamante è gratuito. Restituisce 403 RECORDING_LOCKED quando la registrazione è bloccata e 403 SHARING_DISABLED quando la condivisione è disabilitata per l’organizzazione o il membro.

{
"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-call per registrare
RECORDINGRegistrazione attiva
UPLOADINGCaricamento lato client in corso (chunk in fase di scaricamento nello storage)
PROCESSINGCloudflare Stream sta confezionando HLS/DASH - non ancora riproducibile
MIGRATINGVideo completamente riproducibile; HLS in fase di migrazione verso l’archiviazione a lungo termine
COMPLETEDRegistrazione completamente elaborata e archiviata
ERRORRegistrazione fallita

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