Get all DeviceOperations for a specific Operation
Retrieves the per-device breakdown of a single Dispatch operation, showing where every targeted device stands in the operation's lifecycle.
Use this endpoint after checking an operation's aggregate status to see exactly which devices succeeded, failed, or are still processing. Supports filtering by device operation state and ordering, which makes it the primary tool for isolating the devices that failed a Converge, install, or uninstall action.
About Device Operations for an Operation
When a Dispatch operation targets many devices, Esper tracks each device's progress as a separate DeviceOperation record nested under the parent Operation. This endpoint lists all of those records for a given operationsId, each carrying its own state and activity history distinct from the operation's overall state. It is the standard way to move from "this operation had failures" to "these are the specific devices that failed."
Key Fields / Query Parameters
state — filters by device operation state using integer codes; common values are 10 for Created, 30 for Dispatched, 40 for Processing, 50 for Success, and 60 for Failure
ordering — orders results by created_at, state, or updated_at; prefix with a minus sign to reverse order
Common Use Cases
Listing every device that failed a fleet-wide Converge operation by filtering state to the failure code
Monitoring how many devices in a large install or uninstall operation are still processing
Building a per-device progress view for a dispatch operation shown in the Activity Feed
Best Practices
Filter by state rather than paging through the full device list when you only need failures
Combine with ordering by created_at to review the most recently updated devices first
For a single device's status within the operation, use GET /v0/operations/{operationsId}/devices/{deviceId}/ instead of filtering this list
Workflow
Create or identify the operation using the Operations endpoints
Call this endpoint with the operationsId to retrieve the full device breakdown
Filter by state to isolate failed or still-processing devices
Re-drive the operation for any failed devices once their connectivity is confirmed
Path parameters
ID of the Operation
Query parameters
Following are the Device Operation States and their corresponding integer values
DEVICE_OPERATION_CREATED = 10
DEVICE_OPERATION_INITIATED = 20
DEVICE_OPERATION_DISPATCHED = 30
DEVICE_OPERATION_PROCESSING = 40
DEVICE_OPERATION_SUCCESS = 50
DEVICE_OPERATION_FAILURE = 60
DEVICE_OPERATION_CANCELLED = 70
DEVICE_OPERATION_TIMEOUT = 80
DEVICE_OPERATION_COMPLETED = 90
Field to order the results by. Prefix with '-' to reverse the order.
Response
Device Operation information for the Operation
Example response
{
"content": {
"results": [
{
"device_operation_activity": [
{
"device_operation_state": "CREATED"
}
]
}
]
}
}