{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/openai/main/json-schema/openai-decision-request-schema.json", "title": "DecisionRequest", "x-generated": "2026-10-13", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/openai-decisions-api-openapi.yml#/components/schemas/DecisionRequest", "type": "object", "properties": { "model": { "type": "string", "minLength": 0, "maxLength": 1048576 }, "input": { "$ref": "#/$defs/DecisionInput" }, "questions": { "type": "array", "items": { "$ref": "#/$defs/QuestionParam" }, "minItems": 1, "maxItems": 200 }, "safety_identifier": { "type": [ "string", "null" ], "minLength": 0, "maxLength": 128, "description": "Opaque caller-provided end-user identifier, scoped by the verified org. Match Responses' limit; this is never the authenticated user identity." } }, "required": [ "model", "input", "questions" ], "additionalProperties": false, "$defs": { "ChoiceOptionParam": { "type": "object", "properties": { "value": { "$ref": "#/$defs/ChoiceValueParam" }, "description": { "type": "string", "minLength": 0, "maxLength": 1048576 } }, "required": [ "value" ], "additionalProperties": false }, "ChoiceValueParam": { "oneOf": [ { "type": "string", "minLength": 0, "maxLength": 1048576 }, { "type": "boolean" } ], "description": "Choice values are typed: a string and a boolean with the same text are distinct." }, "DecisionInput": { "oneOf": [ { "type": "string", "minLength": 0, "maxLength": 10485760 }, { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/DecisionInputMessage" } ], "x-oai-discriminator-values": [ "message" ], "x-oai-default-discriminator-value": "message" }, "minItems": 0, "maxItems": 131072 } ], "description": "The text or images to evaluate for every question. Provide a text string or user messages containing text and images. Images can be base64 data URLs or publicly accessible HTTP(S) URLs; at most 128 images are allowed across all messages in one request. Files, audio, tools, and item references are not supported." }, "DecisionInputContent": { "oneOf": [ { "type": "string", "minLength": 0, "maxLength": 10485760 }, { "$ref": "#/$defs/DecisionInputContentParts", "title": "Parts" } ], "description": "Text evidence or an ordered list of text and image parts." }, "DecisionInputContentParts": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/DecisionInputText" }, { "$ref": "#/$defs/DecisionInputImage" } ], "x-oai-discriminator-values": [ "input_text", "input_image" ] }, "minItems": 0, "maxItems": 16384 }, "DecisionInputImage": { "type": "object", "properties": { "image_url": { "type": "string", "minLength": 0, "maxLength": 1073741824, "pattern": "^(data:|https?://)", "description": "A base64-encoded image in a data URL or a publicly accessible HTTP(S) image URL." }, "detail": { "anyOf": [ { "$ref": "#/$defs/ImageDetailParam" }, { "type": "null" } ], "description": "The image detail level, using the selected model's image profile. Defaults to auto.", "default": "auto" }, "type": { "type": "string", "enum": [ "input_image" ], "default": "input_image", "x-stainless-const": true } }, "required": [ "image_url", "type" ], "additionalProperties": false, "description": "An image provided as a base64 data URL or a publicly accessible HTTP(S) URL. File IDs are not supported." }, "DecisionInputMessage": { "type": "object", "properties": { "role": { "type": "string", "enum": [ "user" ], "default": "user", "x-stainless-const": true }, "content": { "$ref": "#/$defs/DecisionInputContent" }, "type": { "type": "string", "enum": [ "message" ], "default": "message", "x-stainless-const": true } }, "required": [ "role", "content" ], "additionalProperties": false, "description": "A user message containing text or images." }, "DecisionInputText": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "input_text" ], "default": "input_text", "x-stainless-const": true }, "text": { "type": "string", "minLength": 0, "maxLength": 10485760 } }, "required": [ "type", "text" ], "additionalProperties": false }, "ImageDetailParam": { "type": "string", "enum": [ "low", "high", "auto", "original" ] }, "QuestionParam": { "oneOf": [ { "$ref": "#/$defs/QuestionParamPredicate" }, { "$ref": "#/$defs/QuestionParamChoice" }, { "$ref": "#/$defs/QuestionParamScore" } ], "x-oai-discriminator-values": [ "predicate", "choice", "score" ], "description": "A question about the request's input, with an optional correlation name." }, "QuestionParamChoice": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "choice" ], "default": "choice", "x-stainless-const": true, "description": "The type of the object. Always `choice`." }, "name": { "type": "string", "minLength": 0, "maxLength": 1048576 }, "instructions": { "type": "string", "minLength": 0, "maxLength": 1048576 }, "choices": { "type": "array", "items": { "$ref": "#/$defs/ChoiceOptionParam" }, "minItems": 2, "maxItems": 255, "description": "Provide between 2 and 255 choices. Each choice must be unique." } }, "required": [ "type", "instructions", "choices" ], "additionalProperties": false, "description": "Choose from the supplied options based on the input." }, "QuestionParamPredicate": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "predicate" ], "default": "predicate", "x-stainless-const": true, "description": "The type of the object. Always `predicate`." }, "name": { "type": "string", "minLength": 0, "maxLength": 1048576 }, "instructions": { "type": "string", "minLength": 0, "maxLength": 1048576 } }, "required": [ "type", "instructions" ], "additionalProperties": false, "description": "Estimate how likely it is that a statement about the input is true." }, "QuestionParamScore": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "score" ], "default": "score", "x-stainless-const": true, "description": "The type of the object. Always `score`." }, "name": { "type": "string", "minLength": 0, "maxLength": 1048576 }, "instructions": { "type": "string", "minLength": 0, "maxLength": 1048576 }, "levels": { "type": "array", "items": { "$ref": "#/$defs/ScoreLevelParam" }, "minItems": 2, "maxItems": 10 } }, "required": [ "type", "instructions", "levels" ], "additionalProperties": false, "description": "Rate the input against the supplied ordered levels." }, "ScoreLevelParam": { "type": "object", "properties": { "label": { "type": "string", "minLength": 0, "maxLength": 1048576 }, "description": { "type": "string", "minLength": 0, "maxLength": 1048576 } }, "required": [ "label" ], "additionalProperties": false } } }