Update a project thread
PUT/ai/projects/:project_id/threads/:thread_id
Edits a thread or asks for a summary of it, depending on action. You need at least read-only access to the project and the ai.view permission.
With action=update, send any of Title, Keywords and Visibility. Omitted fields are left alone, Keywords replaces the existing list rather than adding to it, and Visibility can only go from private to public — sharing a thread cannot be undone. A body that changes nothing still succeeds.
With action=summarize, the thread needs at least two messages and the request body is ignored; send an empty object. The response returns straight away and the thread's SummaryGenerationStatus becomes triggered. Poll the thread detail endpoint for Summary and SummaryGenerationStatus.
Request
Responses
- 200
- 400
- 500
The request was accepted. The same message is returned whether the thread changed, nothing changed, or a summary was requested, so read the thread back if you need to confirm the new state.
Response Headers
The request was invalid or you do not have permission. The body is {"Message": " - action other than update or summarize (IPV-1041), setting Visibility to anything but public or trying to make a public thread private again (IPV-1041), asking to summarize a thread with fewer than two messages (AI-1008), an unknown project or thread (IPV-1002), no access to the project (AUTH-1012), a missing role_id header (AUTH-1001). A body that is not valid JSON returns a plain "Invalid input" message with no code. 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 failed write to the thread record surfaces as DB-1002.