{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/cloudmersive/json-schema/cloudmersive-document-questions-request-schema.json",
  "title": "DocumentQuestionsRequest",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/cloudmersive-analyze-api-openapi.yml#/components/schemas/DocumentQuestionsRequest",
  "type": "object",
  "properties": {
    "InputFile": {
      "format": "byte",
      "description": "Input file as a byte array",
      "type": "string"
    },
    "QuestionsYesNo": {
      "description": "Optional: Yes or No boolean questions to answer about the document",
      "type": "array",
      "items": {
        "$ref": "#/$defs/DocumentQuestionBoolean"
      }
    },
    "QuestionsMultipleChoice": {
      "description": "Optional: Multiple choice questions to answer about the document",
      "type": "array",
      "items": {
        "$ref": "#/$defs/DocumentQuestionMultipleChoice"
      }
    },
    "QuestionsFreeResponse": {
      "description": "Optional: Free response questions to answer about the document",
      "type": "array",
      "items": {
        "$ref": "#/$defs/DocumentQuestionFreeResponse"
      }
    },
    "RecognitionMode": {
      "description": "Optional; Recognition mode - Normal (default) provides the highest accuracy but slower speed, FastPlus provides even faster processing at somewhat reduced accuracy, Fast provides faster processing at reduced accuracy, and FastMini provides the fastest processing at significantly reduced accuracy",
      "type": "string"
    }
  },
  "additionalProperties": false,
  "$defs": {
    "DocumentQuestionBoolean": {
      "description": "Boolean document question",
      "type": "object",
      "properties": {
        "QuestionId": {
          "description": "Unique ID of the question, e.g. 1 or 2A",
          "type": "string"
        },
        "QuestionText": {
          "description": "Question in natural language to ask of the document where the answer resolves to YES or NO, e.g. 'Is this document signed and countersigned by both parties?'",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "DocumentQuestionChoiceItem": {
      "description": "Possible response choice for a multiple-choice question",
      "type": "object",
      "properties": {
        "ChoiceId": {
          "description": "Unique ID of the response choice, e.g. 3C",
          "type": "string"
        },
        "ChoiceText": {
          "description": "Description text of this choice, e.g. 'Delaware'",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "DocumentQuestionFreeResponse": {
      "description": "Free response question",
      "type": "object",
      "properties": {
        "QuestionId": {
          "description": "Unique ID of the question, e.g. 7 or 5A",
          "type": "string"
        },
        "QuestionText": {
          "description": "Question in natural language to ask of the document where the answer resolves to a free response, e.g. 'Who is the counterparty in this agreement?'",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "DocumentQuestionMultipleChoice": {
      "description": "Multiple choice question",
      "type": "object",
      "properties": {
        "QuestionId": {
          "description": "Unique ID of the question, e.g. 1 or 2A",
          "type": "string"
        },
        "QuestionText": {
          "description": "Question in natural language to ask of the document where the answer resolves to one of a fixed number of provided choices, e.g. 'What is the governing law of this agreement?'",
          "type": "string"
        },
        "ResponseChoices": {
          "description": "Possible response choices for the multiple-choice question",
          "type": "array",
          "items": {
            "$ref": "#/$defs/DocumentQuestionChoiceItem"
          }
        }
      },
      "additionalProperties": false
    }
  }
}