Skip to main content
API reference sections

Schema

ChatTranscript

Type object

Shape

FieldTypeDescription
chatrequiredChat
tool_policyrequiredChatToolPolicy
tool_activitiesarray of ToolActivity

Default []

noticesarray of AgentNotice

A local agent's status lines beside its replies, in the order they came (koru-ai D69).

messagesrequiredarray of Message
blocksrequiredarray of MessageBlock
pinned_documentsrequiredarray of PinnedDocument
feedbackarray of FeedbackEvent

Default []

usagearray of MessageUsage

Default []

sourcesarray of MessageSources

Default []

reasoning_controlReasoningControl or null

What the chat's current model offers as an effort control, so the chip can read and set it; None where the model advertises none.

agent_commandsarray of AgentCommandView or null

The live session's current command listing; an empty list is authoritative. None lets the composer use its short-lived bootstrap catalog.

attachmentsarray of ChatAttachment

Every attachment of the chat: those sent with a message, in message and ordinal order, then the staged ones not yet sent.

Default []

Example
{
  "chat": {
    "id": "00000000-0000-4000-8000-000000000000",
    "title": "string",
    "private": false,
    "current_model": {
      "provider": "string",
      "requested_model": "string",
      "default_reasoning": "default"
    },
    "branched_from": {
      "chat_id": "00000000-0000-4000-8000-000000000000",
      "through_message_id": "00000000-0000-4000-8000-000000000000"
    },
    "agent_working_folder": "string",
    "agent_mode": "string",
    "agent_fast": false,
    "pinned_at": 0,
    "profile_id": "00000000-0000-4000-8000-000000000000",
    "created_at": 0,
    "updated_at": 0
  },
  "tool_policy": {
    "chat_id": "00000000-0000-4000-8000-000000000000",
    "mode": "manual",
    "workspace_ids": [
      "00000000-0000-4000-8000-000000000000"
    ]
  },
  "tool_activities": [],
  "notices": [
    {
      "id": "00000000-0000-4000-8000-000000000000",
      "attempt_id": "00000000-0000-4000-8000-000000000000",
      "chat_id": "00000000-0000-4000-8000-000000000000",
      "assistant_message_id": "00000000-0000-4000-8000-000000000000",
      "text": "string",
      "text_offset": 0,
      "created_at": 0
    }
  ],
  "messages": [
    {
      "id": "00000000-0000-4000-8000-000000000000",
      "chat_id": "00000000-0000-4000-8000-000000000000",
      "ordinal": 0,
      "role": "user",
      "state": "pending",
      "markdown": "string",
      "origin_message_id": "00000000-0000-4000-8000-000000000000",
      "provider": "string",
      "requested_model": "string",
      "resolved_model": "string",
      "error_class": "configuration",
      "created_at": 0,
      "completed_at": 0
    }
  ],
  "blocks": [
    {
      "id": "00000000-0000-4000-8000-000000000000",
      "message_id": "00000000-0000-4000-8000-000000000000",
      "ordinal": 0,
      "kind": "paragraph",
      "markdown": "string",
      "plain_text": "string"
    }
  ],
  "pinned_documents": [
    {
      "chat_id": "00000000-0000-4000-8000-000000000000",
      "document_id": "00000000-0000-4000-8000-000000000000",
      "display_title": "string",
      "pinned": false,
      "first_used_at": 0,
      "last_used_at": 0
    }
  ],
  "feedback": [],
  "usage": [],
  "sources": [],
  "reasoning_control": {
    "kind": "unsupported"
  },
  "agent_commands": [
    {
      "name": "string",
      "description": "string",
      "display_name": "string",
      "kind": "command",
      "input_hint": "string"
    }
  ],
  "attachments": []
}

The contract has no example values, so example bodies are generated from each schema: every field is shown with a placeholder of its type.

Used by

Generated from contract version 1. Last updated .

Privacy choices

Choose which optional tools Koru may use on this site. Your choice is saved in a cookie in this browser for 12 months. Privacy policy

Privacy choices

Keep you signed in, protect forms and remember your language and this choice.

Always on

PostHog and Google Analytics 4 measure page views and actions such as downloads, using cookies or local storage.

PostHog records how pages are used, with form inputs masked and private pages excluded. Needs Analytics.

Ahrefs Web Analytics measures visits and where they come from, and Google Ads measures whether our ads led to a visit or download.