/v1/schemas/azure/chat/responses
| field | recorded source |
|---|---|
| schema | Source linked above. upstream-spec Source trace9fade08c5d30751828e67fecca63b3800567c802d1d6c4c91bba3d193843f7a8{
"fetchedAt": 1791349936,
"extractorVersion": "1",
"verifiedAt": null
} |
Request body
28 properties · 0 required · 28 $defs| property | type | description | constraints |
|---|---|---|---|
| metadata | OpenAI.Metadata | 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 characte… | nullable |
| top_logprobs | integer | nullable | |
| temperature | number | nullable | |
| top_p | number | nullable | |
| user | string | This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use `prompt_cache_key` instead to maintain caching optimizations. A stable identifier for your end-users. Used to boost cache hit rates by better bucketing similar requests and to help… | deprecated |
| safety_identifier | string | A stable identifier used to help detect users of your application that may be violating OpenAI's usage policies. The IDs should be a string that uniquely identifies each user, with a maximum length of 64 characters. We recommend hashing their username or email… | length ≤ 64 |
| prompt_cache_key | string | Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](/docs/guides/prompt-caching). | |
| prompt_cache_retention | enum | in_memory | 24h · nullable | |
| previous_response_id | string | nullable | |
| 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. Refer to the [model guide](/docs/models) to browse and compare available models. | |
| reasoning | OpenAI.Reasoning | **gpt-5 and o-series models only** Configuration options for [reasoning models](https://platform.openai.com/docs/guides/reasoning). | nullable |
| background | boolean | nullable | |
| max_tool_calls | integer | nullable | |
| text | OpenAI.ResponseTextParam | Configuration options for a text response from the model. Can be plain text or structured JSON data. Learn more: - [Text inputs and outputs](/docs/guides/text) - [Structured Outputs](/docs/guides/structured-outputs) | |
| tools | OpenAI.Tool[] | 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. | |
| tool_choice | enum | object | ||
| prompt | OpenAI.Prompt | Reference to a prompt template and its variables. [Learn more](/docs/guides/text?api-mode=responses#reusable-prompts). | |
| truncation | enum | auto | disabled · nullable | |
| input | string | OpenAI.InputItem[] | Text, image, or file inputs to the model, used to generate a response. Learn more: - [Text inputs and outputs](/docs/guides/text) - [Image inputs](/docs/guides/images) - [File inputs](/docs/guides/pdf-files) - [Conversation state](/docs/guides/conversation-sta… | |
| include | OpenAI.IncludeEnum[] | nullable | |
| parallel_tool_calls | boolean | nullable | |
| store | boolean | nullable | |
| instructions | string | nullable | |
| stream | boolean | nullable | |
| stream_options | OpenAI.ResponseStreamOptions | Options for streaming responses. Only set this when you set `stream: true`. | nullable |
| conversation | string | Conversation object | The conversation that this response belongs to. Items from this conversation are prepended to `input_items` for this response request. Input items and output items from this response are automatically added to this conversation after this response completes. | nullable |
| context_management | OpenAI.ContextManagementParam[] | Context management configuration for this request. | nullable |
| max_output_tokens | integer | nullable |
Types
28 $defsOpenAI.ContextManagementParamobject
| type* | string | The context management entry type. Currently only 'compaction' is supported. | |
| compact_threshold | integer | nullable |
OpenAI.ConversationParamstring | Conversation object
The conversation that this response belongs to. Items from this conversation are prepended to `input_items` for this response request. Input items and output items from this response are automatically added to this conversation after this response completes.
OpenAI.ConversationParam-2object
The conversation that this response belongs to.
| id* | string | The unique ID of the conversation. |
OpenAI.FileInputDetailenum
low | high
OpenAI.ImageDetailenum
low | high | auto | original
OpenAI.IncludeEnumstring | enum
Specify additional output data to include in the model response. Currently supported values are: - `web_search_call.results`: Include the search results of the web search tool call. - `web_search_call.action.sources`: Include the sources of the web search tool…
OpenAI.InputFileContentobject
A file input to the model.
| type* | enum | The type of the input item. Always `input_file`. | input_file · default: "input_file" |
| file_id | string | nullable | |
| filename | string | The name of the file to be sent to the model. | |
| file_data | string | The content of the file to be sent to the model. | |
| file_url | string | The URL of the file to be sent to the model. | format: uri |
| detail | enum | The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. | low | high |
OpenAI.InputImageContentobject
An image input to the model. Learn about [image inputs](/docs/guides/vision).
| type* | enum | The type of the input item. Always `input_image`. | input_image · default: "input_image" |
| image_url | string | format: uri · nullable | |
| file_id | string | nullable | |
| detail* | enum | The detail level of the image to be sent to the model. One of `high`, `low`, `auto`, or `original`. Defaults to `auto`. | low | high | auto | original |
OpenAI.InputItemobject
An item representing part of the context for the response to be generated by the model. Can contain text, images, and audio inputs, as well as previous assistant responses and tool call outputs.
| type* | string | enum |
OpenAI.InputItemTypestring | enum
OpenAI.InputParamstring | OpenAI.InputItem[]
Text, image, or file inputs to the model, used to generate a response. Learn more: - [Text inputs and outputs](/docs/guides/text) - [Image inputs](/docs/guides/images) - [File inputs](/docs/guides/pdf-files) - [Conversation state](/docs/guides/conversation-sta…
OpenAI.InputTextContentobject
A text input to the model.
| type* | enum | The type of the input item. Always `input_text`. | input_text · default: "input_text" |
| text* | string | The text input to the model. |
OpenAI.Metadataobject
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 characte…
OpenAI.Promptobject
Reference to a prompt template and its variables. [Learn more](/docs/guides/text?api-mode=responses#reusable-prompts).
| id* | string | The unique identifier of the prompt template to use. | |
| version | string | nullable | |
| variables | OpenAI.ResponsePromptVariables | Optional map of values to substitute in for variables in your prompt. The substitution values can either be strings, or other Response input types like images or files. | nullable |
OpenAI.Reasoningobject
**gpt-5 and o-series models only** Configuration options for [reasoning models](https://platform.openai.com/docs/guides/reasoning).
| effort | enum | Constrains effort on reasoning for [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - `xhigh` is supported for all models after `gpt-5.1-codex-max`. | none | minimal | low | medium | high | xhigh · nullable |
| summary | enum | auto | concise | detailed · nullable | |
| generate_summary | enum | auto | concise | detailed · nullable |
OpenAI.ReasoningEffortenum
Constrains effort on reasoning for [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
none | minimal | low | medium | high | xhigh · nullable
OpenAI.ResponsePromptVariablesobject
Optional map of values to substitute in for variables in your prompt. The substitution values can either be strings, or other Response input types like images or files.
OpenAI.ResponseStreamOptionsobject
Options for streaming responses. Only set this when you set `stream: true`.
| include_obfuscation | boolean | When true, stream obfuscation will be enabled. Stream obfuscation adds random characters to an `obfuscation` field on streaming delta events to normalize payload sizes as a mitigation to certain side-channel attacks. These obfuscation fields are included by de… |
OpenAI.ResponseTextParamobject
Configuration options for a text response from the model. Can be plain text or structured JSON data. Learn more: - [Text inputs and outputs](/docs/guides/text) - [Structured Outputs](/docs/guides/structured-outputs)
| format | OpenAI.TextResponseFormatConfiguration | An object specifying the format that the model must output. Configuring `{ "type": "json_schema" }` enables Structured Outputs, which ensures the model will match your supplied JSON schema. Learn more in the [Structured Outputs guide](/docs/guides/structured-o… | |
| verbosity | enum | Constrains the verbosity of the model's response. Lower values will result in more concise responses, while higher values will result in more verbose responses. Currently supported values are `low`, `medium`, and `high`. | low | medium | high · nullable |
OpenAI.TextResponseFormatConfigurationobject
An object specifying the format that the model must output. Configuring `{ "type": "json_schema" }` enables Structured Outputs, which ensures the model will match your supplied JSON schema. Learn more in the [Structured Outputs guide](/docs/guides/structured-o…
| type* | string | enum |
OpenAI.TextResponseFormatConfigurationTypestring | enum
OpenAI.Toolobject
A tool that can be used to generate a response.
| type* | string | enum |
OpenAI.ToolChoiceOptionsenum
Controls which (if any) tool is called by the model. `none` means the model will not call any tool and instead generates a message. `auto` means the model can pick between generating a message or calling one or more tools. `required` means the model must call …
none | auto | required
OpenAI.ToolChoiceParamobject
How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools the model can call.
| type* | string | enum |
OpenAI.ToolChoiceParamTypestring | enum
OpenAI.ToolsArrayOpenAI.Tool[]
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 are provided by OpenAI that extend the mo…
| type* | string | enum |
OpenAI.ToolTypestring | enum
OpenAI.Verbosityenum
Constrains the verbosity of the model's response. Lower values will result in more concise responses, while higher values will result in more verbose responses. Currently supported values are `low`, `medium`, and `high`.
low | medium | high · nullable
Validate a payload
before you spend tokens$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"azure","endpointId":"responses","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}