GET
/conversations/{conversation_id}/items/{item_id}Get a conversation item
Retrieves a single item from a conversation by its identifier. Use the include parameter to request additional nested data such as search results or code outputs.
conversation_idstringrequired
The unique identifier of the conversation containing the item.
item_idstringrequired
The unique identifier of the item to retrieve.
includearray<string>optional
Additional fields to include in the response, such as search results, code outputs, image URLs, or reasoning content. Specify as an array of field names.
200Returns the conversation item object, which may be a message, tool call, output, or other item type.
typestringrequired
The type of the message. Always set to `message`.
idstringrequired
The unique ID of the message.
statusstringrequired
The status of item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API.
rolestringrequired
The role of the message. One of `unknown`, `user`, `assistant`, `system`, `critic`, `discriminator`, `developer`, or `tool`.
contentarray<InputText>required
The content of the message
phasestringoptional
Labels an `assistant` message as intermediate commentary (`commentary`) or the final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when sending follow-up requests, preserve and resend phase on all assistant messages — dropping it can degrade performance. Not used for user messages.
429Returned when the request rate limit is exceeded.
errorobjectrequired
Error handling
A 429 is returned when the request rate limit is exceeded. Both conversation_id and item_id must identify existing resources.