Read conversation messages
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Returns the app's AI chat, both the messages sent to the AI and the replies it produced, oldest first.
An assistant message can have empty content when the whole turn is carried by tool calls, so treat an empty message as work the AI did rather than an error. Messages with hidden set to true are internal and do not appear in the app editor, so skip them to reconstruct the transcript shown there.
A tool call whose status is waiting_for_user_input means the AI has paused and cannot continue until that call is answered. Read its arguments_string to see what it is asking to do, then answer it with Submit tool-call input to let the turn continue. A waiting call carries its arguments in full, while a call that is not waiting can carry them cut short. The browser-typing tools are redacted either way, so a call from one of those cannot be reviewed before approving it.
<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>
Path parameters
ID of the app whose conversation to read.
ID of the app whose conversation to read.
Query parameters
Maximum number of messages to return, counted back from the newest. Omit to return the whole conversation.
Maximum number of messages to return, counted back from the newest. Omit to return the whole conversation.
Number of messages to skip, counted back from the newest. Combine with limit to page back through the conversation. For example, skip=20 with limit=20 returns the 20 messages before the 20 most recent.
Number of messages to skip, counted back from the newest. Combine with limit to page back through the conversation. For example, skip=20 with limit=20 returns the 20 messages before the 20 most recent.
Response
Successful Response
Example response
{
"id": "1f0c2b7a-9d51-4c3e-8a62-7b4d5e6f8a90",
"messages": [
{
"id": "7f3a1c88-52d4-4a0e-9b31-2c6f0d8e4a19",
"role": "assistant",
"content": "I added a contact form to the home page.",
"file_urls": [
"https://example.com/mockup.png"
],
"checkpoint_id": "6886b8d390dc7e2f4a2c91b3",
"tool_calls": [
{
"id": "toolu_01A9FJd3kP2mNqRs7VwXyZ4b",
"name": "create_file",
"status": "waiting_for_user_input",
"requires_user_input": true,
"arguments_string": "{\"file_path\": \"src/pages/Home.jsx\", \"content\": \"export default function Home() {}\"}"
}
],
"usage": {
"prompt_tokens": 18432,
"completion_tokens": 742,
"credits_charged": 1.5
},
"metadata": {
"created_date": "2026-08-02T14:30:00",
"created_by_email": "developer@example.com"
}
}
]
}Changes
No recorded changes to this endpoint across all 1 revision of this API.