Aufnahmen
Aufnahmen auflisten
Abschnitt betitelt „Aufnahmen auflisten“GET /api/v1/recordingsGibt eine paginierte Liste der Aufnahmen zurück, auf die der authentifizierte Benutzer zugreifen kann.
Abfrageparameter
Abschnitt betitelt „Abfrageparameter“| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
limit | number | 20 | Anzahl der Ergebnisse (1–100) |
offset | number | 0 | Paginierungs-Offset |
search | string | - | Nach Titel filtern (Teilübereinstimmung) |
status | string | - | Nach Status filtern (siehe Aufnahmestatus) |
date_from | string | - | ISO 8601 Datum - nur Aufnahmen zurückgeben, die an oder nach diesem Datum erstellt wurden |
date_to | string | - | ISO 8601 Datum - nur Aufnahmen zurückgeben, die an oder vor diesem Datum erstellt wurden |
organization_id | string | - | Auf eine Organisation beschränken |
folder_id | string | - | Auf einen Ordner beschränken (erfordert organization_id) |
Antwort
Abschnitt betitelt „Antwort“{ "data": [ { "id": "uuid", "status": "COMPLETED", "title": "Wöchentliche Synchronisation", "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 }}Aufnahme abrufen
Abschnitt betitelt „Aufnahme abrufen“GET /api/v1/recordings/:idGibt alle Details für eine einzelne Aufnahme zurück.
Antwort
Abschnitt betitelt „Antwort“{ "data": { "id": "uuid", "status": "COMPLETED", "title": "Wöchentliche Synchronisation", "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 oder null", "transcription": { "status": "completed", "language": "en", "speakers": ["Sprecher 1", "Sprecher 2"], "segmentsCount": 184, "duration": 1740.5 }, "summary": { "status": "completed", "content": "## Hauptthemen\n...", "topics": [ { "title": "Projektzeitplan", "keyPoints": [ { "point": "Starttermin bestätigt", "details": ["Festgelegt für Q1"] } ] } ] }, "isLocked": false, "capabilities": { "canDownload": true, "canShare": true, "canViewTranscription": true, "canStartTranscription": true, "canRegenerateTranscription": false, "canRenameSpeaker": true, "canViewSummary": true, "canGenerateSummary": true, "canAskQuestions": true } }}Transkriptsegmente abrufen
Abschnitt betitelt „Transkriptsegmente abrufen“GET /api/v1/recordings/:id/transcriptGibt paginierte Transkriptsegmente für eine Aufnahme zurück.
Abfrageparameter
Abschnitt betitelt „Abfrageparameter“| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
start_chunk | number | 0 | Chunk-Index, ab dem gestartet werden soll |
limit | number | 50 | Anzahl der Chunks (1–100) |
Antwort
Abschnitt betitelt „Antwort“{ "data": { "status": "completed", "language": "en", "speakers": ["Sprecher 1", "Alice"], "duration": 1740.5, "segments": [ { "id": 1, "start": 0.5, "end": 3.2, "text": "Guten Morgen zusammen.", "speaker": "Alice", "confidence": 0.97 } ], "pagination": { "total_chunks": 184, "has_more": true } }}Aufnahme aktualisieren
Abschnitt betitelt „Aufnahme aktualisieren“PATCH /api/v1/recordings/:idAktualisiert den Titel oder die Notizen einer Aufnahme. Mindestens ein Feld ist erforderlich.
Anfragetext
Abschnitt betitelt „Anfragetext“{ "title": "Neuer Titel (1–500 Zeichen)", "notes": "Optionale Notizen (max. 100.000 Zeichen)"}Antwort
Abschnitt betitelt „Antwort“{ "data": { "success": true }}Aufnahme löschen
Abschnitt betitelt „Aufnahme löschen“DELETE /api/v1/recordings/:idLöscht eine Aufnahme und alle zugehörigen Daten (Transkript, Zusammenfassung, Freigaben) dauerhaft.
Antwort
Abschnitt betitelt „Antwort“{ "data": { "success": true }}Freigabelink erstellen
Abschnitt betitelt „Freigabelink erstellen“POST /api/v1/recordings/:id/share-linkGeneriert einen öffentlichen Freigabelink für die Aufnahme.
Anfragetext
Abschnitt betitelt „Anfragetext“{ "permission": "view"}| Wert | Beschreibung |
|---|---|
view | Empfänger können das Video ansehen und auf Transkript/Zusammenfassung zugreifen |
download | Empfänger können die Videodatei auch herunterladen |
Antwort
Abschnitt betitelt „Antwort“{ "data": { "share_url": "https://recordmeeting.com/app/shared/abc123", "share_token": "abc123", "permission": "view" }}Aufnahmestatus
Abschnitt betitelt „Aufnahmestatus“| Status | Beschreibung |
|---|---|
STARTING | Aufnahme-Anfrage empfangen, Einrichtung läuft |
CONNECTING | Verbindung zur Google Meet-Sitzung wird hergestellt |
WAIT_APPROVAL | Wartet auf In-Call-Bestätigung zur Aufnahme |
RECORDING | Aufnahme läuft aktiv |
UPLOADING | Clientseitiger Upload läuft (Chunks werden in den Speicher geschrieben) |
PROCESSING | Cloudflare Stream HLS/DASH-Paketierung - noch nicht abspielbar |
MIGRATING | Video vollständig abspielbar; HLS wird in Langzeitspeicher migriert |
COMPLETED | Aufnahme vollständig verarbeitet und gespeichert |
ERROR | Aufnahme fehlgeschlagen |
API-Konsumenten sollten
MIGRATINGfür Wiedergabe-, Download- und Freigabevorgänge identisch mitCOMPLETEDbehandeln - die Unterscheidung ist intern.