Docs
open_in_new Sign in Get API key
conversations

List conversations

Returns conversations the API key's user can see, ordered by created_at descending (newest first). Each list entry contains a short summary and source metadata (no source content). Call GET /conversations/{id} to fetch the full payload including source content.

GET /api/v1/conversations

Query parameters

limit
integer
Page size (max 100).
cursor
string
Cursor returned from a previous list response.
folder_id
string
Restrict to conversations in this folder. By default this includes any descendant subfolder; pass recursive=false for direct children only.
recursive
boolean
When folder_id is set, controls whether descendants are included. Default true (any depth); set false to limit to conversations whose immediate folder is folder_id.
status
"ready" · "pending" · "error" · "all"
Filter by status. Defaults to ready so that polling integrations don't see in-progress or failed conversations. Pass all to include every status.
created_after
string · date-time
Only return conversations created strictly after this timestamp. Use the created_at of the newest conversation from your previous sync as the next value. ISO 8601.
tag_id
array of string
Restrict to conversations carrying this tag. Repeat the parameter (?tag_id=a&tag_id=b) to match conversations that have any of the given tags. Get tag ids from GET /tags.

Response fields

data
array of object
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.
termination_reason
"not_admitted" · "verification_required" · "captcha_required" · nullable
When status is error because a meeting-bot recording was terminated before audio could be captured, this explains why. null for any other error (e.g. transcription failure) and for non-error states. - not_admitted — the bot was never let into the meeting (host didn't admit it from the lobby/waiting room within the timeout). - verification_required — the meeting platform asked the bot to complete email verification, which it can't do. - captcha_required — the meeting platform asked the bot to solve a CAPTCHA, which it can't do.
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.
tags
array of object
Tags applied to the conversation (AI suggestions the user hasn't accepted are not included). Empty when the conversation has no tags. Use GET /tags for the full catalog including descriptions.
id
string
name
string
color
string · nullable
Hex colour (e.g. #2E7D32), or null if the tag has no colour.
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. List responses return this minimal shape; use GET /conversations/{id} for the full version with title, added_at, content, participants, and calendar attendee emails.
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 (on Source). - 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.
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.
next_cursor
string · nullable
has_more
boolean