{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/QuestionObject", "title": "QuestionObject", "type": "object", "required": [ "id", "question", "type" ], "properties": { "id": { "type": "number", "example": 3388057, "description": "Unique identifier for the question." }, "question": { "type": "string", "example": "Do you like cisco?", "description": "Details for the question." }, "type": { "type": "string", "enum": [ "text", "rating", "checkbox", "singleDropdown", "singleRadio" ], "description": "Type for the question.\n * `text` - Text input.\n * `rating` - Rating.\n * `checkbox` - Check box which requires `options`.\n * `singleDropdown` - Drop down list box which requires `options`.\n * `singleRadio` - Single radio button which requires `options`.\n" }, "fromScore": { "type": "number", "example": 1, "description": "The lowest score of the rating question. This attribute will be ingnored, if the value of `type` attribute is not `rating`." }, "fromLabel": { "type": "string", "example": "disagree", "description": "The lowest score label of the rating question. This attribute will be ingnored, if the value of `type` attribute is not `rating`." }, "toScore": { "type": "number", "example": 5, "description": "The highest score of the rating question. This attribute will be ingnored, if the value of `type` attribute is not `rating`." }, "toLabel": { "type": "string", "example": "agree", "description": "The highest score label of the rating question. This attribute will be ingnored, if the value of `type` attribute is not `rating`." }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionOptionObject" }, "description": "Options for the question. This attribute will be ingnored, if the value of `type` attribute is `text` or `rating`." } } }