{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/webex/main/json-schema/webex-device-dynamic-settings-validation-schema-get-schema.json",
  "title": "DeviceDynamicSettingsValidationSchemaGet",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/webex-beta-device-call-settings-with-dynamic-device-settings-api-openapi.yml#/components/schemas/DeviceDynamicSettingsValidationSchemaGet",
  "type": "object",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/DeviceTag"
      },
      "description": "Array of device settings tags with their validation rules."
    }
  },
  "$defs": {
    "DeviceTag": {
      "type": "object",
      "properties": {
        "familyOrModelDisplayName": {
          "type": "string",
          "description": "The family or model name of the device to which these settings apply."
        },
        "tag": {
          "type": "string",
          "description": "The unique identifier for the setting."
        },
        "friendlyName": {
          "type": "string",
          "description": "A user-friendly name for the setting. It helps to correlate the tag with the UI in settings groups."
        },
        "tooltip": {
          "type": "string",
          "description": "Explanatory text for the setting."
        },
        "alert": {
          "type": "string",
          "description": "Alert message related to this setting, if applicable."
        },
        "level": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The levels at which this setting can be configured. When fetching tags or updating tags, the tag should be allowed at the level the request is made for."
        },
        "validationRule": {
          "$ref": "#/$defs/ValidationRule"
        }
      }
    },
    "ValidationRule": {
      "type": "object",
      "description": "Validation rules and constraints for device setting values.",
      "properties": {
        "type": {
          "type": "string",
          "description": "The data type of the setting. Possible values are `string`, `integer`, `boolean`, `enum` , `password` or `network`."
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Possible values for `enum` or `boolean` types."
        },
        "min": {
          "type": "integer",
          "description": "Minimum value for numeric types."
        },
        "max": {
          "type": "integer",
          "description": "Maximum value for numeric types."
        },
        "increment": {
          "type": "integer",
          "description": "Increment value for numeric types."
        },
        "regex": {
          "type": "string",
          "description": "Regular expression pattern for string validation."
        },
        "maxLength": {
          "type": "integer",
          "description": "Maximum length for string values."
        },
        "validationHint": {
          "type": "string",
          "description": "Hint to display to users about validation requirements."
        }
      }
    }
  }
}