conversations
Retrieve a conversation
Returns the full conversation: metadata, the AI summary, and every attached source with its content rendered as text.
GET
/api/v1/conversations/{id} Path parameters
| idREQUIRED string | The conversation ID. |
Response fields
| id string | |
| title string · nullable | |
| created_at string · date-time | When the conversation was created in Klang. Use this as the
next created_after value for incremental sync.
|
| updated_at string · date-time | |
| status "pending" · "ready" · "error" · nullable | Processing state. Wait for ready before reading summary
or transcript content.
|
| folder_id string · nullable | ID of the immediate folder containing the conversation. null
for conversations at the workspace root.
|
| digest string · nullable | AI-generated short summary (≤80 characters) with the key names and topics, optimised to distinguish this conversation from similar ones. Present in both list and retrieve responses. |
| summary string · nullable | User-facing summary of the conversation: a short overview, then any topical sections and key principles as markdown bullets. |
| sources array of object | A piece of input attached to a conversation. Klang's summary and
analysis are derived from the conversation's full set of sources —
so this is what you read when you want to see what the AI was
working from. Most conversations have a transcript as their
primary source plus any extras the user attached.
Returned only by GET /conversations/{id}; list endpoints return
the lighter SourceLite shape instead.
|
| ↳id string | |
| ↳type "transcript" · "document" · "text" · "file" | What kind of input this source is.
- transcript — what was said in a recorded meeting. The full
speaker-labeled, time-stamped text is in content.
- document — a document authored inside Klang (agendas,
notes, decision logs, etc.).
- text — a snippet of plain text the user pasted into the
conversation.
- file — an uploaded file (PDF, slide deck, Word doc).
Extracted plain text is in content.
|
| ↳title string · nullable | |
| ↳added_at string · date-time · nullable | |
| ↳duration_seconds integer · nullable | Recording length. null for non-transcript sources. |
| ↳language string · nullable | ISO 639-3 code (e.g. eng, swe). null for non-transcript sources. |
| ↳meeting_url string · nullable | Join URL of the video meeting the transcript was recorded from
(Google Meet, Microsoft Teams, Zoom). null for transcripts
from uploaded files and for non-transcript sources.
|
| ↳content string · nullable | Plain-text rendering of the source. For transcripts this is
a speaker-labeled, time-stamped flat string. May be null if
content extraction failed for an uploaded file.
|
| ↳participants array of object | Speakers detected on the transcript. Empty array for
non-transcript sources. Returns the speaker label as stored — a
real name if the user has labeled the speaker in Klang, or a
raw label like Speaker 1 / Talare 1 if not.
|
| ↳name string | The speaker's name if labeled in Klang, otherwise the raw speaker label (e.g. Speaker 1). |