Hoppa till innehåll

Inspelningar

GET /api/v1/recordings

Returnerar en paginerad lista över inspelningar som är tillgängliga för den autentiserade användaren.

ParameterTypStandardBeskrivning
limitnumber20Antal resultat (1–100)
offsetnumber0Pagineringsoffset
searchstring-Filtrera efter titel (delvis matchning)
statusstring-Filtrera efter status (se Inspelningars statusar)
date_fromstring-ISO 8601-datum - returnera endast inspelningar skapade på eller efter
date_tostring-ISO 8601-datum - returnera endast inspelningar skapade på eller före
organization_idstring-Omfattning till en organisation
folder_idstring-Omfattning till en mapp (kräver organization_id)
{
"data": [
{
"id": "uuid",
"status": "COMPLETED",
"title": "Veckosynkronisering",
"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

Returnerar fullständig information för en enskild inspelning.

Organisationsinspelningar är tillgängliga för alla organisationsmedlemmar som har behörighet att se dem. Ägare och administratörer kan öppna alla inspelningar i sin organisation; redigerare och tittare ser de inspelningar som deras roll och mappåtkomst tillåter. För en organisationsinspelning återspeglar is_locked, download_url och capabilities organisationens plan och medlemmens funktionsflaggor, inte den som ringer.

Returnerar 402 ORGANIZATION_SUBSCRIPTION_EXPIRED när organisationens företagsabonnemang inte längre är aktivt.

{
"data": {
"id": "uuid",
"status": "COMPLETED",
"title": "Veckosynkronisering",
"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": ["Talare 1", "Talare 2"],
"segmentsCount": 184,
"duration": 1740.5
},
"summary": {
"status": "completed",
"content": "## Nyckelämnen\n...",
"topics": [
{
"title": "Projekttidslinje",
"keyPoints": [
{ "point": "Lanseringsdatum bekräftat", "details": ["Fastställt till 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

Returnerar paginerade transkriptionssegment för en inspelning.

Organisationsinspelningar följer samma åtkomstregler som Hämta inspelning. Returnerar 403 RECORDING_LOCKED när inspelningen är låst och 403 TRANSCRIPT_NOT_AVAILABLE när transkription är inaktiverad för organisationen eller medlemmen. En inspelning som ännu inte har transkriberats returnerar fortfarande 200 med "status": "not_started" och en tom segments-array.

ParameterTypStandardBeskrivning
start_chunknumber0Chunk-index att börja från
limitnumber50Antal chunks (1–100)
{
"data": {
"status": "completed",
"language": "en",
"speakers": ["Talare 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

Uppdatera titeln eller anteckningarna för en inspelning. Minst ett fält krävs.

{
"title": "Ny titel (1–500 tecken)",
"notes": "Valfria anteckningar (max 100 000 tecken)"
}
{
"data": { "success": true }
}

DELETE /api/v1/recordings/:id

Raderar permanent en inspelning och all tillhörande data (transkription, sammanfattning, delningar).

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

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

Genererar en offentlig delningslänk för inspelningen.

För en organisationsinspelning kan vilken medlem som helst som kan se inspelningen skapa länken. Länken skapas på inspelningens ägares vägnar och använder organisationens plan, så download-länkar fungerar för organisationsinspelningar även när den som ringer har en personlig gratisplan. Returnerar 403 RECORDING_LOCKED när inspelningen är låst och 403 SHARING_DISABLED när delning är inaktiverad för organisationen eller medlemmen.

{
"permission": "view"
}
VärdeBeskrivning
viewMottagare kan titta på videon och få tillgång till transkription/sammanfattning
downloadMottagare kan även ladda ner videofilen
{
"data": {
"share_url": "https://recordmeeting.com/app/shared/abc123",
"share_token": "abc123",
"permission": "view"
}
}

StatusBeskrivning
STARTINGInspelningsförfrågan mottagen, inställning pågår
CONNECTINGAnsluter till Google Meet-sessionen
WAIT_APPROVALVäntar på godkännande i samtalet för att spela in
RECORDINGAktivt inspelning
UPLOADINGUppladdning från klienten pågår (chunks dräneras till lagring)
PROCESSINGCloudflare Stream paketerar HLS/DASH - ännu inte spelbar
MIGRATINGVideo helt spelbar; HLS migreras till långtidslagring
COMPLETEDInspelningen helt bearbetad och lagrad
ERRORInspelningen misslyckades

API-konsumenter bör behandla MIGRATING identiskt med COMPLETED för uppspelning, nedladdning och delning - skillnaden är intern.