{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/SurveyRatingQuestionSchema", "title": "SurveyRatingQuestionSchema", "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SurveyRatingQuestionSchemaTypeEnum" }, "question": { "type": "string", "description": "Question text shown to respondents." }, "description": { "type": "string", "description": "Optional helper text." }, "descriptionContentType": { "allOf": [ { "$ref": "#/components/schemas/DescriptionContentTypeEnum" } ], "description": "Format for the description field.\n\n* `text` - text\n* `html` - html" }, "optional": { "type": "boolean", "description": "Whether respondents may skip this question." }, "buttonText": { "type": "string", "description": "Custom button label." }, "display": { "allOf": [ { "$ref": "#/components/schemas/SurveyRatingQuestionSchemaDisplayEnum" } ], "description": "Display format: 'number' shows numeric scale, 'emoji' shows emoji scale.\n\n* `number` - number\n* `emoji` - emoji" }, "scale": { "type": "integer", "minimum": 1, "description": "Rating scale can be one of 3, 5, or 7" }, "lowerBoundLabel": { "type": "string", "description": "Label for the lowest rating (e.g., 'Very Poor')" }, "upperBoundLabel": { "type": "string", "description": "Label for the highest rating (e.g., 'Excellent')" }, "branching": { "allOf": [ { "$ref": "#/components/schemas/SurveyBranchingSchema" } ], "nullable": true } }, "required": [ "question", "type" ] }