Microsoft Intune Device Compliance Policies API

Operations for managing device compliance policies. Compliance policies define rules and settings that a device must comply with to be considered compliant.

Operations 6

GET /deviceManagement/deviceCompliancePolicies Microsoft Intune List device compliance policies #
GET /deviceManagement/deviceCompliancePolicies/{deviceCompliancePolicyId} Microsoft Intune Get device compliance policy #
PATCH /deviceManagement/deviceCompliancePolicies/{deviceCompliancePolicyId} Microsoft Intune Update device compliance policy #
DELETE /deviceManagement/deviceCompliancePolicies/{deviceCompliancePolicyId} Microsoft Intune Delete device compliance policy #
POST /deviceManagement/deviceCompliancePolicies/{deviceCompliancePolicyId}/assign Microsoft Intune Assign device compliance policy #
POST /deviceManagement/deviceCompliancePolicies/{deviceCompliancePolicyId}/scheduleActionsForRules Microsoft Intune Schedule actions for compliance rules #

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-intune-device-compliance-policies-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-intune-device-compliance-policies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Microsoft Intune Graph Device Compliance Policies API
  description: The Microsoft Graph API for Intune enables programmatic access to Intune information and actions for your tenant. The API performs the same Intune operations as those available through the Microsoft Intune admin center, including managed device management, device configuration, and compliance policy enforcement. Requires an active Intune license for the tenant.
  version: 1.0.0
  termsOfService: https://www.microsoft.com/en-us/legal/terms-of-use
  contact:
    name: Microsoft Graph Support
    url: https://developer.microsoft.com/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
security:
- oauth2:
  - DeviceManagementManagedDevices.Read.All
  - DeviceManagementConfiguration.Read.All
tags:
- name: Device Compliance Policies
  description: Operations for managing device compliance policies. Compliance policies define rules and settings that a device must comply with to be considered compliant.
  externalDocs:
    url: https://learn.microsoft.com/en-us/graph/api/resources/intune-deviceconfig-devicecompliancepolicy?view=graph-rest-1.0
paths:
  /deviceManagement/deviceCompliancePolicies:
    get:
      operationId: listDeviceCompliancePolicies
      summary: Microsoft Intune List device compliance policies
      description: List properties and relationships of the deviceCompliancePolicy objects. Returns all compliance policies defined in the tenant. Compliance policies are platform specific and individual per-platform policies inherit from this base class.
      tags:
      - Device Compliance Policies
      parameters:
      - $ref: '#/components/parameters/top'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/count'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/select'
      - $ref: '#/components/parameters/expand'
      responses:
        '200':
          description: A collection of deviceCompliancePolicy objects.
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@odata.context':
                    type: string
                  '@odata.count':
                    type: integer
                  '@odata.nextLink':
                    type: string
                    format: uri
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/deviceCompliancePolicy'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        default:
          $ref: '#/components/responses/ODataError'
      security:
      - oauth2:
        - DeviceManagementConfiguration.Read.All
        - DeviceManagementConfiguration.ReadWrite.All
  /deviceManagement/deviceCompliancePolicies/{deviceCompliancePolicyId}:
    get:
      operationId: getDeviceCompliancePolicy
      summary: Microsoft Intune Get device compliance policy
      description: Read properties and relationships of a deviceCompliancePolicy object.
      tags:
      - Device Compliance Policies
      parameters:
      - $ref: '#/components/parameters/deviceCompliancePolicyId'
      - $ref: '#/components/parameters/select'
      - $ref: '#/components/parameters/expand'
      responses:
        '200':
          description: The requested deviceCompliancePolicy object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceCompliancePolicy'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        default:
          $ref: '#/components/responses/ODataError'
      security:
      - oauth2:
        - DeviceManagementConfiguration.Read.All
        - DeviceManagementConfiguration.ReadWrite.All
    patch:
      operationId: updateDeviceCompliancePolicy
      summary: Microsoft Intune Update device compliance policy
      description: Update the properties of a deviceCompliancePolicy object.
      tags:
      - Device Compliance Policies
      parameters:
      - $ref: '#/components/parameters/deviceCompliancePolicyId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/deviceCompliancePolicy'
      responses:
        '200':
          description: The updated deviceCompliancePolicy object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceCompliancePolicy'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        default:
          $ref: '#/components/responses/ODataError'
      security:
      - oauth2:
        - DeviceManagementConfiguration.ReadWrite.All
    delete:
      operationId: deleteDeviceCompliancePolicy
      summary: Microsoft Intune Delete device compliance policy
      description: Deletes a deviceCompliancePolicy.
      tags:
      - Device Compliance Policies
      parameters:
      - $ref: '#/components/parameters/deviceCompliancePolicyId'
      responses:
        '204':
          description: No content. The deviceCompliancePolicy was successfully deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        default:
          $ref: '#/components/responses/ODataError'
      security:
      - oauth2:
        - DeviceManagementConfiguration.ReadWrite.All
  /deviceManagement/deviceCompliancePolicies/{deviceCompliancePolicyId}/assign:
    post:
      operationId: assignDeviceCompliancePolicy
      summary: Microsoft Intune Assign device compliance policy
      description: Assign a device compliance policy to groups of users or devices.
      tags:
      - Device Compliance Policies
      parameters:
      - $ref: '#/components/parameters/deviceCompliancePolicyId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                assignments:
                  type: array
                  items:
                    $ref: '#/components/schemas/deviceCompliancePolicyAssignment'
      responses:
        '200':
          description: The list of assignments for the compliance policy.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/deviceCompliancePolicyAssignment'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        default:
          $ref: '#/components/responses/ODataError'
      security:
      - oauth2:
        - DeviceManagementConfiguration.ReadWrite.All
  /deviceManagement/deviceCompliancePolicies/{deviceCompliancePolicyId}/scheduleActionsForRules:
    post:
      operationId: scheduleActionsForRules
      summary: Microsoft Intune Schedule actions for compliance rules
      description: Schedule actions for rules associated with a device compliance policy, such as marking a device as noncompliant or sending notification emails.
      tags:
      - Device Compliance Policies
      parameters:
      - $ref: '#/components/parameters/deviceCompliancePolicyId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                deviceComplianceScheduledActionForRules:
                  type: array
                  items:
                    $ref: '#/components/schemas/deviceComplianceScheduledActionForRule'
      responses:
        '204':
          description: No content. The scheduled actions were successfully set.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        default:
          $ref: '#/components/responses/ODataError'
      security:
      - oauth2:
        - DeviceManagementConfiguration.ReadWrite.All
components:
  parameters:
    search:
      name: $search
      in: query
      description: Search string for filtering results.
      schema:
        type: string
    count:
      name: $count
      in: query
      description: Include count of items in the result set.
      schema:
        type: boolean
    orderby:
      name: $orderby
      in: query
      description: Comma-separated list of properties to sort the result set by.
      schema:
        type: string
    select:
      name: $select
      in: query
      description: Comma-separated list of properties to include in the response.
      schema:
        type: string
    top:
      name: $top
      in: query
      description: Number of items to return in a result set.
      schema:
        type: integer
        minimum: 0
    deviceCompliancePolicyId:
      name: deviceCompliancePolicyId
      in: path
      required: true
      description: The unique identifier of the device compliance policy.
      schema:
        type: string
    skip:
      name: $skip
      in: query
      description: Number of items to skip in the result set.
      schema:
        type: integer
        minimum: 0
    filter:
      name: $filter
      in: query
      description: OData filter expression for filtering results.
      schema:
        type: string
    expand:
      name: $expand
      in: query
      description: Comma-separated list of relationships to expand and include in the response.
      schema:
        type: string
  responses:
    NotFound:
      description: Not found. The requested resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/odataError'
    Unauthorized:
      description: Unauthorized. The request requires valid authentication credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/odataError'
    Forbidden:
      description: Forbidden. The caller does not have the required permissions.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/odataError'
    ODataError:
      description: An unexpected error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/odataError'
  schemas:
    deviceCompliancePolicyAssignment:
      type: object
      description: Device compliance policy assignment.
      properties:
        '@odata.type':
          type: string
          default: '#microsoft.graph.deviceCompliancePolicyAssignment'
        id:
          type: string
          description: Key of the entity.
        target:
          $ref: '#/components/schemas/deviceAndAppManagementAssignmentTarget'
    deviceCompliancePolicy:
      type: object
      description: This is the base class for Compliance policy. Compliance policies are platform specific and individual per-platform compliance policies inherit from here.
      properties:
        '@odata.type':
          type: string
          default: '#microsoft.graph.deviceCompliancePolicy'
        id:
          type: string
          description: Key of the entity.
        createdDateTime:
          type: string
          format: date-time
          description: DateTime the object was created.
          readOnly: true
        description:
          type: string
          description: Admin provided description of the Device Configuration.
        lastModifiedDateTime:
          type: string
          format: date-time
          description: DateTime the object was last modified.
          readOnly: true
        displayName:
          type: string
          description: Admin provided name of the device configuration.
        version:
          type: integer
          format: int32
          description: Version of the device configuration.
          readOnly: true
    deviceComplianceActionItem:
      type: object
      description: Scheduled action configuration.
      properties:
        '@odata.type':
          type: string
          default: '#microsoft.graph.deviceComplianceActionItem'
        id:
          type: string
          description: Key of the entity.
        gracePeriodHours:
          type: integer
          format: int32
          description: Number of hours to wait till the action will be enforced.
        actionType:
          type: string
          description: What action to take.
          enum:
          - noAction
          - notification
          - block
          - retire
          - wipe
          - removeResourceAccessProfiles
          - pushNotification
        notificationTemplateId:
          type: string
          description: What notification message template to use.
        notificationMessageCCList:
          type: array
          items:
            type: string
          description: A list of group IDs to specify who to CC this notification message to.
    deviceComplianceScheduledActionForRule:
      type: object
      description: Scheduled action for a compliance rule.
      properties:
        '@odata.type':
          type: string
          default: '#microsoft.graph.deviceComplianceScheduledActionForRule'
        id:
          type: string
          description: Key of the entity.
        ruleName:
          type: string
          description: Name of the rule which this scheduled action applies to.
        scheduledActionConfigurations:
          type: array
          items:
            $ref: '#/components/schemas/deviceComplianceActionItem'
          description: The list of scheduled action configurations for this compliance policy.
    odataError:
      type: object
      description: OData error response.
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Error code.
            message:
              type: string
              description: Error message.
            innerError:
              type: object
              properties:
                request-id:
                  type: string
                  description: Request ID for tracing.
                date:
                  type: string
                  format: date-time
                  description: Date and time of the error.
    deviceAndAppManagementAssignmentTarget:
      type: object
      description: Base type for assignment targets.
      properties:
        '@odata.type':
          type: string
          description: The OData type of the assignment target.
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization using Azure Active Directory. Requires an active Intune license for the tenant.
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes:
            DeviceManagementManagedDevices.Read.All: Read Microsoft Intune managed devices
            DeviceManagementManagedDevices.ReadWrite.All: Read and write Microsoft Intune managed devices
            DeviceManagementConfiguration.Read.All: Read Microsoft Intune device configuration and policies
            DeviceManagementConfiguration.ReadWrite.All: Read and write Microsoft Intune device configuration and policies
externalDocs:
  description: Microsoft Graph Intune API Overview
  url: https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0