{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-ad/json-schema/azure-ad-microsoft-graph-windows-setting-schema.json",
  "title": "microsoft.graph.windowsSetting",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/azure-ad-users-usersettings-api-openapi.yml#/components/schemas/microsoft.graph.windowsSetting",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "windowsSetting",
      "type": "object",
      "properties": {
        "payloadType": {
          "type": [
            "string",
            "null"
          ],
          "description": "The type of setting payloads contained in the instances navigation property."
        },
        "settingType": {
          "$ref": "#/$defs/microsoft.graph.windowsSettingType"
        },
        "windowsDeviceId": {
          "type": [
            "string",
            "null"
          ],
          "description": "A unique identifier for the device the setting might belong to if it is of the settingType backup."
        },
        "instances": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.windowsSettingInstance"
          },
          "description": "A collection of setting values for a given windowsSetting.",
          "x-ms-navigationProperty": true
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    }
  ],
  "$defs": {
    "microsoft.graph.entity": {
      "title": "entity",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.windowsSettingInstance": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "windowsSettingInstance",
          "type": "object",
          "properties": {
            "createdDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": "string",
              "description": "Set by the server. Represents the dateTime in UTC when the object was created on the server.",
              "format": "date-time"
            },
            "expirationDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": "string",
              "description": "Set by the server. The object expires at the specified dateTime in UTC, making it unavailable after that time.",
              "format": "date-time"
            },
            "lastModifiedDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": [
                "string",
                "null"
              ],
              "description": "Set by the server if not provided in the request from the Windows client device. Refers to the user's Windows device that modified the object at the specified dateTime in UTC.",
              "format": "date-time"
            },
            "payload": {
              "type": "string",
              "description": "Base64-encoded JSON setting value."
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.windowsSettingType": {
      "title": "windowsSettingType",
      "enum": [
        "roaming",
        "backup",
        "unknownFutureValue"
      ],
      "type": "string"
    }
  }
}