Skip to content

Device Status for Device Compliance Policy not returning all items #4043

Description

@victormuljo

Describe the bug
The Device Status for the device compliance policies from the following api endpoint does not return all the devices in that compliance policy: https://graph.microsoft.com/v1.0/deviceManagement/deviceCompliancePolicies/{compliancePolicyID}/dev…

If I run https://graph.microsoft.com/v1.0/deviceManagement/deviceCompliancePolicies/{compliancePolicyID}/dev…, it correctly gives me the correct number of devices in that compliance policy, but when I check the deviceStatuses, it gives me only 51 out of all devices. I checked with all the other device compliance policies and its consistently only giving me 51 when there should be over 100 for each one.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://developer.microsoft.com/en-us/graph/graph-explorer
  2. Enter the URL https://graph.microsoft.com/v1.0/deviceManagement/deviceCompliancePolicies/{compliancePolicyID}/dev…
  3. Click "Run Query"
  4. Notice that not all devices are listed, only 51 are shown

Expected behavior
Expected to see a full list of devices, but only 51 are being displayed out of 100+

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: macOS
  • Browser: edge
  • Version: 149.0.4022.80

Additional context
There is no odata.nextLink supplied. All response headers look like this:

"@odata.context": "[https://graph.microsoft.com/v1.0/$metadata#deviceManagement/deviceCompliancePolicies('id')/deviceSt…](https://graph.microsoft.com/v1.0/$metadata#deviceManagement/deviceCompliancePolicies(%27id%27)/deviceStatuses%22),
"@odata.count": 51,
"@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET deviceManagement/deviceCompliancePolicies('<guid>')/deviceStatuses?$select=complianceGracePeriodExpirationDateTime,deviceDisplayName",
"value": [...]

I've tried setting a $top parameter to 999 and it still only returns 51 regardless of compliance policy. First noticed on Thursday, June 18, 2026

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions