Messages
Get Messages
GET
Retrieves all messages in a thread. Messages queued by
sendMessage() or
queueMessage() that have not yet been injected into stored history are
included as pending messages with metadata.queued: true.
string
required
The unique thread identifier (UUID)
number
default:"100"
Maximum number of messages to return
string
Return messages before this message ID (for pagination)
string
Return messages after this message ID (for pagination)
boolean
default:"false"
Include silent messages (used for lifecycle/status/subagent communication)
array
required
Array of message objects
boolean
required
Whether more messages exist beyond the current page
Message Object
string
required
Unique message identifier
string
required
Message role:
"system", "user", "assistant", or "tool"string | null
required
Message content (null for tool calls without text)
string | null
Display name (e.g., agent label for assistant messages)
string | null
JSON string of tool calls made by assistant
string | null
ID linking tool result to its call (for tool role messages)
number
required
Unix timestamp in milliseconds
string
Message status:
"pending", "completed", or "failed". Queued messages are returned as "pending".number
Nesting depth for sub-prompt messages (0 for top-level)
array | null
Array of file attachments. Each attachment object:
id(string): Unique attachment identifiertype(string): Always"file"path(string): File path in thread storage (e.g.,/attachments/123-abc.jpg)name(string): Original filenamemimeType(string): MIME typewidth(number): Image width (images only)height(number): Image height (images only)
string | null
Subagent reference UUID associated with this message (when present)
string | null
Projected child agent name from parent registry
string | null
Projected child agent title from parent registry
string | null
Projected child runtime status (e.g.
running, idle, terminated, or custom)object | null
Message metadata. Runtime lifecycle markers may appear here (for example
status_kind). Queued messages include queued: true, queue_status: "queued", and queue_source until they are injected into stored history.