Fetch every message in the list’s agent transcript — user turns, assistant replies, tool calls, tool results.
list_messages for the given list, ordered oldest → newest. Each entry carries:
role — user, assistant, system, or tool.content — natural-language text, or null for pure tool-call / tool-result turns.toolCalls — array of tool calls emitted by the assistant on this turn, or null.toolResult — record of the tool’s result for tool-role turns, or null.createdAt — ISO 8601 timestamp.streamListChat. The server reconstructs the agent’s working memory from this transcript on every turn (profile data is serialized into HTML comments embedded in assistant messages), so editing or deleting messages via direct DB access will change the agent’s behavior on the next turn.
streamListChat if the client has been idle long enough that its in-memory copy may be stale.createdAt. The server also persists in that order, so you can trust index positions across calls.Working memory is embedded in content. Assistant messages may contain <!-- PROFILE_DATA:...:END_PROFILE_DATA --> blocks. These are agent-internal state — render them as empty space, or strip them before displaying to the user.No pagination. The full transcript is returned in one shot. For very long-running lists this can be large, but the cap is the model’s context window applied server-side when the next turn runs, not this read endpoint.404 vs. empty. A list with no messages returns 200 { "messages": [] }. A 404 means the list doesn’t exist or isn’t owned by the caller.Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
List UUID
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Full message history for the list.
All messages for this list, oldest first.