Ga naar inhoud

Opnames

GET /api/v1/recordings

Geeft een gepagineerde lijst terug van opnames die toegankelijk zijn voor de geauthenticeerde gebruiker.

ParameterTypeStandaardBeschrijving
limitnumber20Aantal resultaten (1-100)
offsetnumber0Paginatie offset
searchstring-Filteren op titel (gedeeltelijke overeenkomst)
statusstring-Filteren op status (zie Opname statussen)
date_fromstring-ISO 8601 datum - alleen opnames retourneren die op of na deze datum zijn gemaakt
date_tostring-ISO 8601 datum - alleen opnames retourneren die op of voor deze datum zijn gemaakt
organization_idstring-Toepassingsgebied voor een organisatie
folder_idstring-Toepassingsgebied voor een map (vereist organization_id)
{
"data": [
{
"id": "uuid",
"status": "COMPLETED",
"title": "Wekelijkse synchronisatie",
"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

Retourneert volledige details voor een enkele opname.

{
"data": {
"id": "uuid",
"status": "COMPLETED",
"title": "Wekelijkse synchronisatie",
"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 of null",
"transcription": {
"status": "completed",
"language": "en",
"speakers": ["Spreker 1", "Spreker 2"],
"segmentsCount": 184,
"duration": 1740.5
},
"summary": {
"status": "completed",
"content": "## Hoofdpunten\n...",
"topics": [
{
"title": "Projecttijdlijn",
"keyPoints": [
{ "point": "Lanceerdatum bevestigd", "details": ["Vastgesteld voor 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

Retourneert gepagineerde transcript segmenten voor een opname.

ParameterTypeStandaardBeschrijving
start_chunknumber0Chunk index om vanaf te starten
limitnumber50Aantal chunks (1-100)
{
"data": {
"status": "completed",
"language": "en",
"speakers": ["Spreker 1", "Alice"],
"duration": 1740.5,
"segments": [
{
"id": 1,
"start": 0.5,
"end": 3.2,
"text": "Goedemorgen allemaal.",
"speaker": "Alice",
"confidence": 0.97
}
],
"pagination": {
"total_chunks": 184,
"has_more": true
}
}
}

PATCH /api/v1/recordings/:id

Werk de titel of notities van een opname bij. Minimaal één veld is vereist.

{
"title": "Nieuwe titel (1-500 tekens)",
"notes": "Optionele notities (max. 100.000 tekens)"
}
{
"data": { "success": true }
}

DELETE /api/v1/recordings/:id

Verwijdert permanent een opname en alle bijbehorende gegevens (transcript, samenvatting, shares).

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

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

Genereert een openbare deellink voor de opname.

{
"permission": "view"
}
WaardeBeschrijving
viewOntvangers kunnen de video bekijken en toegang krijgen tot het transcript/de samenvatting
downloadOntvangers kunnen ook het videobestand downloaden
{
"data": {
"share_url": "https://recordmeeting.com/app/shared/abc123",
"share_token": "abc123",
"permission": "view"
}
}

StatusBeschrijving
STARTINGOpnameverzoek ontvangen, instelling bezig
CONNECTINGVerbinding maken met de Google Meet-sessie
WAIT_APPROVALWachten op interne goedkeuring om op te nemen
RECORDINGActief aan het opnemen
UPLOADINGClient-side upload bezig (chunks worden naar opslag geleid)
PROCESSINGCloudflare Stream HLS/DASH pakketten aan het voorbereiden - nog niet afspeelbaar
MIGRATINGVideo volledig afspeelbaar; HLS wordt gemigreerd naar langetermijnopslag
COMPLETEDOpname volledig verwerkt en opgeslagen
ERROROpname mislukt

API-gebruikers moeten MIGRATING identiek behandelen aan COMPLETED voor afspeel-, download- en deelfuncties; het onderscheid is intern.