In March 2023, we notified all customers via MC531735 (below for reference) that they might need to take action to update their reporting automation and scripts for apps reporting to utilize the reports API by mid-May 2023. The documented APIs leverage the newer reporting infrastructure to improve accuracy and consistency in app reporting. However, based on customer feedback, we wanted to provide additional guidance on how to update your reporting automation in case you didn’t take action to update the APIs and are now experiencing issues.
The Export Intune reports using Graph APIs documentation explains how to export the reports that have export functionality. The columns (based on the report name) that can be requested in “select” can be found in Intune reports and properties available using Graph API documentation.
The following table demonstrates how to transition to the reports API for app reporting:
Report Name | Mobile apps API (old) | Export reports for apps API (new) |
FailedAppCounts | /deviceManagement/mobileApps/getMobileAppCount(status={status}) | /deviceManagement/reports/getFailedMobileAppsSummaryReport |
TopFailedMobileApps | /deviceManagement/mobileApps/getTopMobileApps(status={status}, count={count}) | /deviceManagement/reports/getFailedMobileAppsReport |
AppInstallStatusAggregate | /deviceManagement/mobileApps/ with install summary expanded | /deviceManagement/reports/getAppsInstallSummaryReport |
AppStatusOverview | /deviceManagement/mobileApps({appId})/installSummary | /deviceManagement/reports/getAppStatusOverviewReport |
DeviceInstallStatusByApp | /deviceManagement/mobileApps({appId})/deviceStatuses | /deviceManagement/reports/getDeviceInstallStatusReport |
UserInstallStatusAggregateByApp | /deviceManagement/mobileApps({appId})/userStatuses | /deviceManagement/reports/getUserInstallStatusReport |
DependentAppsInstallStatus | /deviceManagement/mobileApps({appId})/getRelatedAppStates | /deviceManagement/reports/getRelatedAppsStatusReport |
Note that the following Intune app reports are not available through the export functionality. In these scenarios, you can call the report directly through the Graph API:
Below are a few examples of how to use the reports APIs. Please note that applicationId is a required filter for any report based on an application. You can also view these reports in the Microsoft Intune admin center user interface and use a network trace to see what the requests look like.
Example 1: FailedAppCounts report
/deviceManagement/reports/getFailedMobileAppsSummaryReport
Method - POST
Request Body - {filter: ""}
Response - {
"TotalRowCount":1,
"Schema":[{"Column":"Count", "PropertyType":"Int64"}],
"Values":[[1]],
"SessionId":""
}
Example 2: TopFailedMobileApps report
/deviceManagement/reports/getFailedMobileAppsReport
Method - POST
Request Body - {top: 3, orderBy: ["FailedDeviceCount desc"]}
Response - {"TotalRowCount":5355,"Schema":[{"Column":"ApplicationId","PropertyType":"String"},{"Column":"DisplayName","PropertyType":"String"},{"Column":"Platform","PropertyType":"String"},{"Column":"Platform_loc","PropertyType":"String"},{"Column":"FailedDeviceCount","PropertyType":"Int64"}],"Values":[["8a8b49e5-fe12-4647-82e9-bf866b658851","StageNow","1","Android",3],["454bb451-19b5-4baf-90f1-4aa1b7ca173a","Test MSI #2","5","Windows",0],["5bd4deaf-276c-45b6-a9bf-9c23b6cfe597","Toy Blast","2","iOS",0]],"SessionId":""}
Example 3: AppStatusOverview report
/deviceManagement/reports/getAppStatusOverviewReport
Method - POST
Request body - {"filter":"(ApplicationId eq '16a2c0c9-17c9-4f57-8f33-39a800e69a21')"}
Response - {"TotalRowCount":1,"Schema":[{"Column":"ApplicationId","PropertyType":"String"},{"Column":"FailedDeviceCount","PropertyType":"Int64"},{"Column":"PendingInstallDeviceCount","PropertyType":"Int64"},{"Column":"InstalledDeviceCount","PropertyType":"Int64"},{"Column":"NotInstalledDeviceCount","PropertyType":"Int64"},{"Column":"NotApplicableDeviceCount","PropertyType":"Int64"},{"Column":"FailedUserCount","PropertyType":"Int64"},{"Column":"PendingInstallUserCount","PropertyType":"Int64"},{"Column":"InstalledUserCount","PropertyType":"Int64"},{"Column":"NotInstalledUserCount","PropertyType":"Int64"},{"Column":"NotApplicableUserCount","PropertyType":"Int64"}],"Values":[["2a9eb039-a0b4-47dc-8dde-8ebb56e81580",0,0,0,0,3,0,0,0,0,1]],"SessionId":""}
If you have any questions, leave a comment below or reach out to us on Twitter @IntuneSuppTeam!
------------------------ Published March 22, 2023------------------------
MC531735 Plan for Change: Retrieving Intune apps reporting data from Microsoft Graph Beta API
Starting in mid-May 2023, to retrieve Intune app reporting data through the Microsoft Graph Beta API, admins should follow the documented instructions to export Intune reports using Graph APIs to ensure reporting automation and scripts continue to work as expected.
How this will affect your organization:
If you are using automation or scripts to retrieve Intune app reporting data from the Graph API, you may need to update them to utilize the export functionality to prevent them from breaking.
Note: The following Intune app reports are not available through the export functionality. In these scenarios, you can call the report directly through the Graph API:
What you need to do to prepare:
If applicable, update your documentation and reporting automation. Otherwise, no action is required, only awareness.
Additional information:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.