Create androidCompliancePolicy

Important: APIs under the /beta version in Microsoft Graph are in preview and are subject to change. Use of these APIs in production applications is not supported.

Note: Using the Microsoft Graph APIs to configure Intune controls and policies still requires that the Intune service is correctly licensed by the customer.

Create a new androidCompliancePolicy object.

Prerequisites

One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from most to least privileged)
Delegated (work or school account) DeviceManagementConfiguration.ReadWrite.All
Delegated (personal Microsoft account) Not supported.
Application Not supported.

HTTP Request

POST /deviceManagement/deviceCompliancePolicies

Request headers

Header Value
Authorization Bearer <token> Required.
Accept application/json

Request body

In the request body, supply a JSON representation for the androidCompliancePolicy object.

The following table shows the properties that are required when you create the androidCompliancePolicy.

Property Type Description
roleScopeTagIds String collection List of Scope Tags for this Entity instance. Inherited from deviceCompliancePolicy
id String Key of the entity. Inherited from deviceCompliancePolicy
createdDateTime DateTimeOffset DateTime the object was created. Inherited from deviceCompliancePolicy
description String Admin provided description of the Device Configuration. Inherited from deviceCompliancePolicy
lastModifiedDateTime DateTimeOffset DateTime the object was last modified. Inherited from deviceCompliancePolicy
displayName String Admin provided name of the device configuration. Inherited from deviceCompliancePolicy
version Int32 Version of the device configuration. Inherited from deviceCompliancePolicy
passwordRequired Boolean Require a password to unlock device.
passwordMinimumLength Int32 Minimum password length. Valid values 4 to 16
passwordRequiredType androidRequiredPasswordType Type of characters in password. Possible values are: deviceDefault, alphabetic, alphanumeric, alphanumericWithSymbols, lowSecurityBiometric, numeric, numericComplex, any.
passwordMinutesOfInactivityBeforeLock Int32 Minutes of inactivity before a password is required.
passwordExpirationDays Int32 Number of days before the password expires. Valid values 1 to 65535
passwordPreviousPasswordBlockCount Int32 Number of previous passwords to block.
securityPreventInstallAppsFromUnknownSources Boolean Require that devices disallow installation of apps from unknown sources.
securityDisableUsbDebugging Boolean Disable USB debugging on Android devices.
securityRequireVerifyApps Boolean Require the Android Verify apps feature is turned on.
deviceThreatProtectionEnabled Boolean Require that devices have enabled device threat protection.
deviceThreatProtectionRequiredSecurityLevel deviceThreatProtectionLevel Require Mobile Threat Protection minimum risk level to report noncompliance. Possible values are: unavailable, secured, low, medium, high, notSet.
securityBlockJailbrokenDevices Boolean Devices must not be jailbroken or rooted.
osMinimumVersion String Minimum Android version.
osMaximumVersion String Maximum Android version.
minAndroidSecurityPatchLevel String Minimum Android security patch level.
storageRequireEncryption Boolean Require encryption on Android devices.
securityRequireSafetyNetAttestationBasicIntegrity Boolean Require the device to pass the SafetyNet basic integrity check.
securityRequireSafetyNetAttestationCertifiedDevice Boolean Require the device to pass the SafetyNet certified device check.
securityRequireGooglePlayServices Boolean Require Google Play Services to be installed and enabled on the device.
securityRequireUpToDateSecurityProviders Boolean Require the device to have up to date security providers. The device will require Google Play Services to be enabled and up to date.
securityRequireCompanyPortalAppIntegrity Boolean Require the device to pass the Company Portal client app runtime integrity check.
conditionStatementId String Condition statement id.
restrictedApps appListItem collection Require the device to not have the specified apps installed. This collection can contain a maximum of 10000 elements.

Response

If successful, this method returns a 201 Created response code and a androidCompliancePolicy object in the response body.

Example

Request

Here is an example of the request.

POST https://graph.microsoft.com/beta/deviceManagement/deviceCompliancePolicies
Content-type: application/json
Content-length: 1597

{
  "@odata.type": "#microsoft.graph.androidCompliancePolicy",
  "roleScopeTagIds": [
    "Role Scope Tag Ids value"
  ],
  "description": "Description value",
  "lastModifiedDateTime": "2017-01-01T00:00:35.1329464-08:00",
  "displayName": "Display Name value",
  "version": 7,
  "passwordRequired": true,
  "passwordMinimumLength": 5,
  "passwordRequiredType": "alphabetic",
  "passwordMinutesOfInactivityBeforeLock": 5,
  "passwordExpirationDays": 6,
  "passwordPreviousPasswordBlockCount": 2,
  "securityPreventInstallAppsFromUnknownSources": true,
  "securityDisableUsbDebugging": true,
  "securityRequireVerifyApps": true,
  "deviceThreatProtectionEnabled": true,
  "deviceThreatProtectionRequiredSecurityLevel": "secured",
  "securityBlockJailbrokenDevices": true,
  "osMinimumVersion": "Os Minimum Version value",
  "osMaximumVersion": "Os Maximum Version value",
  "minAndroidSecurityPatchLevel": "Min Android Security Patch Level value",
  "storageRequireEncryption": true,
  "securityRequireSafetyNetAttestationBasicIntegrity": true,
  "securityRequireSafetyNetAttestationCertifiedDevice": true,
  "securityRequireGooglePlayServices": true,
  "securityRequireUpToDateSecurityProviders": true,
  "securityRequireCompanyPortalAppIntegrity": true,
  "conditionStatementId": "Condition Statement Id value",
  "restrictedApps": [
    {
      "@odata.type": "microsoft.graph.appListItem",
      "name": "Name value",
      "publisher": "Publisher value",
      "appStoreUrl": "https://example.com/appStoreUrl/",
      "appId": "App Id value"
    }
  ]
}

Response

Here is an example of the response. Note: The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call.

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 1705

{
  "@odata.type": "#microsoft.graph.androidCompliancePolicy",
  "roleScopeTagIds": [
    "Role Scope Tag Ids value"
  ],
  "id": "752c820f-820f-752c-0f82-2c750f822c75",
  "createdDateTime": "2017-01-01T00:02:43.5775965-08:00",
  "description": "Description value",
  "lastModifiedDateTime": "2017-01-01T00:00:35.1329464-08:00",
  "displayName": "Display Name value",
  "version": 7,
  "passwordRequired": true,
  "passwordMinimumLength": 5,
  "passwordRequiredType": "alphabetic",
  "passwordMinutesOfInactivityBeforeLock": 5,
  "passwordExpirationDays": 6,
  "passwordPreviousPasswordBlockCount": 2,
  "securityPreventInstallAppsFromUnknownSources": true,
  "securityDisableUsbDebugging": true,
  "securityRequireVerifyApps": true,
  "deviceThreatProtectionEnabled": true,
  "deviceThreatProtectionRequiredSecurityLevel": "secured",
  "securityBlockJailbrokenDevices": true,
  "osMinimumVersion": "Os Minimum Version value",
  "osMaximumVersion": "Os Maximum Version value",
  "minAndroidSecurityPatchLevel": "Min Android Security Patch Level value",
  "storageRequireEncryption": true,
  "securityRequireSafetyNetAttestationBasicIntegrity": true,
  "securityRequireSafetyNetAttestationCertifiedDevice": true,
  "securityRequireGooglePlayServices": true,
  "securityRequireUpToDateSecurityProviders": true,
  "securityRequireCompanyPortalAppIntegrity": true,
  "conditionStatementId": "Condition Statement Id value",
  "restrictedApps": [
    {
      "@odata.type": "microsoft.graph.appListItem",
      "name": "Name value",
      "publisher": "Publisher value",
      "appStoreUrl": "https://example.com/appStoreUrl/",
      "appId": "App Id value"
    }
  ]
}