Microsoft Graph · Schema

microsoft.graph.windowsInformationProtectionPolicy

Microsoft GraphAzure ADCollaborationContactsDocumentsEmailGraphIdentityMicrosoftOffice 365PresentationsProductivitySpreadsheetsT1Task

Properties

Name Type Description
id string The unique identifier for an entity. Read-only.
@odata.type string
createdDateTime string The date and time the policy was created.
description stringnull The policy's description.
displayName string Policy display name.
lastModifiedDateTime string Last time the policy was modified.
version stringnull Version of the entity.
azureRightsManagementServicesAllowed boolean Specifies whether to allow Azure RMS encryption for WIP
dataRecoveryCertificate object Specifies a recovery certificate that can be used for data recovery of encrypted files. This is the same as the data recovery agent(DRA) certificate for encrypting file system(EFS)
enforcementLevel object
enterpriseDomain stringnull Primary enterprise domain
enterpriseInternalProxyServers array This is the comma-separated list of internal proxy servers. For example, '157.54.14.28, 157.54.11.118, 10.202.14.167, 157.53.14.163, 157.69.210.59'. These proxies have been configured by the admin to
enterpriseIPRanges array Sets the enterprise IP ranges that define the computers in the enterprise network. Data that comes from those computers will be considered part of the enterprise and protected. These locations will be
enterpriseIPRangesAreAuthoritative boolean Boolean value that tells the client to accept the configured list and not to use heuristics to attempt to find other subnets. Default is false
enterpriseNetworkDomainNames array This is the list of domains that comprise the boundaries of the enterprise. Data from one of these domains that is sent to a device will be considered enterprise data and protected These locations wil
enterpriseProtectedDomainNames array List of enterprise domains to be protected
enterpriseProxiedDomains array Contains a list of Enterprise resource domains hosted in the cloud that need to be protected. Connections to these resources are considered enterprise data. If a proxy is paired with a cloud resource,
enterpriseProxyServers array This is a list of proxy servers. Any server not on this list is considered non-enterprise
enterpriseProxyServersAreAuthoritative boolean Boolean value that tells the client to accept the configured list of proxies and not try to detect other work proxies. Default is false
exemptApps array Exempt applications can also access enterprise data, but the data handled by those applications are not protected. This is because some critical enterprise applications may have compatibility problems
iconsVisible boolean Determines whether overlays are added to icons for WIP protected files in Explorer and enterprise only app tiles in the Start menu. Starting in Windows 10, version 1703 this setting also configures th
indexingEncryptedStoresOrItemsBlocked boolean This switch is for the Windows Search Indexer, to allow or disallow indexing of items
isAssigned boolean Indicates if the policy is deployed to any inclusion groups or not.
neutralDomainResources array List of domain names that can used for work or personal resource
protectedApps array Protected applications can access enterprise data and the data handled by those applications are protected with encryption
protectionUnderLockConfigRequired boolean Specifies whether the protection under lock feature (also known as encrypt under pin) should be configured
revokeOnUnenrollDisabled boolean This policy controls whether to revoke the WIP keys when a device unenrolls from the management service. If set to 1 (Don't revoke keys), the keys will not be revoked and the user will continue to hav
rightsManagementServicesTemplateId stringnull TemplateID GUID to use for RMS encryption. The RMS template allows the IT admin to configure the details about who has access to RMS-protected file and how long they have access
smbAutoEncryptedFileExtensions array Specifies a list of file extensions, so that files with these extensions are encrypted when copying from an SMB share within the corporate boundary
assignments array Navigation property to list of security groups targeted for policy.
exemptAppLockerFiles array Another way to input exempt apps through xml files
protectedAppLockerFiles array Another way to input protected apps through xml files
daysWithoutContactBeforeUnenroll number Offline interval before app data is wiped (days) . Valid values 0 to 999
mdmEnrollmentUrl stringnull Enrollment url for the MDM
minutesOfInactivityBeforeDeviceLock number Specifies the maximum amount of time (in minutes) allowed after the device is idle that will cause the device to become PIN or password locked. Range is an integer X where 0 <= X <= 999. Valid values
numberOfPastPinsRemembered number Integer value that specifies the number of past PINs that can be associated to a user account that can't be reused. The largest number you can configure for this policy setting is 50. The lowest numbe
passwordMaximumAttemptCount number The number of authentication failures allowed before the device will be wiped. A value of 0 disables device wipe functionality. Range is an integer X where 4 <= X <= 16 for desktop and 0 <= X <= 999 f
pinExpirationDays number Integer value specifies the period of time (in days) that a PIN can be used before the system requires the user to change it. The largest number you can configure for this policy setting is 730. The l
pinLowercaseLetters object
pinMinimumLength number Integer value that sets the minimum number of characters required for the PIN. Default value is 4. The lowest number you can configure for this policy setting is 4. The largest number you can configur
pinSpecialCharacters object
pinUppercaseLetters object
revokeOnMdmHandoffDisabled boolean New property in RS2, pending documentation
windowsHelloForBusinessBlocked boolean Boolean value that sets Windows Hello for Business as a method for signing into Windows.
View JSON Schema on GitHub

JSON Schema

microsoft-graph-microsoft-graph-windows-information-protection-policy-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-windows-information-protection-policy-schema.json",
  "title": "microsoft.graph.windowsInformationProtectionPolicy",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-graph-deviceappmanagement-windowsinformationprotectionpolicy-api-openapi.yml#/components/schemas/microsoft.graph.windowsInformationProtectionPolicy",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.windowsInformationProtection"
    },
    {
      "title": "windowsInformationProtectionPolicy",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "daysWithoutContactBeforeUnenroll": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "Offline interval before app data is wiped (days) . Valid values 0 to 999",
          "format": "int32"
        },
        "mdmEnrollmentUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "Enrollment url for the MDM"
        },
        "minutesOfInactivityBeforeDeviceLock": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "Specifies the maximum amount of time (in minutes) allowed after the device is idle that will cause the device to become PIN or password locked.   Range is an integer X where 0 <= X <= 999. Valid values 0 to 999",
          "format": "int32"
        },
        "numberOfPastPinsRemembered": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "Integer value that specifies the number of past PINs that can be associated to a user account that can't be reused. The largest number you can configure for this policy setting is 50. The lowest number you can configure for this policy setting is 0. If this policy is set to 0, then storage of previous PINs is not required. This node was added in Windows 10, version 1511. Default is 0. Valid values 0 to 50",
          "format": "int32"
        },
        "passwordMaximumAttemptCount": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "The number of authentication failures allowed before the device will be wiped. A value of 0 disables device wipe functionality. Range is an integer X where 4 <= X <= 16 for desktop and 0 <= X <= 999 for mobile devices. Valid values 0 to 999",
          "format": "int32"
        },
        "pinExpirationDays": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "Integer value specifies the period of time (in days) that a PIN can be used before the system requires the user to change it. The largest number you can configure for this policy setting is 730. The lowest number you can configure for this policy setting is 0. If this policy is set to 0, then the user's PIN will never expire. This node was added in Windows 10, version 1511. Default is 0. Valid values 0 to 730",
          "format": "int32"
        },
        "pinLowercaseLetters": {
          "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionPinCharacterRequirements"
        },
        "pinMinimumLength": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "Integer value that sets the minimum number of characters required for the PIN. Default value is 4. The lowest number you can configure for this policy setting is 4. The largest number you can configure must be less than the number configured in the Maximum PIN length policy setting or the number 127, whichever is the lowest. Valid values 0 to 127",
          "format": "int32"
        },
        "pinSpecialCharacters": {
          "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionPinCharacterRequirements"
        },
        "pinUppercaseLetters": {
          "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionPinCharacterRequirements"
        },
        "revokeOnMdmHandoffDisabled": {
          "type": "boolean",
          "description": "New property in RS2, pending documentation"
        },
        "windowsHelloForBusinessBlocked": {
          "type": "boolean",
          "description": "Boolean value that sets Windows Hello for Business as a method for signing into Windows."
        },
        "@odata.type": {
          "type": "string",
          "default": "#microsoft.graph.windowsInformationProtectionPolicy"
        }
      },
      "description": "Policy for Windows information protection without MDM"
    }
  ],
  "x-ms-discriminator-value": "#microsoft.graph.windowsInformationProtectionPolicy",
  "$defs": {
    "microsoft.graph.deviceAndAppManagementAssignmentTarget": {
      "title": "deviceAndAppManagementAssignmentTarget",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "Base type for assignment targets."
    },
    "microsoft.graph.entity": {
      "title": "entity",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.ipRange": {
      "title": "ipRange",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.managedAppPolicy": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "managedAppPolicy",
          "required": [
            "@odata.type"
          ],
          "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": "The date and time the policy was created.",
              "format": "date-time"
            },
            "description": {
              "type": [
                "string",
                "null"
              ],
              "description": "The policy's description."
            },
            "displayName": {
              "type": "string",
              "description": "Policy display name."
            },
            "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",
              "description": "Last time the policy was modified.",
              "format": "date-time"
            },
            "version": {
              "type": [
                "string",
                "null"
              ],
              "description": "Version of the entity."
            },
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "The ManagedAppPolicy resource represents a base type for platform specific policies."
        }
      ]
    },
    "microsoft.graph.proxiedDomain": {
      "title": "proxiedDomain",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "ipAddressOrFQDN": {
          "type": "string",
          "description": "The IP address or FQDN"
        },
        "proxy": {
          "type": [
            "string",
            "null"
          ],
          "description": "Proxy IP or FQDN"
        },
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "Proxied Domain"
    },
    "microsoft.graph.targetedManagedAppPolicyAssignment": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "targetedManagedAppPolicyAssignment",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "target": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.deviceAndAppManagementAssignmentTarget"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "Identifier for deployment to a group or app"
            },
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "The type for deployment of groups or apps."
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.targetedManagedAppPolicyAssignment"
    },
    "microsoft.graph.windowsInformationProtection": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.managedAppPolicy"
        },
        {
          "title": "windowsInformationProtection",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "azureRightsManagementServicesAllowed": {
              "type": "boolean",
              "description": "Specifies whether to allow Azure RMS encryption for WIP"
            },
            "dataRecoveryCertificate": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionDataRecoveryCertificate"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "Specifies a recovery certificate that can be used for data recovery of encrypted files. This is the same as the data recovery agent(DRA) certificate for encrypting file system(EFS)"
            },
            "enforcementLevel": {
              "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionEnforcementLevel"
            },
            "enterpriseDomain": {
              "type": [
                "string",
                "null"
              ],
              "description": "Primary enterprise domain"
            },
            "enterpriseInternalProxyServers": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionResourceCollection"
              },
              "description": "This is the comma-separated list of internal proxy servers. For example, '157.54.14.28, 157.54.11.118, 10.202.14.167, 157.53.14.163, 157.69.210.59'. These proxies have been configured by the admin to connect to specific resources on the Internet. They are considered to be enterprise network locations. The proxies are only leveraged in configuring the EnterpriseProxiedDomains policy to force traffic to the matched domains through these proxies"
            },
            "enterpriseIPRanges": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionIPRangeCollection"
              },
              "description": "Sets the enterprise IP ranges that define the computers in the enterprise network. Data that comes from those computers will be considered part of the enterprise and protected. These locations will be considered a safe destination for enterprise data to be shared to"
            },
            "enterpriseIPRangesAreAuthoritative": {
              "type": "boolean",
              "description": "Boolean value that tells the client to accept the configured list and not to use heuristics to attempt to find other subnets. Default is false"
            },
            "enterpriseNetworkDomainNames": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionResourceCollection"
              },
              "description": "This is the list of domains that comprise the boundaries of the enterprise. Data from one of these domains that is sent to a device will be considered enterprise data and protected These locations will be considered a safe destination for enterprise data to be shared to"
            },
            "enterpriseProtectedDomainNames": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionResourceCollection"
              },
              "description": "List of enterprise domains to be protected"
            },
            "enterpriseProxiedDomains": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionProxiedDomainCollection"
              },
              "description": "Contains a list of Enterprise resource domains hosted in the cloud that need to be protected. Connections to these resources are considered enterprise data. If a proxy is paired with a cloud resource, traffic to the cloud resource will be routed through the enterprise network via the denoted proxy server (on Port 80). A proxy server used for this purpose must also be configured using the EnterpriseInternalProxyServers policy"
            },
            "enterpriseProxyServers": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionResourceCollection"
              },
              "description": "This is a list of proxy servers. Any server not on this list is considered non-enterprise"
            },
            "enterpriseProxyServersAreAuthoritative": {
              "type": "boolean",
              "description": "Boolean value that tells the client to accept the configured list of proxies and not try to detect other work proxies. Default is false"
            },
            "exemptApps": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionApp"
              },
              "description": "Exempt applications can also access enterprise data, but the data handled by those applications are not protected. This is because some critical enterprise applications may have compatibility problems with encrypted data."
            },
            "iconsVisible": {
              "type": "boolean",
              "description": "Determines whether overlays are added to icons for WIP protected files in Explorer and enterprise only app tiles in the Start menu. Starting in Windows 10, version 1703 this setting also configures the visibility of the WIP icon in the title bar of a WIP-protected app"
            },
            "indexingEncryptedStoresOrItemsBlocked": {
              "type": "boolean",
              "description": "This switch is for the Windows Search Indexer, to allow or disallow indexing of items"
            },
            "isAssigned": {
              "type": "boolean",
              "description": "Indicates if the policy is deployed to any inclusion groups or not."
            },
            "neutralDomainResources": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionResourceCollection"
              },
              "description": "List of domain names that can used for work or personal resource"
            },
            "protectedApps": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionApp"
              },
              "description": "Protected applications can access enterprise data and the data handled by those applications are protected with encryption"
            },
            "protectionUnderLockConfigRequired": {
              "type": "boolean",
              "description": "Specifies whether the protection under lock feature (also known as encrypt under pin) should be configured"
            },
            "revokeOnUnenrollDisabled": {
              "type": "boolean",
              "description": "This policy controls whether to revoke the WIP keys when a device unenrolls from the management service. If set to 1 (Don't revoke keys), the keys will not be revoked and the user will continue to have access to protected files after unenrollment. If the keys are not revoked, there will be no revoked file cleanup subsequently."
            },
            "rightsManagementServicesTemplateId": {
              "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
              "type": [
                "string",
                "null"
              ],
              "description": "TemplateID GUID to use for RMS encryption. The RMS template allows the IT admin to configure the details about who has access to RMS-protected file and how long they have access",
              "format": "uuid"
            },
            "smbAutoEncryptedFileExtensions": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionResourceCollection"
              },
              "description": "Specifies a list of file extensions, so that files with these extensions are encrypted when copying from an SMB share within the corporate boundary"
            },
            "assignments": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.targetedManagedAppPolicyAssignment"
              },
              "description": "Navigation property to list of security groups targeted for policy.",
              "x-ms-navigationProperty": true
            },
            "exemptAppLockerFiles": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionAppLockerFile"
              },
              "description": "Another way to input exempt apps through xml files",
              "x-ms-navigationProperty": true
            },
            "protectedAppLockerFiles": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.windowsInformationProtectionAppLockerFile"
              },
              "description": "Another way to input protected apps through xml files",
              "x-ms-navigationProperty": true
            },
            "@odata.type": {
              "type": "string",
              "default": "#microsoft.graph.windowsInformationProtection"
            }
          },
          "description": "Policy for Windows information protection to configure detailed management settings"
        }
      ]
    },
    "microsoft.graph.windowsInformationProtectionApp": {
      "title": "windowsInformationProtectionApp",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "denied": {
          "type": "boolean",
          "description": "If true, app is denied protection or exemption."
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "The app's description."
        },
        "displayName": {
          "type": "string",
          "description": "App display name."
        },
        "productName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The product name."
        },
        "publisherName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The publisher name"
        },
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "App for Windows information protection"
    },
    "microsoft.graph.windowsInformationProtectionAppLockerFile": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "windowsInformationProtectionAppLockerFile",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The friendly name"
            },
            "file": {
              "type": [
                "string",
                "null"
              ],
              "description": "File as a byte array",
              "format": "base64url"
            },
            "fileHash": {
              "type": [
                "string",
                "null"
              ],
              "description": "SHA256 hash of the file"
            },
            "version": {
              "type": [
                "string",
                "null"
              ],
              "description": "Version of the entity."
            },
            "@odata.type": {
              "type": "string"
            }
          },
          "description": "Windows Information Protection AppLocker File"
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.windowsInformationProtectionAppLockerFile"
    },
    "microsoft.graph.windowsInformationProtectionDataRecoveryCertificate": {
      "title": "windowsInformationProtectionDataRecoveryCertificate",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "certificate": {
          "type": [
            "string",
            "null"
          ],
          "description": "Data recovery Certificate",
          "format": "base64url"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "Data recovery Certificate description"
        },
        "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": "Data recovery Certificate expiration datetime",
          "format": "date-time"
        },
        "subjectName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Data recovery Certificate subject name"
        },
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "Windows Information Protection DataRecoveryCertificate"
    },
    "microsoft.graph.windowsInformationProtectionEnforcementLevel": {
      "title": "windowsInformationProtectionEnforcementLevel",
      "enum": [
        "noProtection",
        "encryptAndAuditOnly",
        "encryptAuditAndPrompt",
        "encryptAuditAndBlock"
      ],
      "type": "string",
      "description": "Possible values for WIP Protection enforcement levels",
      "x-ms-enum": {
        "name": "windowsInformationProtectionEnforcementLevel",
        "modelAsString": false,
        "values": [
          {
            "value": "noProtection",
            "description": "No protection enforcement",
            "name": "noProtection"
          },
          {
            "value": "encryptAndAuditOnly",
            "description": "Encrypt and Audit only",
            "name": "encryptAndAuditOnly"
          },
          {
            "value": "encryptAuditAndPrompt",
            "description": "Encrypt, Audit and Prompt",
            "name": "encryptAuditAndPrompt"
          },
          {
            "value": "encryptAuditAndBlock",
            "description": "Encrypt, Audit and Block",
            "name": "encryptAuditAndBlock"
          }
        ]
      }
    },
    "microsoft.graph.windowsInformationProtectionIPRangeCollection": {
      "title": "windowsInformationProtectionIPRangeCollection",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Display name"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.ipRange"
          },
          "description": "Collection of ip ranges"
        },
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "Windows Information Protection IP Range Collection"
    },
    "microsoft.graph.windowsInformationProtectionPinCharacterRequirements": {
      "title": "windowsInformationProtectionPinCharacterRequirements",
      "enum": [
        "notAllow",
        "requireAtLeastOne",
        "allow"
      ],
      "type": "string",
      "description": "Pin Character Requirements",
      "x-ms-enum": {
        "name": "windowsInformationProtectionPinCharacterRequirements",
        "modelAsString": false,
        "values": [
          {
            "value": "notAllow",
            "description": "Not allow",
            "name": "notAllow"
          },
          {
            "value": "requireAtLeastOne",
            "description": "Require atleast one",
            "name": "requireAtLeastOne"
          },
          {
            "value": "allow",
            "description": "Allow any number",
            "name": "allow"
          }
        ]
      }
    },
    "microsoft.graph.windowsInformationProtectionProxiedDomainCollection": {
      "title": "windowsInformationProtectionProxiedDomainCollection",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Display name"
        },
        "proxiedDomains": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.proxiedDomain"
          },
          "description": "Collection of proxied domains"
        },
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "Windows Information Protection Proxied Domain Collection"
    },
    "microsoft.graph.windowsInformationProtectionResourceCollection": {
      "title": "windowsInformationProtectionResourceCollection",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Display name"
        },
        "resources": {
          "type": "array",
          "items": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": "Collection of resources"
        },
        "@odata.type": {
          "type": "string"
        }
      },
      "description": "Windows Information Protection Resource Collection"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-graph-microsoft-graph-windows-information-protection-policy"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.