Microsoft Graph · Schema

microsoft.graph.mdmWindowsInformationProtectionPolicy

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
View JSON Schema on GitHub

JSON Schema

microsoft-graph-microsoft-graph-mdm-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-mdm-windows-information-protection-policy-schema.json",
  "title": "microsoft.graph.mdmWindowsInformationProtectionPolicy",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-graph-deviceappmanagement-mdmwindowsinformationprotectionpolicy-api-openapi.yml#/components/schemas/microsoft.graph.mdmWindowsInformationProtectionPolicy",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.windowsInformationProtection"
    },
    {
      "title": "mdmWindowsInformationProtectionPolicy",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "@odata.type": {
          "type": "string",
          "default": "#microsoft.graph.mdmWindowsInformationProtectionPolicy"
        }
      },
      "description": "Policy for Windows information protection with MDM"
    }
  ],
  "x-ms-discriminator-value": "#microsoft.graph.mdmWindowsInformationProtectionPolicy",
  "$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.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-mdm-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.