---
title: "Fetch Blueprint Drift status for devices"
method: GET
path: "/v2/blueprint-drift/status"
tags: ["drift_Blueprint Drift"]
---

# Fetch Blueprint Drift status for devices

`GET /v2/blueprint-drift/status`

Fetches Blueprint Drift status for a set of devices.

Returns each requested device's current Blueprint Drift state (compliant, drifted, or unknown) in a single call, given a list of device IDs. Reponse varies by customer and feature availibility. Non-Architect customer where Blueprint Drift is not enabled returns an empty response. Architect customers where Blueprint Drift is not enabled due to not meeting the Esper Agent eligibility criteria returns a Version Mismatch response. Architect customers where Blueprint Drift is enabled returns the full Blueprint Drift response, including drift details.

**About Blueprint Drift Status**
Blueprint Drift detects when a device's actual configuration diverges from its assigned Blueprint. This endpoint is the per-device counterpart to the fleet-wide summary, letting you check drift status for a specific set of devices at once.

**Key Fields / Query Parameters**

- `device_ids` — List of device UUIDs to check drift status for

**Common Use Cases**
- Checking drift status for a specific group of devices before or after a remediation effort
- Confirming devices returned to compliant status after a config fix
- Building a device-list view filtered or annotated by drift status

**Best Practices**
- Batch device_ids in a single call rather than checking devices one at a time
- Treat unknown status as meaning insufficient state data has been reported yet, not necessarily non-compliant
- Use the per-setting audit endpoint for any device showing drifted status to see exactly what differs

**Workflow**
1. Gather the device_ids to check
2. GET this endpoint with those device_ids
3. For any device showing drifted, call GET /v2/blueprint-drift/{deviceId}/status for per-setting detail

## Query parameters

- `device_ids` string, required

## Headers

- `X-Tenant-Id` string, required
- `X-Caller-Id` string, required

## Response `200`

Blueprint Drift status result set

- DriftBlueprintDriftStatusResponse
  - `results` DriftBlueprintDriftStatusItem[], required
    - `device_id` string, uuid, required — Device identifier
    - `state` 'drifted' | 'compliant' | 'unknown', required — Blueprint Drift status (drifted, compliant, unknown)
    - `critical_drift_count` integer, required — Number of drifted settings with severity = 40 (CRITICAL)

## Other responses

- `400` — Bad request.
- `401` — Authorization information is missing or invalid.
- `500` — Internal server error

## Changes

- **2026-09-03** `6b55f43485ae` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/esper/apis/esper-api-reference/changes/v2/blueprint-drift/status/get.md)

---

[API](https://skmtc.dev/esper/apis/esper-api-reference.md) · [All operations](https://skmtc.dev/esper/apis/esper-api-reference/llms.txt) · [OpenAPI document](https://skmtc.dev/esper/apis/esper-api-reference/revisions/aa0eda39dc3e?raw)
