List messages in a project thread
GET/ai/projects/:project_id/threads/:thread_id/messages
Returns the conversation history of a thread — the user turns, the assistant turns, and the intermediate rows an agent produces such as thoughts, plans and charts. You need at least read-only access to the project.
Chart messages carry a presigned URL to the rendered plot in Content instead of the stored file key; that URL expires eight hours after the response is built.
Results are paged, oldest first by default. Increase offset by limit while next_available is the string "yes" and stop when it is "no".
Request
Responses
- 200
- 400
- 500
The messages on this page, together with count (messages in this response), total_count (messages matching the request before paging) and next_available. Page through by increasing offset by limit while next_available is the string "yes"; stop when it is "no". next_available is a string, not a boolean.
Response Headers
The request was invalid or you do not have permission. The body is {"Message": " - limit above 5000 (IPV-1050), or a malformed filterExpression (IPV-1004). Permission failures return 400, not 403.
Response Headers
An unexpected server error. The body is {"Message": "GE-1008 - Could not complete the request. Please try again."}. A sortby naming a field that some messages do not carry also surfaces here.