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.
The unique thread identifier (UUID)
Maximum number of messages to return
Return messages before this message ID (for pagination)
Return messages after this message ID (for pagination)
Include silent messages (used for lifecycle/status/subagent communication)
Array of message objects
Whether more messages exist beyond the current page
Message Object
Unique message identifier
Message role:
"system", "user", "assistant", or "tool"Message content (null for tool calls without text)
Display name (e.g., agent label for assistant messages)
JSON string of tool calls made by assistant
ID linking tool result to its call (for tool role messages)
Unix timestamp in milliseconds
Message status:
"pending", "completed", or "failed". Queued messages are returned as "pending".Nesting depth for sub-prompt messages (0 for top-level)
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)
Subagent reference UUID associated with this message (when present)
Projected child agent name from parent registry
Projected child agent title from parent registry
Projected child runtime status (e.g.
running, idle, terminated, or custom)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.