Muse MuseConcept
Dashboard

Independent concept built on Meta's Model API. Not an official Meta product.

Responses schemas

View on dev.meta.ai (opens in a new tab)

The full schema and model definitions referenced by the Responses endpoints. Each endpoint page links here for the detailed shape of its request and response objects.

Schemas

Annotation

Annotation attached to a span of generated output text, such as a citation or file reference.

Type: FileCitationBody | UrlCitationBody | FilePath

Cancel Response Response

The response object returned by the cancel endpoint. Only the lifecycle fields the server populates on cancel are present, and the output array is always empty.

FieldTypeRequiredDescription
idstringYesIdentifier for this response.
objectenum ('response')YesObject type; always response.
statusenum ('completed', 'failed', 'in_progress', 'cancelled', 'queued', 'incomplete')YesThe status of the response generation. After a successful cancel of an in-progress response this is cancelled; for an already-terminal response the current terminal status is returned.
modelstringYesModel ID used to generate the response.
backgroundbooleanYesWhether the response was run in the background.
outputarray of OutputItemYesAn array of content items generated by the model. Always empty on a cancelled response.

Click Button Type

Type: enum ('left', 'right', 'wheel', 'back', 'forward')

Click Param

A click action.

FieldTypeRequiredDescription
typeenum ('click')YesSpecifies the event type. For a click action, this property is always click. (default: click)
buttonClickButtonTypeYesIndicates which mouse button was pressed during the click. One of left, right, wheel, back, or forward.
xintegerYesThe x-coordinate where the click occurred.
yintegerYesThe y-coordinate where the click occurred.

Computer Action

Type: ClickParam | DoubleClickAction | DragParam | KeyPressAction | MoveParam | ScreenshotParam | ScrollParam | TypeParam | WaitParam

Computer Action List

Flattened batched actions for computer_use. Each action includes an type discriminator and action-specific fields.

Type: array of ComputerAction

Computer Call Output Item Param

The output of a computer tool call.

FieldTypeRequiredDescription
idstring | nullNoThe ID of the computer tool call output.
call_idstringYesThe ID of the computer tool call that produced the output. (minLength: 1, maxLength: 64)
typeenum ('computer_call_output')YesThe type of the computer tool call output. Always computer_call_output. (default: computer_call_output)
outputComputerScreenshotImageYes
acknowledged_safety_checksarray of ComputerCallSafetyCheckParam | nullNoThe safety checks reported by the API that have been acknowledged by the developer.
statusFunctionCallItemStatus | nullNoThe status of the message input. One of in_progress, completed, or incomplete. Populated when input items are returned via API.

Computer Call Output Status

Type: enum ('completed', 'incomplete', 'failed')

Computer Call Safety Check Param

A pending safety check for the computer call.

FieldTypeRequiredDescription
idstringYesThe ID of the pending safety check.
codestring | nullNoThe type of the pending safety check.
messagestring | nullNoDetails about the pending safety check.

Computer Screenshot Image

A computer screenshot image used with the computer use tool.

FieldTypeRequiredDescription
typeenum ('computer_screenshot')YesSpecifies the event type. For a computer screenshot, this property is always set to computer_screenshot. (default: computer_screenshot)
image_urlstring (uri)NoThe URL of the screenshot image.
file_idstringNoThe identifier of an uploaded file that contains the screenshot.
detailenum ('original')NoThe detail level of the screenshot. Always original when provided.

Computer Tool

A tool that controls a virtual computer.

FieldTypeRequiredDescription
typeenum ('computer')YesThe type of the computer tool. Always computer. (default: computer)

Computer Tool Call

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

FieldTypeRequiredDescription
typeenum ('computer_call')YesThe type of the computer call. Always computer_call. (default: computer_call)
idstringYesThe unique ID of the computer call.
call_idstringYesAn identifier used when responding to the tool call with output.
actionComputerActionNo
actionsComputerActionListNo
pending_safety_checksarray of ComputerCallSafetyCheckParamYesThe pending safety checks for the computer call.
meta_safety_replay_receiptstringNoAn opaque Meta wire extension containing a time-bounded receipt for the accepted native-computer safety replay prefix through this call. Stateless clients must copy it unchanged from response.output into the corresponding item under input on the next request; the matching call output still requires a fresh acknowledgement. (minLength: 1, maxLength: 8192)
statusenum ('in_progress', 'completed', 'incomplete')YesItem status. One of in_progress, completed, or incomplete. Populated when items are returned via API.

Computer Tool Call Output

The output of a computer tool call.

FieldTypeRequiredDescription
typeenum ('computer_call_output')YesThe type of the computer tool call output. Always computer_call_output. (default: computer_call_output)
idstringNoThe ID of the computer tool call output.
call_idstringYesThe ID of the computer tool call that produced the output.
acknowledged_safety_checksarray of ComputerCallSafetyCheckParamNoThe safety checks reported by the API that have been acknowledged by the developer.
outputComputerScreenshotImageYes
statusenum ('in_progress', 'completed', 'incomplete')NoThe status of the message input. One of in_progress, completed, or incomplete. Populated when input items are returned via API.

Computer Tool Call Output Resource

FieldTypeRequiredDescription
typeenum ('computer_call_output')YesThe type of the computer tool call output. Always computer_call_output. (default: computer_call_output)
idstringYesThe unique ID of the computer call tool output.
call_idstringYesThe ID of the computer tool call that produced the output.
acknowledged_safety_checksarray of ComputerCallSafetyCheckParamNoThe safety checks reported by the API that have been acknowledged by the developer.
outputComputerScreenshotImageYes
statusComputerCallOutputStatusYesThe status of the message input. One of in_progress, completed, or incomplete. Populated when input items are returned via API.
created_bystringNoIdentifier for the actor that created the item.

Conversation-2

The conversation this response belonged to. Its input and output items were added to that conversation automatically.

FieldTypeRequiredDescription
idstringYesIdentifier of the conversation this response belongs to.

Coord Param

An x/y coordinate pair, e.g. { x: 100, y: 200 }.

FieldTypeRequiredDescription
xintegerYesThe x-coordinate.
yintegerYesThe y-coordinate.

Create Model Response Properties

FieldTypeRequiredDescription
metadataMetadataNo
top_logprobsintegerNoAn integer between 0 and 20 giving the number of top alternative tokens to return at each position, each with its log probability. (minimum: 0, maximum: 20)
temperaturenumber | nullNoWhat sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both. (minimum: 0, maximum: 2, default: 1)
top_pnumber | nullNoNucleus sampling: only tokens whose cumulative probability is at most this value are considered. Must be greater than 0; values <= 0 return HTTP 400. Set this or temperature, not both. (minimum: 0, maximum: 1, default: 1)
userstringNoDeprecated. Being replaced by safety_identifier and prompt_cache_key; use prompt_cache_key to retain caching benefits. A stable end-user identifier used to improve cache hit rates and help detect abuse.
safety_identifierstringNoA stable identifier that helps detect users who may be violating usage policies. Use a string that uniquely identifies each user, up to 64 characters; hash a username or email so you do not send identifying information. (maxLength: 64)
prompt_cache_keystringNoGroups similar requests to improve cache hit rates. Replaces the user field.
service_tierServiceTierNo
prompt_cache_retentionenum ('in_memory', '24h') | nullNoThe retention policy for the prompt cache.

Create Response

FieldTypeRequiredDescription
metadataMetadataNo
top_logprobsintegerNoAn integer between 0 and 20 giving the number of top alternative tokens to return at each position, each with its log probability. (minimum: 0, maximum: 20)
temperaturenumber | nullNoWhat sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both. (minimum: 0, maximum: 2, default: 1)
top_pnumber | nullNoNucleus sampling: only tokens whose cumulative probability is at most this value are considered. Must be greater than 0; values <= 0 return HTTP 400. Set this or temperature, not both. (minimum: 0, maximum: 1, default: 1)
userstringNoDeprecated. Being replaced by safety_identifier and prompt_cache_key; use prompt_cache_key to retain caching benefits. A stable end-user identifier used to improve cache hit rates and help detect abuse.
safety_identifierstringNoA stable identifier that helps detect users who may be violating usage policies. Use a string that uniquely identifies each user, up to 64 characters; hash a username or email so you do not send identifying information. (maxLength: 64)
prompt_cache_keystringNoGroups similar requests to improve cache hit rates. Replaces the user field.
service_tierServiceTierNo
prompt_cache_retentionenum ('in_memory', '24h') | nullNoThe retention policy for the prompt cache.
previous_response_idstring | nullNoIdentifier of a previous response to continue from. Use this to build multi-turn conversations with server-managed state. Cannot be combined with conversation.
modelstringNoID of the model used to generate the response.
reasoningReasoning | nullNo
backgroundboolean | nullNoWhether to run the response asynchronously in the background. Cannot be combined with stream. (default: false)
max_tool_callsinteger | nullNoMaximum number of built-in tool calls allowed while generating a response, counted across all built-in tools rather than per tool. The model ignores any calls beyond this limit. (minimum: 1)
textResponseTextParamNo
toolsToolsArrayNo
tool_choiceToolChoiceParamNo
promptPromptNo
truncationenum ('auto', 'disabled') | nullNoTruncation strategy for the request. Only disabled (the default) is supported: if the input plus requested output tokens exceed the model's context window, the request fails with a 400 error. The auto strategy is not supported. (default: disabled)
client_metadataobject | nullNoOptional client-provided request metadata. Accepted for compatibility and ignored.
inputInputParamNo
includearray of IncludeEnum | nullNoAdditional output data to return in the response. Use message.output_text.logprobs to return token-level log probabilities on output text (set together with top_logprobs and a reasoning.effort of none), and reasoning.encrypted_content to return encrypted reasoning items for stateless multi-turn replay.
parallel_tool_callsboolean | nullNoWhether the model may issue multiple tool calls in a single turn. (default: true)
storeboolean | nullNoWhether to persist the generated response so it can be retrieved later and chained from previous_response_id. (default: true)
instructionsstring | nullNoDeveloper-level instructions inserted at the top of the model's context. When previous_response_id is set, instructions from the prior response are not carried forward, so you can change them on each turn. Top-level image models place these instructions immediately before the current user message instead, and also honor developer or system input messages that come before the first user message or after the most recent image_generation_call; those from earlier turns, and those stored with a previous response, are not carried forward. Top-level image models accept at most 12,000 characters across this field and those messages, returning a 400 error when the combined limit is exceeded.
streamboolean | nullNoIf true, the response is streamed to the client as server-sent events as it is generated. Cannot be combined with background. (default: false)
stream_optionsResponseStreamOptionsNo
max_output_tokensinteger | nullNoUpper bound on the number of tokens generated for the response, counting both visible output and reasoning tokens. Minimum is 16; values above the model's configured maximum, or that exceed the remaining context window, return a 400 error. (minimum: 16)

Delete Response Response

Returned by the delete-response endpoint to confirm a response was deleted.

FieldTypeRequiredDescription
idstringYesIdentifier of the deleted response.
objectenum ('response.deleted')YesObject type; always response.deleted.
deletedbooleanYesAlways true when the response was deleted.

Detail Enum

Type: enum ('low', 'high', 'auto', 'original')

Double Click Action

A double click action.

FieldTypeRequiredDescription
typeenum ('double_click')YesSpecifies the event type. For a double click action, this property is always set to double_click. (default: double_click)
xintegerYesThe x-coordinate where the double click occurred.
yintegerYesThe y-coordinate where the double click occurred.

Drag Param

A drag action.

FieldTypeRequiredDescription
typeenum ('drag')YesSpecifies the event type. For a drag action, this property is always set to drag. (default: drag)
patharray of CoordParamYesAn 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 } ]

Easy Input Message

A message in a Responses input or replayed history. The developer and system roles carry instructions (developer takes precedence); user carries the caller's prompt; assistant replays prior model output.

FieldTypeRequiredDescription
roleenum ('user', 'assistant', 'system', 'developer')YesRole of the message author. One of user, assistant, system, or developer.
contentstring | InputMessageContentListYesMessage content. Either plain text or an array of content parts (text, image, file, or video). Can replay previous assistant output.
phaseMessagePhase | nullNo
typeenum ('message')NoObject type; always message.

Empty Model Param

Type: object

File Citation Body

Citation that points to an uploaded file used to ground the response.

FieldTypeRequiredDescription
typeenum ('file_citation')YesAnnotation type; always file_citation. (default: file_citation)
file_idstringYesIdentifier of the cited file.
indexintegerYesPosition of the cited file in the list of files.
filenamestringYesName of the cited file.

File Detail Enum

Type: enum ('low', 'high')

File Input Detail

Type: enum ('low', 'high')

File Path

File path annotation attached to a span of output text.

FieldTypeRequiredDescription
typeenum ('file_path')YesAnnotation type; always file_path.
file_idstringYesIdentifier of the referenced file.
indexintegerYesPosition of the referenced file in the list of files.

Function And Custom Tool Call Output

Type: InputTextContent | InputImageContent | InputFileContent

Function Call Item Status

Type: enum ('in_progress', 'completed', 'incomplete')

Function Call Output Content List Param

The function tool call output as content parts (text, image, or file).

Type: array of InputTextContentParam | InputImageContentParamAutoParam | InputFileContentParam

Function Call Output Item Param

The output your code returns for a function tool call.

FieldTypeRequiredDescription
idstring | nullNoIdentifier for this function tool call output; set when the item is returned by the API.
call_idstringYesIdentifier of the function tool call this output answers. (minLength: 1, maxLength: 64)
typeenum ('function_call_output')YesItem type; always function_call_output. (default: function_call_output)
outputFunctionCallOutputTextParam | FunctionCallOutputContentListParamYesThe function tool call output, as text or content parts.
statusFunctionCallItemStatus | nullNoItem status: in_progress, completed, or incomplete. Set when the item is returned by the API.

Function Call Output Status Enum

Type: enum ('in_progress', 'completed', 'incomplete')

Function Call Output Text Param

The function tool call output as a JSON string.

Type: string

Function Call Status

Type: enum ('in_progress', 'completed', 'incomplete')

Function Tool

Defines a function in your own code the model can choose to call.

FieldTypeRequiredDescription
typeenum ('function')YesThe tool type; always function. (default: function)
namestringYesName of the function the model can call.
descriptionstring | nullNoDescribes the function so the model can decide whether to call it.
parametersobject | nullYesJSON Schema object that defines the function's parameters.
strictboolean | nullNoWhether the model must produce arguments that match the parameters schema exactly. Defaults to true.
defer_loadingbooleanNoWhen true, defers this function so it is discovered on demand through tool search.

Function Tool Call

A tool call to run a function.

FieldTypeRequiredDescription
idstringNoIdentifier for this function tool call.
typeenum ('function_call')YesItem type; always function_call.
call_idstringYesIdentifier the model assigned to this function tool call. (minLength: 1, maxLength: 64)
namespacestringNoNamespace of the function to run.
namestringYesName of the function to run.
argumentsstringYesArguments to pass to the function, as a JSON string.
statusenum ('in_progress', 'completed', 'incomplete')NoItem status: in_progress, completed, or incomplete. Set when the item is returned by the API.

Function Tool Call Output

The output your code returns for a function tool call.

FieldTypeRequiredDescription
idstringNoIdentifier for this function tool call output; set when the item is returned by the API.
typeenum ('function_call_output')YesOutput item type; always function_call_output.
call_idstringYesIdentifier of the function tool call this output answers.
outputstring | array of FunctionAndCustomToolCallOutputYesThe result your code produces for the function call, as a string or a list of output content.
statusenum ('in_progress', 'completed', 'incomplete')NoItem status: in_progress, completed, or incomplete. Set when the item is returned by the API.

Function Tool Call Output Resource

FieldTypeRequiredDescription
idstringYesIdentifier for this function call output.
typeenum ('function_call_output')YesOutput item type; always function_call_output.
call_idstringYesIdentifier of the function tool call this output answers.
outputstring | array of FunctionAndCustomToolCallOutputYesThe result your code produces for the function call, as a string or a list of output content.
statusFunctionCallOutputStatusEnumYesItem status: in_progress, completed, or incomplete. Set when the item is returned by the API.
created_bystringNoIdentifier of the actor that created the item.

Image Detail

Type: enum ('low', 'high', 'auto', 'original')

Include Enum

Specify additional output data to include in the model response. Currently supported values are:

  • web_search_call.action.sources: Include the sources of the web search tool call.
  • code_interpreter_call.outputs: Includes the outputs of python code execution in code interpreter tool call items.
  • computer_call_output.output.image_url: Include image urls from the computer call output.
  • file_search_call.results: Include the search results of the file search tool call.
  • message.input_image.image_url: Include image urls from the input message.
  • message.output_text.logprobs: Include logprobs with assistant messages.
  • reasoning.encrypted_content: Includes an encrypted version of reasoning tokens in reasoning item outputs. This enables reasoning items to be used in multi-turn conversations when using encrypted reasoning replay.

Type: enum ('file_search_call.results', 'web_search_call.results', 'web_search_call.action.sources', 'message.input_image.image_url', 'computer_call_output.output.image_url', 'code_interpreter_call.outputs', 'reasoning.encrypted_content', 'message.output_text.logprobs')

Input Audio Content

Audio input to the model. Provide inline base64 data, a URL or base64 data URI, or an uploaded file ID.

FieldTypeRequiredDescription
typeenum ('input_audio')YesContent-part type; always input_audio. (default: input_audio)
input_audioobjectNoInline base64-encoded audio and its format.
input_audio.datastringYesBase64-encoded audio data.
input_audio.formatenum ('wav', 'mp3')YesThe format of the encoded audio data. Supports wav and mp3.
audio_urlstring | nullNoURL of the audio to send to the model. Fully qualified URL or base64-encoded data URL.
file_idstring | nullNoIdentifier for the uploaded audio file to send to the model.

Input Content

Type: InputTextContent | InputImageContent | InputFileContent | InputVideoContent | InputAudioContent | OutputTextContent | RefusalContent

Input File Content

A file provided as input to the model.

FieldTypeRequiredDescription
typeenum ('input_file')YesContent-part type; always input_file. (default: input_file)
file_idstring | nullNoIdentifier for the file to send to the model.
filenamestringNoName of the file passed to the model.
file_datastringNoContents of the file passed to the model.
file_urlstringNoURL of the file passed to the model.
detailFileInputDetailNoRender detail for the file: low for default rendering, high for higher quality. Defaults to low.

Input File Content Param

A file provided as input to the model.

FieldTypeRequiredDescription
typeenum ('input_file')YesContent-part type; always input_file. (default: input_file)
file_idstring | nullNoIdentifier for the file to send to the model.
filenamestring | nullNoName of the file to send to the model.
file_datastring | nullNoBase64-encoded file data to send to the model. (maxLength: 73400320)
file_urlstring | nullNoURL of the file to send to the model.
detailFileDetailEnumNoRender detail for the file: low for default rendering, high for higher quality. Defaults to low.

Input Image Content

An image input to the model.

FieldTypeRequiredDescription
typeenum ('input_image')YesContent-part type; always input_image. (default: input_image)
image_urlstring | nullNoURL of the image to send to the model. Fully qualified URL or base64-encoded data URL.
file_idstring | nullNoIdentifier for the file to send to the model.
detailImageDetailNoRender detail for the image: one of high, low, auto, or original. Defaults to auto.

Input Image Content Param Auto Param

An image input to the model.

FieldTypeRequiredDescription
typeenum ('input_image')YesContent-part type; always input_image. (default: input_image)
image_urlstring | nullNoURL of the image to send to the model. Fully qualified URL or base64-encoded data URL. (maxLength: 20971520)
file_idstring | nullNoIdentifier for the file to send to the model.
detailDetailEnum | nullNoImage detail level. One of high, low, auto, or original. Defaults to auto.

Input Item

Type: EasyInputMessage | Item | ItemReferenceParam

Input Message

A message provided as input, tagged with a role. developer and system instructions take precedence over user instructions.

FieldTypeRequiredDescription
typeenum ('message')NoItem type; always message.
roleenum ('user', 'system', 'developer')YesAuthor role: one of user, system, or developer.
statusenum ('in_progress', 'completed', 'incomplete')NoItem status: in_progress, completed, or incomplete. Set when the item is returned by the API.
contentInputMessageContentListYes

Input Message Content List

An ordered list of input content parts of varying types.

Type: array of InputContent

Input Param

Text, image, or file inputs to the model, used to generate a response.

Type: string | array of InputItem

Input Text Content

Text provided as input to the model.

FieldTypeRequiredDescription
typeenum ('input_text')YesContent-part type; always input_text. (default: input_text)
textstringYesThe input text.

Input Text Content Param

Text provided as input to the model.

FieldTypeRequiredDescription
typeenum ('input_text')YesContent-part type; always input_text. (default: input_text)
textstringYesThe input text. (maxLength: 10485760)

Input Video Content

Video input to the model. Provide as URL, base64 data URI, or uploaded file ID.

FieldTypeRequiredDescription
typeenum ('input_video')YesObject type; always input_video. (default: input_video)
video_urlstring | nullNoURL of the video to send to the model. Fully qualified URL or base64-encoded data URL.
file_idstring | nullNoIdentifier for the file to send to the model.
fpsnumber | nullNoFrames per second for video sampling. Defaults to backend-chosen rate.

Item

Shared schema for items in conversation and response history (input side).

Type: InputMessage | OutputMessage | ComputerToolCall | ComputerCallOutputItemParam | WebSearchToolCallParam | FunctionToolCall | FunctionCallOutputItemParam | ToolSearchCallItemParam | ToolSearchOutputItemParam | ReasoningItemParam

Item Reference Param

A reference to an existing item by ID.

FieldTypeRequiredDescription
typeenum ('item_reference') | nullNoObject type; always item_reference. (default: item_reference)
idstringYesIdentifier of the item to reference.

Key Press Action

A collection of keypresses the model would like to perform.

FieldTypeRequiredDescription
typeenum ('keypress')YesSpecifies the event type. For a keypress action, this property is always set to keypress. (default: keypress)
keysarray of stringYesThe combination of keys the model is requesting to be pressed. This is an array of strings, each representing a key.

Log Prob

The log probability of a token.

FieldTypeRequiredDescription
tokenstringYes
logprobnumber | nullNoLog probability of this token. May be null when the backend omits the value.
bytesarray of integerYes
top_logprobsarray of TopLogProbYes

Message Phase

Labels an assistant message as intermediate commentary (commentary) or the final answer (final_answer). When sending follow-up requests, preserve and resend phase on all assistant messages, dropping it can degrade performance. Not used for user messages.

Type: enum ('commentary', 'final_answer')

Metadata

Type: object | null

Model Response Properties

FieldTypeRequiredDescription
metadataMetadataNo
top_logprobsinteger | nullNoAn integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability. (minimum: 0, maximum: 20)
temperaturenumber | nullNoWhat sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both. (minimum: 0, maximum: 2, default: 1)
top_pnumber | nullNoNucleus sampling: only tokens whose cumulative probability is at most this value are considered. Must be greater than 0; values <= 0 return HTTP 400. Set this or temperature, not both. (minimum: 0, maximum: 1, default: 1)
userstringNoDeprecated. Being replaced by safety_identifier and prompt_cache_key; use prompt_cache_key to retain caching benefits. A stable end-user identifier used to improve cache hit rates and help detect abuse.
safety_identifierstringNoA stable identifier that helps detect users who may be violating usage policies. Use a string that uniquely identifies each user, up to 64 characters; hash a username or email so you do not send identifying information. (maxLength: 64)
prompt_cache_keystringNoGroups similar requests to improve cache hit rates. Replaces the user field.
service_tierServiceTierNo
prompt_cache_retentionenum ('in_memory', '24h') | nullNoThe retention policy for the prompt cache.

Move Param

A mouse move action.

FieldTypeRequiredDescription
typeenum ('move')YesSpecifies the event type. For a move action, this property is always set to move. (default: move)
xintegerYesThe x-coordinate to move to.
yintegerYesThe y-coordinate to move to.

Output Content

Type: OutputTextContent | RefusalContent | ReasoningTextContent

Output Item

Type: OutputMessage | FunctionToolCall | FunctionToolCallOutputResource | WebSearchToolCall | ComputerToolCall | ComputerToolCallOutputResource | ReasoningItem | ToolSearchCall | ToolSearchOutput

Output Message

A message generated by the model.

FieldTypeRequiredDescription
idstringNoIdentifier for this output message.
typeenum ('message')YesItem type; always message.
roleenum ('assistant')YesAuthor role; always assistant.
contentarray of OutputMessageContentYesThe output message content.
phaseMessagePhase | nullNo
statusenum ('in_progress', 'completed', 'incomplete')NoItem status: in_progress, completed, or incomplete. Set when the item is returned by the API.

Output Message Content

Type: OutputTextContent | RefusalContent

Output Text Content

Text generated by the model.

FieldTypeRequiredDescription
typeenum ('output_text')YesContent-part type; always output_text. (default: output_text)
textstringYesThe generated text.
annotationsarray of AnnotationNoAnnotations attached to the text output.
logprobsarray of LogProbNo

Prompt

Type: object | null

Reasoning

Configuration options for reasoning.

FieldTypeRequiredDescription
effortReasoningEffortNo
summaryenum ('auto', 'concise', 'detailed') | nullNoA summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. One of auto, concise, or detailed.
generate_summaryenum ('auto', 'concise', 'detailed') | nullNoDeprecated: use summary instead. A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. One of auto, concise, or detailed.

Reasoning Effort

Type: enum ('none', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max') | null

Reasoning Item

A record of the model's chain of thought for a turn. When you manage context manually, include these items in input on later turns so the model retains its reasoning.

FieldTypeRequiredDescription
typeenum ('reasoning')YesItem type; always reasoning.
idstringYesIdentifier for this reasoning item.
encrypted_contentstring | nullNoOpaque encrypted content for stateless multi-turn replay. Populated when a response is generated with reasoning.encrypted_content in the include parameter.
summaryarray of SummaryTextContentYesSummarized reasoning content.
contentarray of ReasoningTextContentNoReasoning text content.
statusenum ('in_progress', 'completed', 'incomplete')NoItem status: in_progress, completed, or incomplete. Set when the item is returned by the API.

Reasoning Item Param

Input form for a reasoning item. The id is optional on input and required on output. The encrypted_content field carries opaque reasoning state for stateless multi-turn replay.

FieldTypeRequiredDescription
typeenum ('reasoning')YesObject type; always reasoning.
idstringNoIdentifier for this reasoning item. Optional on input; required on output.
encrypted_contentstring | nullNoOpaque encrypted content for stateless multi-turn replay. Populated when a response is generated with reasoning.encrypted_content in the include parameter.
summaryarray of SummaryTextContentYesSummarized reasoning content.
contentarray of ReasoningTextContentNoReasoning text content.
statusenum ('in_progress', 'completed', 'incomplete')NoThe status of the item. One of in_progress, completed, or incomplete. Populated when items are returned via API.

Reasoning Text Content

Reasoning text emitted by the model.

FieldTypeRequiredDescription
typeenum ('reasoning_text')YesContent-part type; always reasoning_text. (default: reasoning_text)
textstringYesThe reasoning text.

Refusal Content

A refusal from the model.

FieldTypeRequiredDescription
typeenum ('refusal')YesObject type; always refusal. (default: refusal)
refusalstringYesThe refusal explanation from the model.

Response

FieldTypeRequiredDescription
metadataMetadataYes
top_logprobsinteger | nullNoAn integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability. (minimum: 0, maximum: 20)
temperaturenumber | nullYesWhat sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both. (minimum: 0, maximum: 2, default: 1)
top_pnumber | nullYesNucleus sampling: only tokens whose cumulative probability is at most this value are considered. Must be greater than 0; values <= 0 return HTTP 400. Set this or temperature, not both. (minimum: 0, maximum: 1, default: 1)
userstringNoDeprecated. Being replaced by safety_identifier and prompt_cache_key; use prompt_cache_key to retain caching benefits. A stable end-user identifier used to improve cache hit rates and help detect abuse.
safety_identifierstringNoA stable identifier that helps detect users who may be violating usage policies. Use a string that uniquely identifies each user, up to 64 characters; hash a username or email so you do not send identifying information. (maxLength: 64)
prompt_cache_keystringNoGroups similar requests to improve cache hit rates. Replaces the user field.
service_tierServiceTierNo
prompt_cache_retentionenum ('in_memory', '24h') | nullNoThe retention policy for the prompt cache.
previous_response_idstring | nullNoIdentifier of a previous response to continue from. Use this to build multi-turn conversations with server-managed state. Cannot be combined with conversation.
modelstringYesID of the model used to generate the response.
reasoningReasoning | nullNo
backgroundboolean | nullNoWhether to run the response asynchronously in the background. Cannot be combined with stream. (default: false)
max_tool_callsinteger | nullNoMaximum number of built-in tool calls allowed while generating a response, counted across all built-in tools rather than per tool. The model ignores any calls beyond this limit. (minimum: 1)
textResponseTextParamNo
toolsToolsArrayYes
tool_choiceToolChoiceParamYes
promptPromptNo
truncationenum ('auto', 'disabled') | nullNoTruncation strategy for the request. Only disabled (the default) is supported: if the input plus requested output tokens exceed the model's context window, the request fails with a 400 error. The auto strategy is not supported. (default: disabled)
idstringYesIdentifier for this response.
objectenum ('response')YesObject type; always response.
statusenum ('completed', 'failed', 'in_progress', 'cancelled', 'queued', 'incomplete')NoGeneration status: one of completed, failed, in_progress, cancelled, queued, or incomplete.
created_atnumber (unixtime)YesUnix timestamp (seconds) for when the response was created.
completed_atnumber (unixtime) | nullNoUnix timestamp (in seconds) when the response completed. Set only when status is completed.
errorResponseErrorYes
incomplete_detailsobject | nullYesExplains why the response is incomplete.
outputarray of OutputItemYesThe items the model generated. Their number and order depend on the response; where SDKs expose it, prefer the output_text helper over indexing into this array.
instructionsstring | array of InputItem | nullYesDeveloper-level instructions inserted at the top of the model's context. When previous_response_id is set, instructions from the prior response are not carried forward, so you can change them on each turn.
output_textstring | nullNoSDK-only helper that concatenates the text from all output_text items in output. Available in the Python and JavaScript SDKs.
usageResponseUsageNo
parallel_tool_callsbooleanYesWhether the model may run tool calls in parallel. (default: true)
storeboolean | nullNoWhether to persist the generated response so it can be retrieved later and chained from previous_response_id. (default: true)
conversationConversation-2 | nullNo(default: null)
max_output_tokensinteger | nullNoUpper bound on the number of tokens generated for the response, counting both visible output and reasoning tokens.

Response Completed Event

Signals that the response has finished and all output is final.

FieldTypeRequiredDescription
typeenum ('response.completed')YesEvent type; always response.completed.
responseResponseYesThe finished response object.
sequence_numberintegerYesThis event's position in the stream.

Response Content Part Added Event

Signals that a new content part has started within an output item.

FieldTypeRequiredDescription
typeenum ('response.content_part.added')YesEvent type; always response.content_part.added.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
content_indexintegerYesPosition of the content part within the output item.
partOutputContentYesThe newly opened content part.
sequence_numberintegerYesThis event's position in the stream.

Response Content Part Done Event

Signals that a content part has finished streaming.

FieldTypeRequiredDescription
typeenum ('response.content_part.done')YesEvent type; always response.content_part.done.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
content_indexintegerYesPosition of the content part within the output item.
sequence_numberintegerYesThis event's position in the stream.
partOutputContentYesThe finished content part.

Response Created Event

Signals that the response has been created and streaming has begun.

FieldTypeRequiredDescription
typeenum ('response.created')YesEvent type; always response.created.
responseResponseYesThe newly created response object.
sequence_numberintegerYesThis event's position in the stream.

Response Error

Type: object | null

Response Error Code

Error code for the response.

Type: enum ('server_error', 'rate_limit_exceeded', 'container_allocation_disabled', 'invalid_prompt', 'vector_store_timeout', 'invalid_image', 'invalid_image_format', 'invalid_base64_image', 'invalid_image_url', 'image_too_large', 'image_too_small', 'image_parse_error', 'image_content_policy_violation', 'invalid_image_mode', 'image_file_too_large', 'unsupported_image_media_type', 'empty_image_file', 'failed_to_download_image', 'image_file_not_found')

Response Error Event

Reports an error that interrupted the stream.

FieldTypeRequiredDescription
typeenum ('error')YesEvent type; always error.
codestring | nullYesMachine-readable error code, or null when none applies.
messagestringYesHuman-readable error message.
paramstring | nullYesName of the request parameter that caused the error, when applicable.
sequence_numberintegerYesThis event's position in the stream.

Response Failed Event

Signals that the response terminated with a failure.

FieldTypeRequiredDescription
typeenum ('response.failed')YesEvent type; always response.failed.
sequence_numberintegerYesThis event's position in the stream.
responseResponseYesThe response object in its failed state.

Response Format Json Object

JSON mode: forces the output to be valid JSON. Prefer json_schema where supported. The model only emits JSON if a system or user message instructs it to.

FieldTypeRequiredDescription
typeenum ('json_object')YesResponse-format type; always json_object.

Response Format Json Schema Schema

The response-format schema, expressed as a JSON Schema object. See the JSON Schema reference (opens in a new tab) for the format.

Type: object

Response Format Text

Plain-text response format (the default).

FieldTypeRequiredDescription
typeenum ('text')YesResponse-format type; always text.

Response Function Call Arguments Delta Event

Carries an incremental chunk of a function call's argument string.

FieldTypeRequiredDescription
typeenum ('response.function_call_arguments.delta')YesEvent type; always response.function_call_arguments.delta.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
sequence_numberintegerYesThis event's position in the stream.
deltastringYesThe argument-string fragment in this chunk.

Response Function Call Arguments Done Event

Signals that a function call's arguments are complete.

FieldTypeRequiredDescription
typeenum ('response.function_call_arguments.done')Yes
item_idstringYesIdentifier of the related output item.
namestringYesName of the called function.
output_indexintegerYesPosition of the related output item in the response output array.
sequence_numberintegerYesThis event's position in the stream.
argumentsstringYesThe complete argument string, as JSON.

Response In Progress Event

Reports that the response is still being generated.

FieldTypeRequiredDescription
typeenum ('response.in_progress')YesEvent type; always response.in_progress.
responseResponseYesThe response object as generated so far.
sequence_numberintegerYesThis event's position in the stream.

Response Incomplete Event

Signals that the response ended in an incomplete state.

FieldTypeRequiredDescription
typeenum ('response.incomplete')YesEvent type; always response.incomplete.
responseResponseYesThe response object in its incomplete state.
sequence_numberintegerYesThis event's position in the stream.

Response Keepalive Event

A transport heartbeat during an idle Responses stream. It carries no model content or token usage.

FieldTypeRequiredDescription
typeenum ('keepalive')YesEvent type; always keepalive. (default: keepalive)
sequence_numberinteger (int32)YesThis event's position in the current SSE connection, not a stored response cursor.

Response Log Prob

The log probability the model assigned to a token at a position. Higher (less negative) values indicate greater confidence in that choice.

FieldTypeRequiredDescription
tokenstringYesA candidate text token.
logprobnumberYesLog probability of this token.
top_logprobsarray of objectNoThe most likely alternative tokens at this position with their log probabilities, up to the number set by top_logprobs (maximum 20).
top_logprobs[].tokenstringNoA candidate text token.
top_logprobs[].logprobnumberNoLog probability of this token.

Response Output Item Added Event

Signals that a new output item has started.

FieldTypeRequiredDescription
typeenum ('response.output_item.added')YesEvent type; always response.output_item.added.
output_indexintegerYesPosition of the related output item in the response output array.
sequence_numberintegerYesThis event's position in the stream.
itemOutputItemYesThe newly opened output item.

Response Output Item Done Event

Signals that an output item has finished streaming.

FieldTypeRequiredDescription
typeenum ('response.output_item.done')YesEvent type; always response.output_item.done.
output_indexintegerYesPosition of the related output item in the response output array.
sequence_numberintegerYesThis event's position in the stream.
itemOutputItemYesThe finished output item.

Response Output Text Annotation Added Event

Carries an annotation, such as a citation, attached to streamed output text.

FieldTypeRequiredDescription
typeenum ('response.output_text.annotation.added')YesEvent type; always response.output_text.annotation.added.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
content_indexintegerYesPosition of the content part within the output item.
annotation_indexintegerYesPosition of this annotation within the content part.
sequence_numberintegerYesThis event's position in the stream.
annotationobjectYesThe annotation being attached to the output text.

Response Prompt Variables

Type: object | null

Response Properties

FieldTypeRequiredDescription
previous_response_idstring | nullNoIdentifier of a previous response to continue from. Use this to build multi-turn conversations with server-managed state. Cannot be combined with conversation.
modelstringNoID of the model used to generate the response.
reasoningReasoning | nullNo
backgroundboolean | nullNoWhether to run the response asynchronously in the background. Cannot be combined with stream. (default: false)
max_tool_callsinteger | nullNoMaximum number of built-in tool calls allowed while generating a response, counted across all built-in tools rather than per tool. The model ignores any calls beyond this limit. (minimum: 1)
textResponseTextParamNo
toolsToolsArrayNo
tool_choiceToolChoiceParamNo
promptPromptNo
truncationenum ('auto', 'disabled') | nullNoTruncation strategy for the request. Only disabled (the default) is supported: if the input plus requested output tokens exceed the model's context window, the request fails with a 400 error. The auto strategy is not supported. (default: disabled)

Response Queued Event

Signals that the response is queued and awaiting processing.

FieldTypeRequiredDescription
typeenum ('response.queued')YesEvent type; always response.queued.
responseResponseYesThe queued response object.
sequence_numberintegerYesThis event's position in the stream.

Response Reasoning Summary Part Added Event

Signals that a new reasoning-summary part has started.

FieldTypeRequiredDescription
typeenum ('response.reasoning_summary_part.added')YesEvent type; always response.reasoning_summary_part.added.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
summary_indexintegerYesPosition of this summary part within the reasoning summary.
sequence_numberintegerYesThis event's position in the stream.
partobjectYesThe newly opened summary part.
part.typeenum ('summary_text')YesSummary-part type; always summary_text.
part.textstringYesThe summary-part text.

Response Reasoning Summary Part Done Event

Signals that a reasoning-summary part has finished.

FieldTypeRequiredDescription
typeenum ('response.reasoning_summary_part.done')YesEvent type; always response.reasoning_summary_part.done.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
summary_indexintegerYesPosition of this summary part within the reasoning summary.
sequence_numberintegerYesThis event's position in the stream.
partobjectYesThe finished summary part.
part.typeenum ('summary_text')YesSummary-part type; always summary_text.
part.textstringYesThe summary-part text.

Response Reasoning Summary Text Delta Event

Carries an incremental chunk of reasoning-summary text.

FieldTypeRequiredDescription
typeenum ('response.reasoning_summary_text.delta')YesEvent type; always response.reasoning_summary_text.delta.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
summary_indexintegerYesPosition of this summary part within the reasoning summary.
deltastringYesThe summary-text fragment in this chunk.
sequence_numberintegerYesThis event's position in the stream.

Response Reasoning Summary Text Done Event

Signals that a reasoning-summary text block is complete.

FieldTypeRequiredDescription
typeenum ('response.reasoning_summary_text.done')YesEvent type; always response.reasoning_summary_text.done.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
summary_indexintegerYesPosition of this summary part within the reasoning summary.
textstringYesThe complete reasoning-summary text.
sequence_numberintegerYesThis event's position in the stream.

Response Reasoning Text Delta Event

Carries an incremental chunk of reasoning text.

FieldTypeRequiredDescription
typeenum ('response.reasoning_text.delta')YesEvent type; always response.reasoning_text.delta.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
content_indexintegerYesPosition of the reasoning content part within the output item.
deltastringYesThe reasoning-text fragment in this chunk.
sequence_numberintegerYesThis event's position in the stream.

Response Reasoning Text Done Event

Signals that a reasoning text block is complete.

FieldTypeRequiredDescription
typeenum ('response.reasoning_text.done')YesEvent type; always response.reasoning_text.done.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
content_indexintegerYesPosition of the reasoning content part within the output item.
textstringYesThe complete reasoning text.
sequence_numberintegerYesThis event's position in the stream.

Response Refusal Delta Event

Carries an incremental chunk of refusal text.

FieldTypeRequiredDescription
typeenum ('response.refusal.delta')YesEvent type; always response.refusal.delta.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
content_indexintegerYesPosition of the content part within the output item.
deltastringYesThe refusal-text fragment in this chunk.
sequence_numberintegerYesThis event's position in the stream.

Response Refusal Done Event

Signals that the refusal text is complete.

FieldTypeRequiredDescription
typeenum ('response.refusal.done')YesEvent type; always response.refusal.done.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
content_indexintegerYesPosition of the content part within the output item.
refusalstringYesThe complete refusal text.
sequence_numberintegerYesThis event's position in the stream.

Response Stream Event

Type: ResponseCompletedEvent | ResponseContentPartAddedEvent | ResponseContentPartDoneEvent | ResponseCreatedEvent | ResponseErrorEvent | ResponseFunctionCallArgumentsDeltaEvent | ResponseFunctionCallArgumentsDoneEvent | ResponseInProgressEvent | ResponseFailedEvent | ResponseIncompleteEvent | ResponseOutputItemAddedEvent | ResponseOutputItemDoneEvent | ResponseReasoningSummaryPartAddedEvent | ResponseReasoningSummaryPartDoneEvent | ResponseReasoningSummaryTextDeltaEvent | ResponseReasoningSummaryTextDoneEvent | ResponseReasoningTextDeltaEvent | ResponseReasoningTextDoneEvent | ResponseRefusalDeltaEvent | ResponseRefusalDoneEvent | ResponseTextDeltaEvent | ResponseTextDoneEvent | ResponseWebSearchCallCompletedEvent | ResponseWebSearchCallInProgressEvent | ResponseWebSearchCallSearchingEvent | ResponseOutputTextAnnotationAddedEvent | ResponseQueuedEvent

Response Stream Options

Type: object | null

Response Stream Wire Event

A response event or transport heartbeat delivered over a Responses SSE connection.

Type: ResponseCompletedEvent | ResponseContentPartAddedEvent | ResponseContentPartDoneEvent | ResponseCreatedEvent | ResponseErrorEvent | ResponseFunctionCallArgumentsDeltaEvent | ResponseFunctionCallArgumentsDoneEvent | ResponseInProgressEvent | ResponseFailedEvent | ResponseIncompleteEvent | ResponseOutputItemAddedEvent | ResponseOutputItemDoneEvent | ResponseReasoningSummaryPartAddedEvent | ResponseReasoningSummaryPartDoneEvent | ResponseReasoningSummaryTextDeltaEvent | ResponseReasoningSummaryTextDoneEvent | ResponseReasoningTextDeltaEvent | ResponseReasoningTextDoneEvent | ResponseRefusalDeltaEvent | ResponseRefusalDoneEvent | ResponseTextDeltaEvent | ResponseTextDoneEvent | ResponseWebSearchCallCompletedEvent | ResponseWebSearchCallInProgressEvent | ResponseWebSearchCallSearchingEvent | ResponseOutputTextAnnotationAddedEvent | ResponseQueuedEvent | ResponseKeepaliveEvent

Response Text Delta Event

Carries an incremental chunk of output text.

FieldTypeRequiredDescription
typeenum ('response.output_text.delta')YesEvent type; always response.output_text.delta.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
content_indexintegerYesPosition of the content part within the output item.
deltastringYesThe output-text fragment in this chunk.
sequence_numberintegerYesThis event's position in the stream.
logprobsarray of ResponseLogProbYesLog probabilities for the tokens in this chunk.

Response Text Done Event

Signals that a block of output text is complete.

FieldTypeRequiredDescription
typeenum ('response.output_text.done')YesEvent type; always response.output_text.done.
item_idstringYesIdentifier of the related output item.
output_indexintegerYesPosition of the related output item in the response output array.
content_indexintegerYesPosition of the content part within the output item.
textstringYesThe complete output text.
sequence_numberintegerYesThis event's position in the stream.
logprobsarray of ResponseLogProbYesLog probabilities for the tokens in this chunk.

Response Text Param

Configuration options for a text response from the model. Can be plain text or structured JSON data.

FieldTypeRequiredDescription
formatTextResponseFormatConfigurationNo

Response Usage

Token usage for the response: input tokens, output tokens (with a breakdown), and the total.

FieldTypeRequiredDescription
input_tokensintegerYesNumber of input tokens. For responses that run hosted tools, this is the sum of the reported input-token count for each model iteration, with accounting adjustments applied per iteration.
input_tokens_detailsobjectYesBreakdown of the input tokens.
input_tokens_details.cached_tokensintegerYesInput tokens served from cache.
output_tokensintegerYesNumber of output tokens.
output_tokens_detailsobjectYesBreakdown of the output tokens.
output_tokens_details.reasoning_tokensintegerYesNumber of reasoning tokens, counted within the output token total.
total_tokensintegerYesTotal tokens used.
video_frames_processedintegerNoNumber of video frames processed for this segmentation request. Present only for video segmentation responses; used for per-frame billing.
images_processedintegerNoNumber of images processed for this segmentation request. Present only for image segmentation responses; used for per-image billing.

Response Web Search Call Completed Event

Signals that a web search call has finished.

FieldTypeRequiredDescription
typeenum ('response.web_search_call.completed')YesEvent type; always response.web_search_call.completed.
output_indexintegerYesPosition of the related output item in the response output array.
item_idstringYesIdentifier of the related output item.
sequence_numberintegerYesThis event's position in the stream.

Response Web Search Call In Progress Event

Signals that a web search call has started.

FieldTypeRequiredDescription
typeenum ('response.web_search_call.in_progress')YesEvent type; always response.web_search_call.in_progress.
output_indexintegerYesPosition of the related output item in the response output array.
item_idstringYesIdentifier of the related output item.
sequence_numberintegerYesThis event's position in the stream.

Response Web Search Call Searching Event

Signals that a web search call is actively searching.

FieldTypeRequiredDescription
typeenum ('response.web_search_call.searching')YesEvent type; always response.web_search_call.searching.
output_indexintegerYesPosition of the related output item in the response output array.
item_idstringYesIdentifier of the related output item.
sequence_numberintegerYesThis event's position in the stream.

Screenshot Param

A screenshot action.

FieldTypeRequiredDescription
typeenum ('screenshot')YesSpecifies the event type. For a screenshot action, this property is always set to screenshot. (default: screenshot)

Scroll Param

A scroll action.

FieldTypeRequiredDescription
typeenum ('scroll')YesSpecifies the event type. For a scroll action, this property is always set to scroll. (default: scroll)
xintegerYesThe x-coordinate where the scroll occurred.
yintegerYesThe y-coordinate where the scroll occurred.
scroll_xintegerYesThe horizontal scroll distance.
scroll_yintegerYesThe vertical scroll distance.

Service Tier

Type: enum ('auto', 'default', 'flex', 'scale', 'priority') | null

Summary Text Content

A summary text from the model.

FieldTypeRequiredDescription
typeenum ('summary_text')YesObject type; always summary_text. (default: summary_text)
textstringYesA summary of the reasoning output from the model so far.

Text Response Format Configuration

Constrains the model's text output format. Use { "type": "json_schema" } for Structured Outputs (matches your JSON schema); the default is { "type": "text" }. { "type": "json_object" } selects the older JSON mode. Prefer json_schema.

Type: ResponseFormatText | TextResponseFormatJsonSchema | ResponseFormatJsonObject

Text Response Format Json Schema

JSON Schema response format. Used to generate structured JSON responses.

FieldTypeRequiredDescription
typeenum ('json_schema')YesResponse-format type; always json_schema.
descriptionstringNoDescribes what the format is for; the model uses it to decide how to respond.
namestringYesName of the response format. Allowed characters: a-z, A-Z, 0-9, underscores, and dashes, up to 64 characters.
schemaResponseFormatJsonSchemaSchemaYes
strictboolean | nullNoWhen true, the model must produce output that strictly conforms to the JSON Schema in the schema field. Only a subset of JSON Schema is supported in this mode. (default: false)

Token Counts Body

FieldTypeRequiredDescription
metadataMetadataNo
top_logprobsintegerNoAn integer between 0 and 20 giving the number of top alternative tokens to return at each position, each with its log probability. (minimum: 0, maximum: 20)
temperaturenumber | nullNoWhat sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both. (minimum: 0, maximum: 2, default: 1)
top_pnumber | nullNoNucleus sampling: only tokens whose cumulative probability is at most this value are considered. Must be greater than 0; values <= 0 return HTTP 400. Set this or temperature, not both. (minimum: 0, maximum: 1, default: 1)
userstringNoDeprecated. Being replaced by safety_identifier and prompt_cache_key; use prompt_cache_key to retain caching benefits. A stable end-user identifier used to improve cache hit rates and help detect abuse.
safety_identifierstringNoA stable identifier that helps detect users who may be violating usage policies. Use a string that uniquely identifies each user, up to 64 characters; hash a username or email so you do not send identifying information. (maxLength: 64)
prompt_cache_keystringNoGroups similar requests to improve cache hit rates. Replaces the user field.
service_tierServiceTierNo
prompt_cache_retentionenum ('in_memory', '24h') | nullNoThe retention policy for the prompt cache.
previous_response_idstring | nullNoIdentifier of a previous response to continue from. Use this to build multi-turn conversations with server-managed state. Cannot be combined with conversation.
modelstringNoID of the model used to generate the response.
reasoningReasoning | nullNo
backgroundboolean | nullNoWhether to run the response asynchronously in the background. Cannot be combined with stream. (default: false)
max_tool_callsinteger | nullNoMaximum number of built-in tool calls allowed while generating a response, counted across all built-in tools rather than per tool. The model ignores any calls beyond this limit. (minimum: 1)
textResponseTextParamNo
toolsToolsArrayNo
tool_choiceToolChoiceParamNo
promptPromptNo
truncationenum ('auto', 'disabled') | nullNoTruncation strategy for the request. Only disabled (the default) is supported: if the input plus requested output tokens exceed the model's context window, the request fails with a 400 error. The auto strategy is not supported. (default: disabled)
client_metadataobject | nullNoOptional client-provided request metadata. Accepted for compatibility and ignored.
inputInputParamNo
includearray of IncludeEnum | nullNoAdditional output data to return in the response. Use message.output_text.logprobs to return token-level log probabilities on output text (set together with top_logprobs and a reasoning.effort of none), and reasoning.encrypted_content to return encrypted reasoning items for stateless multi-turn replay.
parallel_tool_callsboolean | nullNoWhether the model may issue multiple tool calls in a single turn. (default: true)
storeboolean | nullNoWhether to persist the generated response so it can be retrieved later and chained from previous_response_id. (default: true)
instructionsstring | nullNoDeveloper-level instructions inserted at the top of the model's context. When previous_response_id is set, instructions from the prior response are not carried forward, so you can change them on each turn.
streamboolean | nullNoIf true, the response is streamed to the client as server-sent events as it is generated. Cannot be combined with background. (default: false)
stream_optionsResponseStreamOptionsNo
max_output_tokensinteger | nullNoUpper bound on the number of tokens generated for the response, counting both visible output and reasoning tokens. Minimum is 16; values above the model's configured maximum, or that exceed the remaining context window, return a 400 error. (minimum: 16)

Token Counts Resource

FieldTypeRequiredDescription
objectenum ('response.input_tokens')Yes(default: response.input_tokens)
input_tokensintegerYesTokens in the fully rendered model input, including resolved history and server prompt scaffolding. This is a context-size measurement, not cumulative response usage.

Tool

A tool the model can use while generating a response.

Type: FunctionTool | ComputerTool | WebSearchTool | ToolSearchToolParam

Tool Choice Options

auto lets the model choose between replying with a message and making one or more tool calls.

Type: enum ('auto')

Tool Choice Param

How the model selects tools while generating a response. See tools for how to declare the tools it may call.

Type: ToolChoiceOptions

Tool Search Call

FieldTypeRequiredDescription
typeenum ('tool_search_call')YesThe type of the item. Always tool_search_call. (default: tool_search_call)
idstringYesThe unique ID of the tool search call item.
call_idstring | nullYesThe unique ID of the tool search call generated by the model.
executionToolSearchExecutionTypeYesWhether tool search was executed by the server or by the client.
argumentsYesArguments used for the tool search call.
statusFunctionCallStatusYesThe status of the tool search call item that was recorded.
created_bystringNoThe identifier of the actor that created the item.

Tool Search Call Item Param

FieldTypeRequiredDescription
idstring | nullNoThe unique ID of this tool search call.
call_idstring | nullNoThe unique ID of the tool search call generated by the model. (minLength: 1, maxLength: 64)
typeenum ('tool_search_call')YesThe item type. Always tool_search_call. (default: tool_search_call)
executionToolSearchExecutionTypeNoWhether tool search was executed by the server or by the client.
argumentsEmptyModelParamYesThe arguments supplied to the tool search call.
statusFunctionCallItemStatus | nullNoThe status of the tool search call.

Tool Search Execution Type

Type: enum ('server', 'client')

Tool Search Output

FieldTypeRequiredDescription
typeenum ('tool_search_output')YesThe type of the item. Always tool_search_output. (default: tool_search_output)
idstringYesThe unique ID of the tool search output item.
call_idstring | nullYesThe unique ID of the tool search call generated by the model.
executionToolSearchExecutionTypeYesWhether tool search was executed by the server or by the client.
toolsarray of ToolYesThe loaded tool definitions returned by tool search.
statusFunctionCallOutputStatusEnumYesThe status of the tool search output item that was recorded.
created_bystringNoThe identifier of the actor that created the item.

Tool Search Output Item Param

FieldTypeRequiredDescription
idstring | nullNoThe unique ID of this tool search output.
call_idstring | nullNoThe unique ID of the tool search call generated by the model. (minLength: 1, maxLength: 64)
typeenum ('tool_search_output')YesThe item type. Always tool_search_output. (default: tool_search_output)
executionToolSearchExecutionTypeNoWhether tool search was executed by the server or by the client.
toolsarray of ToolYesThe loaded tool definitions returned by the tool search output.
statusFunctionCallItemStatus | nullNoThe status of the tool search output.

Tool Search Tool Param

Hosted or BYOT tool search configuration for deferred tools.

FieldTypeRequiredDescription
typeenum ('tool_search')YesThe type of the tool. Always tool_search. (default: tool_search)
executionToolSearchExecutionTypeNoWhether tool search is executed by the server or by the client.
descriptionstring | nullNoDescription shown to the model for a client-executed tool search tool.
parametersEmptyModelParam | nullNoParameter schema for a client-executed tool search tool.

Tools Array

An array of tools the model may call while generating a response. You can specify which tool to use by setting the tool_choice parameter. We support the following categories of tools: - Built-in tools: Tools that extend the model's capabilities, such as web search. - Function calls (custom tools): Functions that you define, enabling the model to call your own code with strongly typed arguments and outputs.

Type: array of Tool

Top Log Prob

The top log probability of a token.

FieldTypeRequiredDescription
tokenstringYes
logprobnumber | nullNoLog probability of this token. May be null when the backend omits the value.
bytesarray of integerYes

Type Param

An action to type in text.

FieldTypeRequiredDescription
typeenum ('type')YesSpecifies the event type. For a type action, this property is always set to type. (default: type)
textstringYesThe text to type.

Url Citation Body

Citation that points to a web resource used to ground the response.

FieldTypeRequiredDescription
typeenum ('url_citation')YesAnnotation type; always url_citation. (default: url_citation)
urlstringYesURL of the cited web resource.
start_indexintegerYesCharacter offset where the cited span begins in the output text.
end_indexintegerYesCharacter offset where the cited span ends in the output text.
titlestringYesTitle of the cited web resource.

Wait Param

A wait action.

FieldTypeRequiredDescription
typeenum ('wait')YesSpecifies the event type. For a wait action, this property is always set to wait. (default: wait)

Web Search Action Find

A find_in_page action: the model searches for a pattern within an opened page.

FieldTypeRequiredDescription
typeenum ('find_in_page')YesAction type; always find_in_page.
urlstring (uri)YesURL of the page that was searched.
patternstringYesText pattern searched for within the page.

Web Search Action Open Page

An open_page action: opens a specific URL from the search results.

FieldTypeRequiredDescription
typeenum ('open_page')YesAction type; always open_page.
urlstring (uri) | nullNoURL the model opened.

A search action: runs one or more web search queries.

FieldTypeRequiredDescription
typeenum ('search')YesAction type; always search.
querystringYes[DEPRECATED] The search query. Use queries instead.
queriesarray of stringNoThe search queries issued in this action.
sourcesarray of objectNoSources consulted during the search.
sources[].typeenum ('url')YesSource type; always url.
sources[].urlstring (uri)YesURL of the source.
downstream_request_idstringNoIdentifier for the downstream search request, surfaced for debugging.

Web Search Approximate Location

Type: object | null

Web Search Result Item

One result returned by a web search tool call.

FieldTypeRequiredDescription
typestringNoThe result type.
titlestringNoTitle of the result.
urlstringNoURL of the result.
snippetstringNoText snippet excerpted from the result.

Web Search Tool

Search the Internet for sources related to the prompt.

FieldTypeRequiredDescription
typeenum ('web_search', 'web_search_2025_08_26')YesThe tool type; one of web_search or web_search_2025_08_26. (default: web_search)
filtersobject | nullNoFilters that narrow the search.
user_locationWebSearchApproximateLocationNo
search_context_sizeenum ('low', 'medium', 'high')NoHow much context window space the search may use; one of low, medium, or high, defaulting to medium. (default: medium)

Web Search Tool Call

The results of a web search tool call.

FieldTypeRequiredDescription
idstringYesIdentifier for this web search tool call.
typeenum ('web_search_call')YesItem type; always web_search_call.
statusenum ('in_progress', 'searching', 'completed', 'failed')YesStatus of the web search tool call.
actionWebSearchActionSearch | WebSearchActionOpenPage | WebSearchActionFindYesThe specific action taken in this web search call, such as search, open_page, or find_in_page.
resultsarray of WebSearchResultItem | nullNoResults from the web search tool call. Populated only when the request's include array contains web_search_call.results.

Web Search Tool Call Param

A web search tool call replayed back as input. Identical to the response-side item except that id may be omitted: a stateless client replaying a prior hosted-search turn did not receive one to send back.

FieldTypeRequiredDescription
idstringNoIdentifier for this web search tool call. Optional on input; omit it when replaying a turn for which no identifier was issued.
typeenum ('web_search_call')YesItem type; always web_search_call.
statusenum ('in_progress', 'searching', 'completed', 'failed')YesStatus of the web search tool call.
actionWebSearchActionSearch | WebSearchActionOpenPage | WebSearchActionFindYesThe specific action taken in this web search call, such as search, open_page, or find_in_page.
resultsarray of WebSearchResultItem | nullNoResults from the web search tool call. Populated only when the request's include array contains web_search_call.results.

Mirrored from dev.meta.ai/docs/api-reference/responses/schemas (synced Oct 30, 2026). Text and examples © Meta. Live demos run on Muse Muse's key.

Esc

Loading...