executeAction action

Namespace: microsoft.graph

Important: Microsoft Graph APIs under the /beta version are subject to change; production use is not supported.

Note: The Microsoft Graph API for Intune requires an active Intune license for the tenant.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet


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 least to most privileged)
Delegated (work or school account) DeviceManagementConfiguration.Read.All, DeviceManagementManagedDevices.Read.All, DeviceManagementManagedDevices.PrivilegedOperations.All
Delegated (personal Microsoft account) Not supported.
Application DeviceManagementConfiguration.Read.All, DeviceManagementManagedDevices.Read.All, DeviceManagementManagedDevices.PrivilegedOperations.All

HTTP Request

POST /deviceManagement/managedDevices/executeAction
POST /deviceManagement/comanagedDevices/executeAction
POST /deviceManagement/deviceManagementScripts/{deviceManagementScriptId}/deviceRunStates/{deviceManagementScriptDeviceStateId}/managedDevice/users/{userId}/managedDevices/executeAction
POST /deviceManagement/deviceManagementScripts/{deviceManagementScriptId}/deviceRunStates/{deviceManagementScriptDeviceStateId}/managedDevice/detectedApps/{detectedAppId}/managedDevices/executeAction

Request headers

Header Value
Authorization Bearer {token}. Required. Learn more about authentication and authorization.
Accept application/json

Request body

In the request body, supply JSON representation of the parameters.

The following table shows the parameters that can be used with this action.

Property Type Description
actionName managedDeviceRemoteAction
keepEnrollmentData Boolean
keepUserData Boolean
persistEsimDataPlan Boolean
deviceIds String collection
notificationTitle String
notificationBody String
deviceName String
carrierUrl String
deprovisionReason String
organizationalUnitPath String


If successful, this action returns a 200 OK response code and a bulkManagedDeviceActionResult in the response body.



Here is an example of the request.

POST https://graph.microsoft.com/beta/deviceManagement/managedDevices/executeAction

Content-type: application/json
Content-length: 473

  "actionName": "delete",
  "keepEnrollmentData": true,
  "keepUserData": true,
  "persistEsimDataPlan": true,
  "deviceIds": [
    "Device Ids value"
  "notificationTitle": "Notification Title value",
  "notificationBody": "Notification Body value",
  "deviceName": "Device Name value",
  "carrierUrl": "https://example.com/carrierUrl/",
  "deprovisionReason": "Deprovision Reason value",
  "organizationalUnitPath": "Organizational Unit Path value"


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 200 OK
Content-Type: application/json
Content-Length: 385

  "value": {
    "@odata.type": "microsoft.graph.bulkManagedDeviceActionResult",
    "successfulDeviceIds": [
      "Successful Device Ids value"
    "failedDeviceIds": [
      "Failed Device Ids value"
    "notFoundDeviceIds": [
      "Not Found Device Ids value"
    "notSupportedDeviceIds": [
      "Not Supported Device Ids value"