v1

latestOpenAPI 3.0.1Apache 2.02026-08-063494581.6 MB
device_DeviceOperations

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

get/v0/operations/{operationsId}/devices/

Path parameters

operationsIdstring uuid required

ID of the Operation

Query parameters

limitinteger
offsetinteger
stateinteger

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
ordering'created_at' | 'state' | 'updated_at'

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"
          }
        ]
      }
    ]
  }
}