ChatGPT · Schema
CreateResponseRequest
AgentsAIChatGPTEmbeddingsFine-TuningGPT-4GPT-5Language ModelOpenAIRealtime
Properties
| Name | Type | Description |
|---|---|---|
| model | string | Model ID used to generate the response, like gpt-4o or o3. OpenAI offers a wide range of models with different capabilities, performance characteristics, and price points. |
| input | object | Text, image, or file inputs to the model, used to generate a response. Can be a string for simple text input, or an array of input items for multi-turn and multimodal inputs. |
| instructions | string | A system (or developer) message inserted at the beginning of the model's context. Use this for top-level guidance on the model's behavior, tone, or constraints. |
| previous_response_id | string | The unique ID of the previous response to the model. Use this to create multi-turn conversations. The model will use the previous response as context. |
| max_output_tokens | integer | An upper bound for the number of tokens that can be generated for a response, including visible output tokens and reasoning tokens. |
| temperature | number | What sampling temperature to use, between 0 and 2. Higher values like 0.8 make the output more random, while lower values like 0.2 make it more focused and deterministic. |
| top_p | number | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. |
| tools | array | An array of tools the model may use to generate a response. Supports built-in tools (web_search_preview, file_search, code_interpreter, computer_use_preview) and custom function tools. |
| tool_choice | object | How the model should select which tool to use. auto allows the model to decide, required forces the model to use a tool, none disables tool use. |
| truncation | string | The truncation strategy to use for the model context. auto will use the model-defined default truncation strategy. disabled will error if the context exceeds the model's context window. |
| text | object | Configuration for text response format. |
| reasoning | object | Configuration for reasoning models (o-series). Controls how much reasoning effort the model uses. |
| store | boolean | Whether to store the generated response for later retrieval via the GET /responses endpoint. Defaults to true. |
| metadata | object | Set of 16 key-value pairs that can be attached to an object. Useful for storing additional information in a structured format. |
| stream | boolean | If set to true, the model response data will be streamed as server-sent events to the client. |
| parallel_tool_calls | boolean | Whether to allow the model to run tool calls in parallel. |
| user | string | A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/CreateResponseRequest",
"title": "CreateResponseRequest",
"type": "object",
"required": [
"model",
"input"
],
"properties": {
"model": {
"type": "string",
"description": "Model ID used to generate the response, like gpt-4o or o3.\nOpenAI offers a wide range of models with different capabilities,\nperformance characteristics, and price points.\n",
"examples": [
"gpt-4o",
"gpt-4o-mini",
"o1",
"o3",
"o3-mini",
"gpt-4.1",
"gpt-4.1-mini",
"gpt-4.1-nano"
]
},
"input": {
"description": "Text, image, or file inputs to the model, used to generate\na response. Can be a string for simple text input, or an\narray of input items for multi-turn and multimodal inputs.\n",
"oneOf": [
{
"type": "string",
"description": "A text input to the model."
},
{
"type": "array",
"description": "A list of input items to the model.",
"items": {
"$ref": "#/components/schemas/ResponseInputItem"
}
}
],
"example": "example_value"
},
"instructions": {
"type": "string",
"description": "A system (or developer) message inserted at the beginning\nof the model's context. Use this for top-level guidance\non the model's behavior, tone, or constraints.\n",
"nullable": true,
"example": "example_value"
},
"previous_response_id": {
"type": "string",
"description": "The unique ID of the previous response to the model. Use\nthis to create multi-turn conversations. The model will\nuse the previous response as context.\n",
"nullable": true,
"example": "500123"
},
"max_output_tokens": {
"type": "integer",
"description": "An upper bound for the number of tokens that can be generated\nfor a response, including visible output tokens and reasoning\ntokens.\n",
"nullable": true,
"example": 10
},
"temperature": {
"type": "number",
"description": "What sampling temperature to use, between 0 and 2. Higher\nvalues like 0.8 make the output more random, while lower\nvalues like 0.2 make it more focused and deterministic.\n",
"minimum": 0,
"maximum": 2,
"default": 1,
"example": 42.5
},
"top_p": {
"type": "number",
"description": "An alternative to sampling with temperature, called nucleus\nsampling, where the model considers the results of the\ntokens with top_p probability mass.\n",
"minimum": 0,
"maximum": 1,
"default": 1,
"example": 42.5
},
"tools": {
"type": "array",
"description": "An array of tools the model may use to generate a response.\nSupports built-in tools (web_search_preview, file_search,\ncode_interpreter, computer_use_preview) and custom function\ntools.\n",
"items": {
"$ref": "#/components/schemas/ResponseTool"
},
"example": []
},
"tool_choice": {
"description": "How the model should select which tool to use. auto allows\nthe model to decide, required forces the model to use a\ntool, none disables tool use.\n",
"oneOf": [
{
"type": "string",
"enum": [
"auto",
"required",
"none"
]
},
{
"$ref": "#/components/schemas/ResponseToolChoice"
}
],
"example": "example_value"
},
"truncation": {
"type": "string",
"description": "The truncation strategy to use for the model context. auto\nwill use the model-defined default truncation strategy.\ndisabled will error if the context exceeds the model's\ncontext window.\n",
"enum": [
"auto",
"disabled"
],
"default": "disabled",
"nullable": true,
"example": "auto"
},
"text": {
"type": "object",
"description": "Configuration for text response format.",
"properties": {
"format": {
"type": "object",
"description": "An object specifying the format of the response text.\n",
"properties": {
"type": {
"type": "string",
"description": "The format type.",
"enum": [
"text",
"json_object",
"json_schema"
]
},
"name": {
"type": "string",
"description": "The name of the response format. Required when type\nis json_schema.\n"
},
"description": {
"type": "string",
"description": "Description of the response format."
},
"schema": {
"type": "object",
"description": "The JSON schema for the response. Required when type\nis json_schema.\n"
},
"strict": {
"type": "boolean",
"description": "Whether strict schema adherence is enabled."
}
}
}
},
"example": "example_value"
},
"reasoning": {
"type": "object",
"description": "Configuration for reasoning models (o-series). Controls\nhow much reasoning effort the model uses.\n",
"nullable": true,
"properties": {
"effort": {
"type": "string",
"description": "Constrains effort on reasoning for reasoning models.\n",
"enum": [
"low",
"medium",
"high"
],
"default": "medium"
},
"summary": {
"type": "string",
"description": "A summary of the reasoning performed by the model.\nCan be useful for debugging or understanding model\nbehavior. Supported values are auto, concise, and\ndetailed.\n",
"enum": [
"auto",
"concise",
"detailed"
],
"nullable": true
}
},
"example": "example_value"
},
"store": {
"type": "boolean",
"description": "Whether to store the generated response for later retrieval\nvia the GET /responses endpoint. Defaults to true.\n",
"default": true,
"example": true
},
"metadata": {
"type": "object",
"description": "Set of 16 key-value pairs that can be attached to an object.\nUseful for storing additional information in a structured format.\n",
"nullable": true,
"additionalProperties": {
"type": "string"
},
"maxProperties": 16,
"example": "example_value"
},
"stream": {
"type": "boolean",
"description": "If set to true, the model response data will be streamed\nas server-sent events to the client.\n",
"default": false,
"example": true
},
"parallel_tool_calls": {
"type": "boolean",
"description": "Whether to allow the model to run tool calls in parallel.",
"default": true,
"example": true
},
"user": {
"type": "string",
"description": "A unique identifier representing your end-user, which can\nhelp OpenAI to monitor and detect abuse.\n",
"example": "example_value"
}
}
}