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)
offsetnumber0Sidnumreringens förskjutning
searchstring-Filtrera efter titel (delvis matchning)
statusstring-Filtrera efter status (se Inspelningsstatusar)
date_fromstring-ISO 8601-datum - returnerar endast inspelningar skapade på eller efter
date_tostring-ISO 8601-datum - returnerar endast inspelningar skapade på eller före
organization_idstring-Omfattar en organisation
folder_idstring-Omfattar en mapp (kräver organization_id)
{
"data": [
{
"id": "uuid",
"status": "COMPLETED",
"title": "Veckosynk",
"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.

{
"data": {
"id": "uuid",
"status": "COMPLETED",
"title": "Veckosynk",
"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": "## Viktiga ämnen\n...",
"topics": [
{
"title": "Projekt tidslinje",
"keyPoints": [
{ "point": "Lanseringsdatum bekräftat", "details": ["Planerat 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.

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": "God morgon allihop.",
"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

Tar permanent bort en inspelning och all tillhörande data (transkript, sammanfattning, delningar).

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

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

Genererar en offentlig delningslänk för inspelningen.

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

StatusBeskrivning
STARTINGInspelningsbegäran mottagen, installation pågår
CONNECTINGAnsluter till Google Meet-sessionen
WAIT_APPROVALVäntar på godkännande i samtalet för att spela in
RECORDINGInspelning pågår aktivt
UPLOADINGUppladdning på klientsidan pågår (bitar dräneras till lagring)
PROCESSINGCloudflare Stream paketerar HLS/DASH - inte spelbar än
MIGRATINGVideo helt spelbar; HLS migreras till långtidslagring
COMPLETEDInspelning helt bearbetad och lagrad
ERRORInspelningen misslyckades

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