openapi: 3.1.0 info: title: Microsoft Endpoint Configuration Management Configuration Manager REST API (AdminService) Applications Reports API description: REST API for managing Configuration Manager resources including collections, deployments, applications, and device queries. The administration service is based on the OData v4 protocol and supports both WMI and versioned OData routes. Class names are case-sensitive. version: 1.0.0 contact: name: Microsoft Configuration Manager Support url: https://learn.microsoft.com/en-us/intune/configmgr/develop/adminservice/overview license: name: Microsoft API License url: https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use servers: - url: https://{siteserver}/AdminService description: Configuration Manager AdminService endpoint variables: siteserver: default: smsproviderfqdn description: Fully qualified domain name of the SMS Provider server hosting the administration service. security: - windowsAuth: [] - oauth2: [] tags: - name: Reports description: Retrieve inline Intune reports for device compliance, configuration policy status, and historical data. paths: /deviceManagement/reports/getDeviceNonComplianceReport: post: operationId: getDeviceNonComplianceReport summary: Microsoft Endpoint Configuration Management Get device non-compliance report description: Retrieve a report of devices that are not compliant with compliance policies. This is a synchronous report endpoint that returns data directly in the response body. tags: - Reports requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReportRequest' responses: '200': description: Successful response returning report data. content: application/json: schema: $ref: '#/components/schemas/ReportResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /deviceManagement/reports/getCompliancePolicyNonComplianceReport: post: operationId: getCompliancePolicyNonComplianceReport summary: Microsoft Endpoint Configuration Management Get compliance policy non-compliance report description: Retrieve a report of non-compliant devices grouped by compliance policy. tags: - Reports requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReportRequest' responses: '200': description: Successful response returning report data. content: application/json: schema: $ref: '#/components/schemas/ReportResponse' '401': $ref: '#/components/responses/Unauthorized' /deviceManagement/reports/getComplianceSettingNonComplianceReport: post: operationId: getComplianceSettingNonComplianceReport summary: Microsoft Endpoint Configuration Management Get compliance setting non-compliance report description: Retrieve a report of non-compliant devices grouped by compliance setting. tags: - Reports requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReportRequest' responses: '200': description: Successful response returning report data. content: application/json: schema: $ref: '#/components/schemas/ReportResponse' '401': $ref: '#/components/responses/Unauthorized' /deviceManagement/reports/getConfigurationPolicyNonComplianceReport: post: operationId: getConfigurationPolicyNonComplianceReport summary: Microsoft Endpoint Configuration Management Get configuration policy non-compliance report description: Retrieve a report of non-compliant devices grouped by configuration policy. tags: - Reports requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReportRequest' responses: '200': description: Successful response returning report data. content: application/json: schema: $ref: '#/components/schemas/ReportResponse' '401': $ref: '#/components/responses/Unauthorized' /deviceManagement/reports/getHistoricalReport: post: operationId: getHistoricalReport summary: Microsoft Endpoint Configuration Management Get historical report description: Retrieve a historical report from the Intune reporting infrastructure. Returns report data for a specific time range. tags: - Reports requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReportRequest' responses: '200': description: Successful response returning report data. content: application/json: schema: $ref: '#/components/schemas/ReportResponse' '401': $ref: '#/components/responses/Unauthorized' /deviceManagement/reports/getCachedReport: post: operationId: getCachedReport summary: Microsoft Endpoint Configuration Management Get cached report description: Retrieve a cached report from a previous export. The snapshotId or sessionId in the request body identifies the cached data to return. tags: - Reports requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReportRequest' responses: '200': description: Successful response returning cached report data. content: application/json: schema: $ref: '#/components/schemas/ReportResponse' '401': $ref: '#/components/responses/Unauthorized' components: responses: Forbidden: description: Forbidden. Insufficient permissions. content: application/json: schema: $ref: '#/components/schemas/ODataError' Unauthorized: description: Unauthorized. Authentication is required. content: application/json: schema: $ref: '#/components/schemas/ODataError' schemas: ODataError: type: object properties: error: type: object properties: code: type: string message: type: string innerError: type: object properties: request-id: type: string date: type: string ReportRequest: type: object description: Request body for retrieving inline Intune reports. properties: name: type: string description: Name of the report to retrieve. filter: type: string description: Filter expression to apply to the report data. select: type: array description: Columns to include in the report output. items: type: string orderBy: type: array description: Columns to order the report by. items: type: string skip: type: integer description: Number of records to skip. top: type: integer description: Number of records to return. sessionId: type: string description: Session ID for cached report access. search: type: string description: Search string to filter results. ReportResponse: type: object description: Response body for inline Intune reports. Contains report metadata and tabular data in a values array format. properties: totalRowCount: type: integer description: Total number of rows in the report. schema: type: array description: Array of column definitions describing the columns in the values array. items: type: object properties: column: type: string description: Column name. propertyType: type: integer description: Data type of the column. Common values include 1 for string, 2 for int32, 3 for dateTime, 4 for boolean. values: type: array description: Array of row data. Each row is an array of values corresponding to the columns defined in the schema. items: type: array items: {} securitySchemes: windowsAuth: type: http scheme: negotiate description: Windows Integrated Authentication (Kerberos/NTLM). oauth2: type: oauth2 description: OAuth 2.0 via Azure AD for cloud management gateway access. flows: authorizationCode: authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token scopes: {}