Microsoft Endpoint Configuration Management Reports API

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

Operations 6

POST /deviceManagement/reports/getDeviceNonComplianceReport Microsoft Endpoint Configuration Management Get device non-compliance report #
POST /deviceManagement/reports/getCompliancePolicyNonComplianceReport Microsoft Endpoint Configuration Management Get compliance policy non-compliance report #
POST /deviceManagement/reports/getComplianceSettingNonComplianceReport Microsoft Endpoint Configuration Management Get compliance setting non-compliance report #
POST /deviceManagement/reports/getConfigurationPolicyNonComplianceReport Microsoft Endpoint Configuration Management Get configuration policy non-compliance report #
POST /deviceManagement/reports/getHistoricalReport Microsoft Endpoint Configuration Management Get historical report #
POST /deviceManagement/reports/getCachedReport Microsoft Endpoint Configuration Management Get cached report #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-endpoint-configuration-management-reports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

microsoft-endpoint-configuration-management-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Microsoft Endpoint Configuration Management Intune Reporting Export Reports API
  description: Microsoft Graph API endpoints for exporting Intune reports programmatically. Supports exporting device, compliance, and app management reports in CSV or JSON format using asynchronous export jobs. All reports migrated to the Intune reporting infrastructure are available for export from the deviceManagement/reports/exportJobs endpoint. Requires an active Intune license for the tenant.
  version: 1.0.0
  contact:
    name: Microsoft Graph Support
    url: https://developer.microsoft.com/en-us/graph/support
  license:
    name: Microsoft API License
    url: https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use
servers:
- url: https://graph.microsoft.com/v1.0
  description: Microsoft Graph v1.0 production endpoint
- url: https://graph.microsoft.com/beta
  description: Microsoft Graph beta endpoint
security:
- 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:
  schemas:
    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: {}
    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
  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'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes:
            DeviceManagementConfiguration.Read.All: Read device configurations
            DeviceManagementConfiguration.ReadWrite.All: Read and write device configurations
            DeviceManagementApps.Read.All: Read app management data
            DeviceManagementApps.ReadWrite.All: Read and write app management data
            DeviceManagementManagedDevices.Read.All: Read managed devices
            DeviceManagementManagedDevices.ReadWrite.All: Read and write managed devices