FLOW_API_URL, FLOW_CUSTOMER, and FLOW_API_KEY variables from the quickstart, and the PROJECT_ID from Read entities. Set ENTITY_ID to the item or branch ID whose discussion you want. Set BRANCH_ID to the branch you are reading or posting on, or master for Base.
How thread IDs work
TheentityId path parameter changes meaning with the task:
Always reply with the original comment’s ID, even when you answer a later reply. If comment A starts a thread and B replies to A, answer B with
entityId set to A. Using B creates a deeper nested reply. The API accepts it, but thread cards and AI thread reads in Flow do not consistently include deeper replies.
Comments are scoped to a branch. Send the same branch_id on every list call and every post. Flow does not inherit the branch from the original comment. Omit branch_id or pass master for Base.
List conversations
List the comments that start conversations on an item or branch. Replies are not embedded in this list. Addinclude_resolved=true to include resolved threads.
THREAD_ID to the id of the conversation you want to read or join.
Read the replies
Call the same list endpoint with the original comment’s ID asentityId. Flow returns its direct replies, oldest first. Each reply’s entity_id is the original comment’s ID.
Reply in the thread
Post to the original comment’s ID withtext and the same branch_id. Flow returns 201 with the new comment. Posting a reply does not resolve or reopen the thread.
ENTITY_ID with the same body.
Resolve the conversation
Update the original comment to resolve or reopen the whole thread. Pass the original comment’s ID ascommentId and its entity_id as entityId. For a conversation starter, entity_id is the item or branch ID. Send resolved: false to reopen.
PATCH request edits a comment’s text. Only the author can delete a comment. Updates and deletes return 409 when the comment is busy with another write or is an immutable review explanation.