GET

/v1/schemas/azure/chat/responses?kind=output

kind outputactivity chathash 0e56f09b…extracted Oct 7, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
9fade08c5d30751828e67fecca63b3800567c802d1d6c4c91bba3d193843f7a8
{
  "fetchedAt": 1791349936,
  "extractorVersion": "1",
  "verifiedAt": null
}

Response body

33 properties · 8 required · 42 $defs
propertytypedescriptionconstraints
id*stringUnique identifier for this Response.
object*enumThe object type of this resource - always set to `response`.response
created_at*integerUnix timestamp (in seconds) of when this Response was created.format: unixtime
error*OpenAI.ResponseErrorAn error object returned when the model fails to generate a Response.nullable
incomplete_details*OpenAI.ResponseIncompleteDetailsnullable
output*OpenAI.OutputItem[]An array of content items generated by the model. - The length and order of items in the `output` array is dependent on the model's response. - Rather than accessing the first item in the `output` array and assuming it's an `assistant` message with the content…
instructions*string | OpenAI.InputItem[]nullable
parallel_tool_calls*booleanWhether to allow the model to run tool calls in parallel.default: true
metadataOpenAI.MetadataSet 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_logprobsintegernullable
temperaturenumbernullable
top_pnumbernullable
userstringThis 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_identifierstringA 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_keystringUsed 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_retentionenumin_memory | 24h · nullable
previous_response_idstringnullable
modelstringModel 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.
reasoningOpenAI.Reasoning**gpt-5 and o-series models only** Configuration options for [reasoning models](https://platform.openai.com/docs/guides/reasoning).nullable
backgroundbooleannullable
max_tool_callsintegernullable
textOpenAI.ResponseTextParamConfiguration 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)
toolsOpenAI.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…
tool_choiceenum | object
promptOpenAI.PromptReference to a prompt template and its variables. [Learn more](/docs/guides/text?api-mode=responses#reusable-prompts).
truncationenumauto | disabled · nullable
statusenumThe status of the response generation. One of `completed`, `failed`, `in_progress`, `cancelled`, `queued`, or `incomplete`.completed | failed | in_progress | cancelled | queued | incomplete
completed_atstringformat: date-time · nullable
output_textstringnullable
usageOpenAI.ResponseUsageRepresents token usage details including input tokens, output tokens, a breakdown of output tokens, and the total tokens used.
conversationOpenAI.ConversationReferenceThe conversation that this response belonged to. Input items and output items from this response were automatically added to this conversation.nullable
max_output_tokensintegernullable
content_filtersAzureContentFilterForResponsesAPI[]The content filter results from RAI.

Types

42 $defs

AzureContentFilterBlocklistResultobject

A collection of true/false filtering results for configured custom blocklists.

filtered*booleanA value indicating whether any of the detailed blocklists resulted in a filtering action.
detailsobject[]The pairs of individual blocklist IDs and whether they resulted in a filtering action.

AzureContentFilterCompletionTextSpanobject

A representation of a span of completion text as used by Azure OpenAI content filter results.

completion_start_offset*integerOffset of the UTF32 code point which begins the span.format: int32
completion_end_offset*integerOffset of the first UTF32 code point which is excluded from the span. This field is always equal to completion_start_offset for empty spans. This field is always larger than completion_start_offset for non-empty spans.format: int32

AzureContentFilterCompletionTextSpanDetectionResultobject

filtered*booleanWhether the content detection resulted in a content filtering action.
detected*booleanWhether the labeled content category was detected in the content.
details*AzureContentFilterCompletionTextSpan[]Detailed information about the detected completion text spans.

AzureContentFilterCustomTopicResultobject

A collection of true/false filtering results for configured custom topics.

filtered*booleanA value indicating whether any of the detailed topics resulted in a filtering action.
detailsobject[]The pairs of individual topic IDs and whether they are detected.

AzureContentFilterDetectionResultobject

A labeled content filter result item that indicates whether the content was detected and whether the content was filtered.

filtered*booleanWhether the content detection resulted in a content filtering action.
detected*booleanWhether the labeled content category was detected in the content.

AzureContentFilterForResponsesAPIobject

blocked*booleanIndicate if the response is blocked.
source_type*stringThe name of the source type of the message.
content_filter_results*AzureContentFilterResultsForResponsesAPIA content filter result for a single response item produced by a generative AI system.
content_filter_offsets*AzureContentFilterResultOffsets
tool_call_idstringThe ID of the tool call associated with this content filter result, if applicable.

AzureContentFilterPersonallyIdentifiableInformationResultAzureContentFilterDetectionResult

A labeled content filter result item that indicates whether the content was detected and whether the content was filtered.

filtered*booleanWhether the content detection resulted in a content filtering action.
detected*booleanWhether the labeled content category was detected in the content.

AzureContentFilterResultOffsetsobject

start_offset*integerformat: int32
end_offset*integerformat: int32
check_offset*integerformat: int32

AzureContentFilterResultsForResponsesAPIobject

sexualAzureContentFilterSeverityResultA labeled content filter result item that indicates whether the content was filtered and what the qualitative severity level of the content was, as evaluated against content filter configuration for the category.
hateAzureContentFilterSeverityResultA labeled content filter result item that indicates whether the content was filtered and what the qualitative severity level of the content was, as evaluated against content filter configuration for the category.
violenceAzureContentFilterSeverityResultA labeled content filter result item that indicates whether the content was filtered and what the qualitative severity level of the content was, as evaluated against content filter configuration for the category.
self_harmAzureContentFilterSeverityResultA labeled content filter result item that indicates whether the content was filtered and what the qualitative severity level of the content was, as evaluated against content filter configuration for the category.
profanityAzureContentFilterDetectionResultA labeled content filter result item that indicates whether the content was detected and whether the content was filtered.
custom_blocklistsAzureContentFilterBlocklistResultA collection of true/false filtering results for configured custom blocklists.
custom_topicsAzureContentFilterCustomTopicResultA collection of true/false filtering results for configured custom topics.
errorobjectIf present, details about an error that prevented content filtering from completing its evaluation.
jailbreak*AzureContentFilterDetectionResultA labeled content filter result item that indicates whether the content was detected and whether the content was filtered.
task_adherence*AzureContentFilterDetectionResultA labeled content filter result item that indicates whether the content was detected and whether the content was filtered.
protected_material_textAzureContentFilterDetectionResultA labeled content filter result item that indicates whether the content was detected and whether the content was filtered.
protected_material_codeobjectA detection result that describes a match against licensed code or other protected source material.
ungrounded_materialAzureContentFilterCompletionTextSpanDetectionResult
personally_identifiable_informationAzureContentFilterDetectionResultA labeled content filter result item that indicates whether the content was detected and whether the content was filtered.
indirect_attackAzureContentFilterDetectionResultA labeled content filter result item that indicates whether the content was detected and whether the content was filtered.

AzureContentFilterSeverityResultobject

A labeled content filter result item that indicates whether the content was filtered and what the qualitative severity level of the content was, as evaluated against content filter configuration for the category.

filtered*booleanWhether the content severity resulted in a content filtering action.
severity*enumThe labeled severity of the content.safe | low | medium | high

AzurePiiSubCategoryResultobject

Result details for individual PIIHarmSubCategory(s).

sub_category*stringThe PIIHarmSubCategory that was evaluated.
filtered*booleanWhether the content detection resulted in a content filtering action for this subcategory.
detected*booleanWhether the labeled content subcategory was detected in the content.
redacted*booleanWhether the content was redacted for this subcategory.

OpenAI.ConversationReferenceobject

The conversation that this response belonged to. Input items and output items from this response were automatically added to this conversation.

id*stringThe unique ID of the conversation that this response was associated with.

OpenAI.FileInputDetailenum

low | high

OpenAI.ImageDetailenum

low | high | auto | original

OpenAI.InputFileContentobject

A file input to the model.

type*enumThe type of the input item. Always `input_file`.input_file · default: "input_file"
file_idstringnullable
filenamestringThe name of the file to be sent to the model.
file_datastringThe content of the file to be sent to the model.
file_urlstringThe URL of the file to be sent to the model.format: uri
detailenumThe 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*enumThe type of the input item. Always `input_image`.input_image · default: "input_image"
image_urlstringformat: uri · nullable
file_idstringnullable
detail*enumThe 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.InputTextContentobject

A text input to the model.

type*enumThe type of the input item. Always `input_text`.input_text · default: "input_text"
text*stringThe 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.OutputItemobject

type*string | enum

OpenAI.OutputItemTypestring | enum

OpenAI.Promptobject

Reference to a prompt template and its variables. [Learn more](/docs/guides/text?api-mode=responses#reusable-prompts).

id*stringThe unique identifier of the prompt template to use.
versionstringnullable
variablesOpenAI.ResponsePromptVariablesOptional 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).

effortenumConstrains 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
summaryenumauto | concise | detailed · nullable
generate_summaryenumauto | 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.ResponseErrorobject

An error object returned when the model fails to generate a Response.

code*enumThe error code for the response.server_error | rate_limit_exceeded | invalid_prompt | vector_store_timeout | invalid_image | invalid_image_format · +12 more
message*stringA human-readable description of the error.

OpenAI.ResponseErrorCodeenum

The error code for the response.

server_error | rate_limit_exceeded | invalid_prompt | vector_store_timeout | invalid_image | invalid_image_format · +12 more

OpenAI.ResponseIncompleteDetailsobject

reasonenummax_output_tokens | content_filter

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.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)

formatOpenAI.TextResponseFormatConfigurationAn 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…
verbosityenumConstrains 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.ResponseUsageobject

Represents token usage details including input tokens, output tokens, a breakdown of output tokens, and the total tokens used.

input_tokens*integerThe number of input tokens.
input_tokens_details*OpenAI.ResponseUsageInputTokensDetailsA detailed breakdown of the input tokens.
output_tokens*integerThe number of output tokens.
output_tokens_details*OpenAI.ResponseUsageOutputTokensDetailsA detailed breakdown of the output tokens.
total_tokens*integerThe total number of tokens used.

OpenAI.ResponseUsageInputTokensDetailsobject

cached_tokens*integer

OpenAI.ResponseUsageOutputTokensDetailsobject

reasoning_tokens*integer

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
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"azure","endpointId":"responses","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}