Zum Inhalt springen

Aufnahmen

GET /api/v1/recordings

Gibt eine paginierte Liste der Aufnahmen zurück, auf die der authentifizierte Benutzer zugreifen kann.

ParameterTypStandardBeschreibung
limitnumber20Anzahl der Ergebnisse (1–100)
offsetnumber0Paginierungs-Offset
searchstring-Nach Titel filtern (Teilübereinstimmung)
statusstring-Nach Status filtern (siehe Aufnahmestatus)
date_fromstring-ISO 8601 Datum - nur Aufnahmen zurückgeben, die an oder nach diesem Datum erstellt wurden
date_tostring-ISO 8601 Datum - nur Aufnahmen zurückgeben, die an oder vor diesem Datum erstellt wurden
organization_idstring-Auf eine Organisation beschränken
folder_idstring-Auf einen Ordner beschränken (erfordert organization_id)
{
"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
}
}

GET /api/v1/recordings/:id

Gibt alle Details für eine einzelne Aufnahme zurück.

{
"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
}
}
}

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

Gibt paginierte Transkriptsegmente für eine Aufnahme zurück.

ParameterTypStandardBeschreibung
start_chunknumber0Chunk-Index, ab dem gestartet werden soll
limitnumber50Anzahl der Chunks (1–100)
{
"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
}
}
}

PATCH /api/v1/recordings/:id

Aktualisiert den Titel oder die Notizen einer Aufnahme. Mindestens ein Feld ist erforderlich.

{
"title": "Neuer Titel (1–500 Zeichen)",
"notes": "Optionale Notizen (max. 100.000 Zeichen)"
}
{
"data": { "success": true }
}

DELETE /api/v1/recordings/:id

Löscht eine Aufnahme und alle zugehörigen Daten (Transkript, Zusammenfassung, Freigaben) dauerhaft.

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

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

Generiert einen öffentlichen Freigabelink für die Aufnahme.

{
"permission": "view"
}
WertBeschreibung
viewEmpfänger können das Video ansehen und auf Transkript/Zusammenfassung zugreifen
downloadEmpfänger können die Videodatei auch herunterladen
{
"data": {
"share_url": "https://recordmeeting.com/app/shared/abc123",
"share_token": "abc123",
"permission": "view"
}
}

StatusBeschreibung
STARTINGAufnahme-Anfrage empfangen, Einrichtung läuft
CONNECTINGVerbindung zur Google Meet-Sitzung wird hergestellt
WAIT_APPROVALWartet auf In-Call-Bestätigung zur Aufnahme
RECORDINGAufnahme läuft aktiv
UPLOADINGClientseitiger Upload läuft (Chunks werden in den Speicher geschrieben)
PROCESSINGCloudflare Stream HLS/DASH-Paketierung - noch nicht abspielbar
MIGRATINGVideo vollständig abspielbar; HLS wird in Langzeitspeicher migriert
COMPLETEDAufnahme vollständig verarbeitet und gespeichert
ERRORAufnahme fehlgeschlagen

API-Konsumenten sollten MIGRATING für Wiedergabe-, Download- und Freigabevorgänge identisch mit COMPLETED behandeln - die Unterscheidung ist intern.