{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/InputDescriptor", "title": "InputDescriptor", "type": "object", "description": "Descriptor for a configurable input parameter", "properties": { "id": { "type": "string", "description": "Input identifier" }, "name": { "type": "string", "description": "Display name" }, "description": { "type": "string", "description": "Help text" }, "inputMode": { "type": "string", "description": "How the input is presented in UI", "enum": [ "none", "textBox", "passwordBox", "combo", "radioButtons", "checkBox", "textArea" ] }, "isConfidential": { "type": "boolean", "description": "Whether the value is treated as a secret" }, "isRequired": { "type": "boolean", "description": "Whether this input is required" }, "values": { "type": "object", "description": "Allowed values for combo/radio inputs", "properties": { "defaultValue": { "type": "string" }, "possibleValues": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "displayValue": { "type": "string" } } } } } }, "validation": { "type": "object", "description": "Validation rules for this input", "properties": { "dataType": { "type": "string", "enum": [ "none", "string", "number", "boolean", "guid", "uri" ] }, "isRequired": { "type": "boolean" }, "pattern": { "type": "string", "description": "Regex pattern for validation" }, "patternMismatchErrorMessage": { "type": "string" }, "minLength": { "type": "integer" }, "maxLength": { "type": "integer" } } } } }