Microsoft Endpoint Configuration Management Reports API

Retrieve inline Intune reports for device compliance, configuration policy status, and historical data.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

microsoft-endpoint-configuration-management-reports-api-openapi.yml Raw ↑
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: {}