Docs
Get API key
todos

List todos

Returns the API key user's todos — their action-item inbox. Todos are captured manually in Klang or extracted from meetings by the AI. Defaults to open todos; pass status to include completed or dismissed ones. A todo linked to a conversation carries its conversation_id.

GET /api/v1/todos

Query parameters

limit
integer
Page size (max 100).
cursor
string
Cursor returned from a previous list response.
status
"open" · "done" · "dismissed" · "all"
Filter by status. Defaults to open. Pass all to include open, done, and dismissed.
due_before
string · date-time
Only todos due before this ISO 8601 date.
due_after
string · date-time
Only todos due on or after this ISO 8601 date.
conversation_id
string
Only the user's todos that belong to this conversation. For everyone's todos on a conversation, use GET /conversations/{id}.

Response fields

data
array of object
An action item in the API key user's inbox — captured manually in Klang or extracted from a meeting by the AI.
↳id
string
↳title
string · nullable
↳details
string · nullable
↳status
"open" · "done" · "dismissed"
Todo state. open = still to do, done = completed, dismissed = discarded by the user.
↳due_date
string · date · nullable
Due date if one was set, otherwise null.
↳created_at
string · date-time
↳completed_at
string · date-time · nullable
When the todo was marked done; null unless status is done.
↳conversation_id
string · nullable
The conversation this todo belongs to, or null for a personal todo not tied to any conversation.
↳assignee_id
string · nullable
User id of the person the todo is assigned to; resolve it with GET /members.
↳source
"manual" · "ai"
Whether the user wrote the todo (manual) or the AI extracted it (ai).
next_cursor
string · nullable
has_more
boolean