Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

Retrieve an item

conversations.items.retrieve(item_id, **kwargs) -> ConversationItem
GET/conversations/{conversation_id}/items/{item_id}

Get a single item from a conversation with the given IDs.

ParametersExpand Collapse
conversation_id: String
item_id: String
include: Array[ResponseIncludable]

Additional fields to include in the response. See the include parameter for listing Conversation items above for more information.

ReturnsExpand Collapse
ConversationItem = Message { id, content, role, 3 more } | ResponseFunctionToolCallItem { id, status, created_by } | ResponseFunctionToolCallOutputItem { id, call_id, output, 6 more } | 25 more

A single item within a conversation. The set of possible types are the same as the output type of a Response object.

One of the following:
class Message { id, content, role, 3 more }

A message to or from the model.

class ResponseFunctionToolCallItem { id, status, created_by }

A tool call to run a function. See the function calling guide for more information.

class ResponseFunctionToolCallOutputItem { id, call_id, output, 6 more }
class ResponseFileSearchToolCall { id, queries, status, 2 more }

The results of a file search tool call. See the file search guide for more information.

class ImageGenerationCall { id, result, status, type }

An image generation request made by the model.

class ResponseComputerToolCall { id, call_id, pending_safety_checks, 4 more }

A tool call to a computer use tool. See the computer use guide for more information.

class ResponseComputerToolCallOutputItem { id, call_id, output, 4 more }
class ResponseToolSearchCall { id, arguments, call_id, 4 more }
class ResponseToolSearchOutputItem { id, call_id, execution, 4 more }
class AdditionalTools { id, role, tools, type }
class ResponseReasoningItem { id, summary, type, 3 more }

A description of the chain of thought used by a reasoning model while generating a response. Be sure to include these items in your input to the Responses API for subsequent turns of a conversation if you are manually managing context.

class Program { id, call_id, code, 2 more }
class ProgramOutput { id, call_id, result, 2 more }
class ResponseCompactionItem { id, encrypted_content, type, created_by }

A compaction item generated by the v1/responses/compact API.

class ResponseCodeInterpreterToolCall { id, code, container_id, 3 more }

A tool call to run code.

class LocalShellCall { id, action, call_id, 2 more }

A tool call to run a command on the local shell.

class LocalShellCallOutput { id, output, type, status }

The output of a local shell tool call.

class ResponseFunctionShellToolCall { id, action, call_id, 5 more }

A tool call that executes one or more shell commands in a managed environment.

class ResponseFunctionShellToolCallOutput { id, call_id, max_output_length, 5 more }

The output of a shell tool call that was emitted.

class ResponseApplyPatchToolCall { id, call_id, operation, 4 more }

A tool call that applies file diffs by creating, deleting, or updating files.

class ResponseApplyPatchToolCallOutput { id, call_id, status, 4 more }

The output emitted by an apply patch tool call.

class McpListTools { id, server_label, tools, 2 more }

A list of tools available on an MCP server.

class McpApprovalRequest { id, arguments, name, 2 more }

A request for human approval of a tool invocation.

class McpApprovalResponse { id, approval_request_id, approve, 2 more }

A response to an MCP approval request.

class McpCall { id, arguments, name, 6 more }

An invocation of a tool on an MCP server.

class ResponseCustomToolCall { call_id, input, name, 4 more }

A call to a custom tool created by the model.

class ResponseCustomToolCallOutput { call_id, output, type, 2 more }

The output of a custom tool call from your code, being sent back to the model.

Retrieve an item

require "openai"

openai = OpenAI::Client.new(api_key: "My API Key")

conversation_item = openai.conversations.items.retrieve("msg_abc", conversation_id: "conv_123")

puts(conversation_item)
{
  "type": "message",
  "id": "msg_abc",
  "status": "completed",
  "role": "user",
  "content": [
    {"type": "input_text", "text": "Hello!"}
  ]
}
Returns Examples
{
  "type": "message",
  "id": "msg_abc",
  "status": "completed",
  "role": "user",
  "content": [
    {"type": "input_text", "text": "Hello!"}
  ]
}