API

Era mötesdata, i era egna system

Allt Diktly producerar går att hämta som JSON: möteslistan, sammanfattningarna, transkripten och uppgifterna. Bygg in det i intranätet, ärendesystemet eller er BI-rapportering. Ingår i Pro och Enterprise.

GET /api/v1/meetings · /api/v1/meetings/{id} · /api/v1/tasks

Kom igång

Från nyckel till första svaret

En administratör skapar nyckeln under Inställningar. Den visas en gång. Sedan är det ett vanligt REST-anrop.

curl https://diktly.se/api/v1/meetings?limit=2 \
  -H "Authorization: Bearer dk_er-nyckel-här"
{
  "data": [
    {
      "id": "8f0e…",
      "title": "Styrgruppsmöte juli",
      "status": "done",
      "platform": "teams",
      "startedAt": "2026-07-08T09:00:12.000Z",
      "endedAt": "2026-07-08T09:58:40.000Z",
      "updatedAt": "2026-07-08T10:12:31.000Z",
      "customerName": "Fjällvik",
      "folder": { "id": "3f2a…", "name": "Kunder" },
      "participants": [{ "name": "Anna", "email": "…" }],
      "durationSeconds": 3508
    }
  ],
  "nextCursor": "eyJ2IjoxLCJvY2N1cnJlZEF0…"
}

Endpoints

Tre anrop täcker det mesta

GET /api/v1/meetings

Möteslistan med titel, kund, status, plattform, tider, deltagare och längd. Sorterad på mötestid, nyast först.

  • limit

    Antal per sida. Standard 25, max 100.

  • cursor

    Paginering. Skicka nextCursor från förra svaret för nästa sida.

  • status

    Standard "done" (färdiga möten). "all" ger alla, eller ange en specifik status som "scheduled" eller "failed".

  • since

    ISO-tidpunkt. Returnerar bara möten som ändrats efter den, för inkrementell synk.

  • customer

    Kundnamn. Ger bara mötena med den kunden satt. Exakt namn, men skiftläge spelar ingen roll.

GET /api/v1/meetings/{id}

Allt om ett möte: sammanfattningen i Markdown, uppgifterna, deltagarna och talarnamnen. Lägg till ?include=transcript så följer hela transkriptet med, med talarnamnen insatta.

GET /api/v1/tasks

Uppgifter tvärs alla möten, med ansvarig, deadline, status och vilket möte de kommer från. Sorterade på senast ändrad.

  • status

    Standard "open". Även "completed" eller "all".

  • limit

    Antal per sida. Standard 100, max 500.

  • cursor

    Paginering, samma mönster som för möten.

  • since

    Bara uppgifter som ändrats efter tidpunkten.

Synk

Hämta bara det som är nytt

Alla objekt har ett updatedAt-fält som uppdateras vid varje ändring. Spara er senaste synktidpunkt och fråga med since, så slipper ni hämta om allt varje gång. Bockas en uppgift av syns det i nästa hämtning.

# Allt som ändrats sedan i går
curl "https://diktly.se/api/v1/tasks?status=all&since=2026-07-09T00:00:00Z" \
  -H "Authorization: Bearer dk_er-nyckel-här"

Säkerhet

Nycklar som går att lita på

En API-nyckel ger läsåtkomst till hela organisationens möten. Därför är hela livscykeln byggd för att en nyckel på avvägar ska göra så lite skada som möjligt.

  • Nycklar lagras hashade

    Diktly sparar aldrig nyckeln i klartext. Den visas en gång när den skapas, sedan syns bara ett prefix.

  • Återkallas direkt

    En administratör kan återkalla en nyckel när som helst. Den slutar gälla på nästa anrop.

  • Automatisk avstängning

    Lämnar personen som skapade nyckeln organisationen, eller förlorar sin adminroll, revokeras nyckeln automatiskt.

  • Kvoter

    300 anrop per 5 minuter och nyckel, 1000 per organisation. Vid överskriden kvot svarar API:t 429 med Retry-After.

  • Data i EU

    All data ligger i Stockholm och API:t svarar alltid över HTTPS utan cachning.

Felkoder

Svar ni kan bygga mot

Alla fel har samma form: en statuskod och ett error-fält i JSON. Nya fält kan tillkomma i svaren, men befintliga byter aldrig namn eller betydelse. Brytande ändringar publiceras som /api/v2.

  • 400

    Ogiltig parameter, till exempel en trasig cursor.

  • 401

    Saknad, felaktig eller återkallad nyckel.

  • 403

    Er plan saknar API-åtkomst.

  • 404

    Resursen finns inte, eller tillhör en annan organisation.

  • 429

    Kvoten nådd. Vänta enligt Retry-After-headern.

Vanliga frågor

API:t, rakt på sak

Vad kostar API:t?

Inget extra. API-åtkomst ingår i Pro och Enterprise. En administratör skapar nycklarna i inställningarna.

Kan vi skriva data via API:t?

Inte ännu. Version 1 är ett läsande API: ni hämtar möten, sammanfattningar, transkript och uppgifter. Vill ni i stället få data skickad till er automatiskt finns den signerade webhooken.

Hur håller vi vårt system i synk?

Alla objekt har ett updatedAt-fält. Spara er senaste synktidpunkt och anropa med ?since=, så får ni bara det som ändrats sedan dess. Även en uppgift som bockas av fångas upp.

Kan vi hämta alla möten för en viss kund?

Ja. Varje möte har ett kundfält (customerName) som sätts i Diktly, och möteslistan kan filtreras på det med ?customer=Fjällvik. Fältet är skilt från mappen: mappen är en gruppering som lika gärna kan heta ett projekt eller ett årtal, medan kundfältet alltid betyder kund.

Får vi ut transkriptet också?

Ja. Mötesdetaljen returnerar sammanfattning och uppgifter som standard, och hela transkriptet när ni lägger till ?include=transcript. Talarnamnen är redan insatta i texten.

Kan vi anropa API:t från webbläsaren?

Nej, och det är avsiktligt. Nyckeln ger läsåtkomst till hela organisationens möten och ska ligga på er server, aldrig i webbläsarkod. API:t har därför ingen CORS.

Vad händer om vi byter plan?

Nedgraderar ni till en plan utan API-åtkomst svarar API:t 403. Nycklarna finns kvar och börjar fungera igen om ni uppgraderar.

Vill ni bygga mot Diktly?

Har ni Pro eller Enterprise skapar ni en nyckel i inställningarna och kör i gång direkt. Osäkra på upplägget? Hör av er, så tittar vi på ert flöde tillsammans.