Create a conversation
Create a conversation.
ParametersExpand Collapse
ConversationCreateParams params
Initial items to include in the conversation context. You may add up to 20 items at a time.
Initial items to include in the conversation context. You may add up to 20 items at a time.
class EasyInputMessage:A message input to the model with a role indicating instruction following
hierarchy. Instructions given with the developer or system role take
precedence over instructions given with the user role. Messages with the
assistant role are presumed to have been generated by the model in previous
interactions.
A message input to the model with a role indicating instruction following
hierarchy. Instructions given with the developer or system role take
precedence over instructions given with the user role. Messages with the
assistant role are presumed to have been generated by the model in previous
interactions.
Content contentText, image, or audio input to the model, used to generate a response.
Can also contain previous assistant responses.
Text, image, or audio input to the model, used to generate a response. Can also contain previous assistant responses.
List<ResponseInputContent>
class ResponseInputText:A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
class ResponseInputImage:An image input to the model. Learn about image inputs.
An image input to the model. Learn about image inputs.
Detail detailThe detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
The type of the input item. Always input_image.
The ID of the file to be sent to the model.
The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL.
class ResponseInputFile:A file input to the model.
A file input to the model.
The type of the input item. Always input_file.
The content of the file to be sent to the model.
The ID of the file to be sent to the model.
The URL of the file to be sent to the model.
The name of the file to be sent to the model.
Role roleThe role of the message input. One of user, assistant, system, or
developer.
The role of the message input. One of user, assistant, system, or
developer.
The type of the message input. Always message.
Message
List<ResponseInputContent> contentA list of one or many input items to the model, containing different content
types.
A list of one or many input items to the model, containing different content types.
class ResponseInputText:A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
class ResponseInputImage:An image input to the model. Learn about image inputs.
An image input to the model. Learn about image inputs.
Detail detailThe detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
The type of the input item. Always input_image.
The ID of the file to be sent to the model.
The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL.
class ResponseInputFile:A file input to the model.
A file input to the model.
The type of the input item. Always input_file.
The content of the file to be sent to the model.
The ID of the file to be sent to the model.
The URL of the file to be sent to the model.
The name of the file to be sent to the model.
Role roleThe role of the message input. One of user, system, or developer.
The role of the message input. One of user, system, or developer.
Optional<Status> statusThe status of item. One of in_progress, completed, or
incomplete. Populated when items are returned via API.
The status of item. One of in_progress, completed, or
incomplete. Populated when items are returned via API.
The type of the message input. Always set to message.
class ResponseOutputMessage:An output message from the model.
An output message from the model.
The unique ID of the output message.
List<Content> contentThe content of the output message.
The content of the output message.
class ResponseOutputText:A text output from the model.
A text output from the model.
List<Annotation> annotationsThe annotations of the text output.
The annotations of the text output.
class FileCitation:A citation to a file.
A citation to a file.
The ID of the file.
The filename of the file cited.
The index of the file in the list of files.
The type of the file citation. Always file_citation.
class UrlCitation:A citation for a web resource used to generate a model response.
A citation for a web resource used to generate a model response.
The index of the last character of the URL citation in the message.
The index of the first character of the URL citation in the message.
The title of the web resource.
The type of the URL citation. Always url_citation.
The URL of the web resource.
class ContainerFileCitation:A citation for a container file used to generate a model response.
A citation for a container file used to generate a model response.
The ID of the container file.
The index of the last character of the container file citation in the message.
The ID of the file.
The filename of the container file cited.
The index of the first character of the container file citation in the message.
The type of the container file citation. Always container_file_citation.
class FilePath:A path to a file.
A path to a file.
The ID of the file.
The index of the file in the list of files.
The type of the file path. Always file_path.
The text output from the model.
The type of the output text. Always output_text.
Optional<List<Logprob>> logprobs
List<TopLogprob> topLogprobs
class ResponseOutputRefusal:A refusal from the model.
A refusal from the model.
The refusal explanation from the model.
The type of the refusal. Always refusal.
The role of the output message. Always assistant.
Status statusThe status of the message input. One of in_progress, completed, or
incomplete. Populated when input items are returned via API.
The status of the message input. One of in_progress, completed, or
incomplete. Populated when input items are returned via API.
The type of the output message. Always message.
class ResponseFileSearchToolCall:The results of a file search tool call. See the
file search guide for more information.
The results of a file search tool call. See the file search guide for more information.
The unique ID of the file search tool call.
The queries used to search for files.
Status statusThe status of the file search tool call. One of in_progress,
searching, incomplete or failed,
The status of the file search tool call. One of in_progress,
searching, incomplete or failed,
The type of the file search tool call. Always file_search_call.
Optional<List<Result>> resultsThe results of the file search tool call.
The results of the file search tool call.
Optional<Attributes> attributesSet of 16 key-value pairs that can be attached to an object. This can be
useful for storing additional information about the object in a structured
format, and querying for objects via API or the dashboard. Keys are strings
with a maximum length of 64 characters. Values are strings with a maximum
length of 512 characters, booleans, or numbers.
Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard. Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters, booleans, or numbers.
The unique ID of the file.
The name of the file.
The relevance score of the file - a value between 0 and 1.
The text that was retrieved from the file.
class ResponseComputerToolCall:A tool call to a computer use tool. See the
computer use guide for more information.
A tool call to a computer use tool. See the computer use guide for more information.
The unique ID of the computer call.
Action actionA click action.
A click action.
class Click:A click action.
A click action.
Button buttonIndicates which mouse button was pressed during the click. One of left, right, wheel, back, or forward.
Indicates which mouse button was pressed during the click. One of left, right, wheel, back, or forward.
Specifies the event type. For a click action, this property is always click.
The x-coordinate where the click occurred.
The y-coordinate where the click occurred.
class DoubleClick:A double click action.
A double click action.
Specifies the event type. For a double click action, this property is always set to double_click.
The x-coordinate where the double click occurred.
The y-coordinate where the double click occurred.
class Drag:A drag action.
A drag action.
List<Path> pathAn array of coordinates representing the path of the drag action. Coordinates will appear as an array of objects, eg
[
{ x: 100, y: 200 },
{ x: 200, y: 300 }
]
An array of coordinates representing the path of the drag action. Coordinates will appear as an array of objects, eg
[
{ x: 100, y: 200 },
{ x: 200, y: 300 }
]The x-coordinate.
The y-coordinate.
Specifies the event type. For a drag action, this property is always set to drag.
class Keypress:A collection of keypresses the model would like to perform.
A collection of keypresses the model would like to perform.
The combination of keys the model is requesting to be pressed. This is an array of strings, each representing a key.
Specifies the event type. For a keypress action, this property is always set to keypress.
class Move:A mouse move action.
A mouse move action.
Specifies the event type. For a move action, this property is always set to move.
The x-coordinate to move to.
The y-coordinate to move to.
JsonValue;
Specifies the event type. For a screenshot action, this property is always set to screenshot.
class Scroll:A scroll action.
A scroll action.
The horizontal scroll distance.
The vertical scroll distance.
Specifies the event type. For a scroll action, this property is always set to scroll.
The x-coordinate where the scroll occurred.
The y-coordinate where the scroll occurred.
class Type:An action to type in text.
An action to type in text.
The text to type.
Specifies the event type. For a type action, this property is always set to type.
JsonValue;
Specifies the event type. For a wait action, this property is always set to wait.
An identifier used when responding to the tool call with output.
List<PendingSafetyCheck> pendingSafetyChecksThe pending safety checks for the computer call.
The pending safety checks for the computer call.
The ID of the pending safety check.
The type of the pending safety check.
Details about the pending safety check.
Status statusThe status of the item. One of in_progress, completed, or
incomplete. Populated when items are returned via API.
The status of the item. One of in_progress, completed, or
incomplete. Populated when items are returned via API.
The type of the computer call. Always computer_call.
ComputerCallOutput
The ID of the computer tool call that produced the output.
A computer screenshot image used with the computer use tool.
A computer screenshot image used with the computer use tool.
Specifies the event type. For a computer screenshot, this property is
always set to computer_screenshot.
The identifier of an uploaded file that contains the screenshot.
The URL of the screenshot image.
The type of the computer tool call output. Always computer_call_output.
The ID of the computer tool call output.
Optional<List<AcknowledgedSafetyCheck>> acknowledgedSafetyChecksThe safety checks reported by the API that have been acknowledged by the developer.
The safety checks reported by the API that have been acknowledged by the developer.
The ID of the pending safety check.
The type of the pending safety check.
Details about the pending safety check.
Optional<Status> statusThe status of the message input. One of in_progress, completed, or incomplete. Populated when input items are returned via API.
The status of the message input. One of in_progress, completed, or incomplete. Populated when input items are returned via API.
class ResponseFunctionWebSearch:The results of a web search tool call. See the
web search guide for more information.
The results of a web search tool call. See the web search guide for more information.
The unique ID of the web search tool call.
Action actionAn object describing the specific action taken in this web search call.
Includes details on how the model used the web (search, open_page, find_in_page).
An object describing the specific action taken in this web search call. Includes details on how the model used the web (search, open_page, find_in_page).
class Search:Action type "search" - Performs a web search query.
Action type "search" - Performs a web search query.
[DEPRECATED] The search query.
The action type.
The search queries.
Optional<List<Source>> sourcesThe sources used in the search.
The sources used in the search.
The type of source. Always url.
The URL of the source.
class OpenPage:Action type "open_page" - Opens a specific URL from search results.
Action type "open_page" - Opens a specific URL from search results.
The action type.
The URL opened by the model.
class FindInPage:Action type "find_in_page": Searches for a pattern within a loaded page.
Action type "find_in_page": Searches for a pattern within a loaded page.
The pattern or text to search for within the page.
The action type.
The URL of the page searched for the pattern.
Status statusThe status of the web search tool call.
The status of the web search tool call.
The type of the web search tool call. Always web_search_call.
class ResponseFunctionToolCall:A tool call to run a function. See the
function calling guide for more information.
A tool call to run a function. See the function calling guide for more information.
A JSON string of the arguments to pass to the function.
The unique ID of the function tool call generated by the model.
The name of the function to run.
The type of the function tool call. Always function_call.
The unique ID of the function tool call.
Optional<Status> statusThe status of the item. One of in_progress, completed, or
incomplete. Populated when items are returned via API.
The status of the item. One of in_progress, completed, or
incomplete. Populated when items are returned via API.
FunctionCallOutput
The unique ID of the function tool call generated by the model.
Output outputText, image, or file output of the function tool call.
Text, image, or file output of the function tool call.
class ResponseInputTextContent:A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
class ResponseInputImageContent:An image input to the model. Learn about image inputs
An image input to the model. Learn about image inputs
The type of the input item. Always input_image.
Optional<Detail> detailThe detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
The ID of the file to be sent to the model.
The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL.
class ResponseInputFileContent:A file input to the model.
A file input to the model.
The type of the input item. Always input_file.
The base64-encoded data of the file to be sent to the model.
The ID of the file to be sent to the model.
The URL of the file to be sent to the model.
The name of the file to be sent to the model.
The type of the function tool call output. Always function_call_output.
The unique ID of the function tool call output. Populated when this item is returned via API.
Optional<Status> statusThe status of the item. One of in_progress, completed, or incomplete. Populated when items are returned via API.
The status of the item. One of in_progress, completed, or incomplete. Populated when items are returned via API.
class ResponseReasoningItem: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.
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.
The unique identifier of the reasoning content.
List<Summary> summaryReasoning summary content.
Reasoning summary content.
A summary of the reasoning output from the model so far.
The type of the object. Always summary_text.
The type of the object. Always reasoning.
Optional<List<Content>> contentReasoning text content.
Reasoning text content.
The reasoning text from the model.
The type of the reasoning text. Always reasoning_text.
The encrypted content of the reasoning item - populated when a response is
generated with reasoning.encrypted_content in the include parameter.
Optional<Status> statusThe status of the item. One of in_progress, completed, or
incomplete. Populated when items are returned via API.
The status of the item. One of in_progress, completed, or
incomplete. Populated when items are returned via API.
class ResponseCompactionItemParam:A compaction item generated by the v1/responses/compact API.
A compaction item generated by the v1/responses/compact API.
The encrypted content of the compaction summary.
The type of the item. Always compaction.
The ID of the compaction item.
ImageGenerationCall
The unique ID of the image generation call.
The generated image encoded in base64.
Status statusThe status of the image generation call.
The status of the image generation call.
The type of the image generation call. Always image_generation_call.
class ResponseCodeInterpreterToolCall:A tool call to run code.
A tool call to run code.
The unique ID of the code interpreter tool call.
The code to run, or null if not available.
The ID of the container used to run the code.
Optional<List<Output>> outputsThe outputs generated by the code interpreter, such as logs or images.
Can be null if no outputs are available.
The outputs generated by the code interpreter, such as logs or images. Can be null if no outputs are available.
class Logs:The logs output from the code interpreter.
The logs output from the code interpreter.
The logs output from the code interpreter.
The type of the output. Always logs.
class Image:The image output from the code interpreter.
The image output from the code interpreter.
The type of the output. Always image.
The URL of the image output from the code interpreter.
Status statusThe status of the code interpreter tool call. Valid values are in_progress, completed, incomplete, interpreting, and failed.
The status of the code interpreter tool call. Valid values are in_progress, completed, incomplete, interpreting, and failed.
The type of the code interpreter tool call. Always code_interpreter_call.
LocalShellCall
The unique ID of the local shell call.
Action actionExecute a shell command on the server.
Execute a shell command on the server.
The command to run.
Environment variables to set for the command.
The type of the local shell action. Always exec.
Optional timeout in milliseconds for the command.
Optional user to run the command as.
Optional working directory to run the command in.
The unique ID of the local shell tool call generated by the model.
Status statusThe status of the local shell call.
The status of the local shell call.
The type of the local shell call. Always local_shell_call.
LocalShellCallOutput
The unique ID of the local shell tool call generated by the model.
A JSON string of the output of the local shell tool call.
The type of the local shell tool call output. Always local_shell_call_output.
Optional<Status> statusThe status of the item. One of in_progress, completed, or incomplete.
The status of the item. One of in_progress, completed, or incomplete.
ShellCall
Action actionThe shell commands and limits that describe how to run the tool call.
The shell commands and limits that describe how to run the tool call.
Ordered shell commands for the execution environment to run.
Maximum number of UTF-8 characters to capture from combined stdout and stderr output.
Maximum wall-clock time in milliseconds to allow the shell commands to run.
The unique ID of the shell tool call generated by the model.
The type of the item. Always shell_call.
The unique ID of the shell tool call. Populated when this item is returned via API.
Optional<Status> statusThe status of the shell call. One of in_progress, completed, or incomplete.
The status of the shell call. One of in_progress, completed, or incomplete.
ShellCallOutput
The unique ID of the shell tool call generated by the model.
List<ResponseFunctionShellCallOutputContent> outputCaptured chunks of stdout and stderr output, along with their associated outcomes.
Captured chunks of stdout and stderr output, along with their associated outcomes.
Outcome outcomeThe exit or timeout outcome associated with this shell call.
The exit or timeout outcome associated with this shell call.
JsonValue;
The outcome type. Always timeout.
class Exit:Indicates that the shell commands finished and returned an exit code.
Indicates that the shell commands finished and returned an exit code.
The exit code returned by the shell process.
The outcome type. Always exit.
Captured stderr output for the shell call.
Captured stdout output for the shell call.
The type of the item. Always shell_call_output.
The unique ID of the shell tool call output. Populated when this item is returned via API.
The maximum number of UTF-8 characters captured for this shell call's combined output.
Optional<Status> statusThe status of the shell call output.
The status of the shell call output.
ApplyPatchCall
The unique ID of the apply patch tool call generated by the model.
Operation operationThe specific create, delete, or update instruction for the apply_patch tool call.
The specific create, delete, or update instruction for the apply_patch tool call.
class CreateFile:Instruction for creating a new file via the apply_patch tool.
Instruction for creating a new file via the apply_patch tool.
Unified diff content to apply when creating the file.
Path of the file to create relative to the workspace root.
The operation type. Always create_file.
class DeleteFile:Instruction for deleting an existing file via the apply_patch tool.
Instruction for deleting an existing file via the apply_patch tool.
Path of the file to delete relative to the workspace root.
The operation type. Always delete_file.
class UpdateFile:Instruction for updating an existing file via the apply_patch tool.
Instruction for updating an existing file via the apply_patch tool.
Unified diff content to apply to the existing file.
Path of the file to update relative to the workspace root.
The operation type. Always update_file.
Status statusThe status of the apply patch tool call. One of in_progress or completed.
The status of the apply patch tool call. One of in_progress or completed.
The type of the item. Always apply_patch_call.
The unique ID of the apply patch tool call. Populated when this item is returned via API.
ApplyPatchCallOutput
The unique ID of the apply patch tool call generated by the model.
Status statusThe status of the apply patch tool call output. One of completed or failed.
The status of the apply patch tool call output. One of completed or failed.
The type of the item. Always apply_patch_call_output.
The unique ID of the apply patch tool call output. Populated when this item is returned via API.
Optional human-readable log text from the apply patch tool (e.g., patch results or errors).
McpListTools
The unique ID of the list.
The label of the MCP server.
List<Tool> toolsThe tools available on the server.
The tools available on the server.
The JSON schema describing the tool's input.
The name of the tool.
Additional annotations about the tool.
The description of the tool.
The type of the item. Always mcp_list_tools.
Error message if the server could not list tools.
McpApprovalRequest
The unique ID of the approval request.
A JSON string of arguments for the tool.
The name of the tool to run.
The label of the MCP server making the request.
The type of the item. Always mcp_approval_request.
McpApprovalResponse
The ID of the approval request being answered.
Whether the request was approved.
The type of the item. Always mcp_approval_response.
The unique ID of the approval response
Optional reason for the decision.
McpCall
The unique ID of the tool call.
A JSON string of the arguments passed to the tool.
The name of the tool that was run.
The label of the MCP server running the tool.
The type of the item. Always mcp_call.
Unique identifier for the MCP tool call approval request.
Include this value in a subsequent mcp_approval_response input to approve or reject the corresponding tool call.
The error from the tool call, if any.
The output from the tool call.
Optional<Status> statusThe status of the tool call. One of in_progress, completed, incomplete, calling, or failed.
The status of the tool call. One of in_progress, completed, incomplete, calling, or failed.
class ResponseCustomToolCallOutput:The output of a custom tool call from your code, being sent back to the model.
The output of a custom tool call from your code, being sent back to the model.
The call ID, used to map this custom tool call output to a custom tool call.
Output outputThe output from the custom tool call generated by your code.
Can be a string or an list of output content.
The output from the custom tool call generated by your code. Can be a string or an list of output content.
List<FunctionAndCustomToolCallOutput>
class ResponseInputText:A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
class ResponseInputImage:An image input to the model. Learn about image inputs.
An image input to the model. Learn about image inputs.
Detail detailThe detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
The type of the input item. Always input_image.
The ID of the file to be sent to the model.
The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL.
class ResponseInputFile:A file input to the model.
A file input to the model.
The type of the input item. Always input_file.
The content of the file to be sent to the model.
The ID of the file to be sent to the model.
The URL of the file to be sent to the model.
The name of the file to be sent to the model.
The type of the custom tool call output. Always custom_tool_call_output.
The unique ID of the custom tool call output in the OpenAI platform.
class ResponseCustomToolCall:A call to a custom tool created by the model.
A call to a custom tool created by the model.
An identifier used to map this custom tool call to a tool call output.
The input for the custom tool call generated by the model.
The name of the custom tool being called.
The type of the custom tool call. Always custom_tool_call.
The unique ID of the custom tool call in the OpenAI platform.
ItemReference
The ID of the item to reference.
The type of item to reference. Always item_reference.
Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.
ReturnsExpand Collapse
class Conversation:
The unique ID of the conversation.
The time at which the conversation was created, measured in seconds since the Unix epoch.
Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard. Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.
The object type, which is always conversation.
Create a conversation
package com.openai.example;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.conversations.Conversation;
import com.openai.models.conversations.ConversationCreateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
Conversation conversation = client.conversations().create();
}
}{
"id": "id",
"created_at": 0,
"metadata": {},
"object": "conversation"
}Returns Examples
{
"id": "id",
"created_at": 0,
"metadata": {},
"object": "conversation"
}