Enregistrements
Lister les enregistrements
Section intitulée « Lister les enregistrements »GET /api/v1/recordingsRenvoie une liste paginée des enregistrements accessibles à l’utilisateur authentifié.
Paramètres de requête
Section intitulée « Paramètres de requête »| Paramètre | Type | Par défaut | Description |
|---|---|---|---|
limit | nombre | 20 | Nombre de résultats (1–100) |
offset | nombre | 0 | Décalage de pagination |
search | chaîne de caractères | - | Filtrer par titre (correspondance partielle) |
status | chaîne de caractères | - | Filtrer par statut (voir Statuts des enregistrements) |
date_from | chaîne de caractères | - | Date ISO 8601 - ne renvoyer que les enregistrements créés à partir du ou après le |
date_to | chaîne de caractères | - | Date ISO 8601 - ne renvoyer que les enregistrements créés avant ou à la date du |
organization_id | chaîne de caractères | - | Restreindre à une organisation |
folder_id | chaîne de caractères | - | Restreindre à un dossier (nécessite organization_id) |
{ "data": [ { "id": "uuid", "status": "COMPLETED", "title": "Synchronisation hebdomadaire", "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 }}Obtenir un enregistrement
Section intitulée « Obtenir un enregistrement »GET /api/v1/recordings/:idRenvoie les détails complets d’un seul enregistrement.
{ "data": { "id": "uuid", "status": "COMPLETED", "title": "Synchronisation hebdomadaire", "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 ou null", "transcription": { "status": "completed", "language": "en", "speakers": ["Interlocuteur 1", "Interlocuteur 2"], "segmentsCount": 184, "duration": 1740.5 }, "summary": { "status": "completed", "content": "## Sujets clés\n...", "topics": [ { "title": "Calendrier du projet", "keyPoints": [ { "point": "Date de lancement confirmée", "details": ["Fixée au 1er trimestre"] } ] } ] }, "isLocked": false, "capabilities": { "canDownload": true, "canShare": true, "canViewTranscription": true, "canStartTranscription": true, "canRegenerateTranscription": false, "canRenameSpeaker": true, "canViewSummary": true, "canGenerateSummary": true, "canAskQuestions": true } }}Obtenir les segments de transcription
Section intitulée « Obtenir les segments de transcription »GET /api/v1/recordings/:id/transcriptRenvoie les segments de transcription paginés d’un enregistrement.
Paramètres de requête
Section intitulée « Paramètres de requête »| Paramètre | Type | Par défaut | Description |
|---|---|---|---|
start_chunk | nombre | 0 | Index du fragment à partir duquel commencer |
limit | nombre | 50 | Nombre de fragments (1–100) |
{ "data": { "status": "completed", "language": "en", "speakers": ["Interlocuteur 1", "Alice"], "duration": 1740.5, "segments": [ { "id": 1, "start": 0.5, "end": 3.2, "text": "Bonjour tout le monde.", "speaker": "Alice", "confidence": 0.97 } ], "pagination": { "total_chunks": 184, "has_more": true } }}Mettre à jour l’enregistrement
Section intitulée « Mettre à jour l’enregistrement »PATCH /api/v1/recordings/:idMet à jour le titre ou les notes d’un enregistrement. Au moins un champ est requis.
Corps de la requête
Section intitulée « Corps de la requête »{ "title": "Nouveau titre (1 à 500 caractères)", "notes": "Notes facultatives (max 100 000 caractères)"}{ "data": { "success": true }}Supprimer l’enregistrement
Section intitulée « Supprimer l’enregistrement »DELETE /api/v1/recordings/:idSupprime définitivement un enregistrement et toutes les données associées (transcription, résumé, partages).
{ "data": { "success": true }}Créer un lien de partage
Section intitulée « Créer un lien de partage »POST /api/v1/recordings/:id/share-linkGénère un lien de partage public pour l’enregistrement.
Corps de la requête
Section intitulée « Corps de la requête »{ "permission": "view"}| Valeur | Description |
|---|---|
view | Les destinataires peuvent regarder la vidéo et accéder à la transcription/au résumé |
download | Les destinataires peuvent également télécharger le fichier vidéo |
{ "data": { "share_url": "https://recordmeeting.com/app/shared/abc123", "share_token": "abc123", "permission": "view" }}Statuts des enregistrements
Section intitulée « Statuts des enregistrements »| Statut | Description |
|---|---|
STARTING | Requête d’enregistrement reçue, configuration en cours |
CONNECTING | Connexion à la session Google Meet |
WAIT_APPROVAL | En attente d’approbation d’enregistrement en cours d’appel |
RECORDING | Enregistrement actif |
UPLOADING | Téléchargement côté client en cours (les extraits sont drainés vers le stockage) |
PROCESSING | Empaquetage Cloudflare Stream HLS/DASH - pas encore lisible |
MIGRATING | Vidéo entièrement lisible ; HLS en cours de migration vers un stockage à long terme |
COMPLETED | Enregistrement entièrement traité et stocké |
ERROR | Échec de l’enregistrement |
Les consommateurs d’API doivent traiter
MIGRATINGde manière identique àCOMPLETEDpour les opérations de lecture, de téléchargement et de partage - la distinction est interne.