---
title: "Get status list for command request"
method: GET
path: "/commands/v0/status/"
tags: ["commands_Command Status"]
---

# Get status list for command request

`GET /commands/v0/status/`

Retrieves a paginated, filterable list of individual command status records across the tenant.

Each record represents one command's execution on one device, including its current state and the reason for that state. Filter by request, device, or state to narrow the list to the commands you're investigating.

**About List Command Status**
While a command request can target many devices at once, each device gets its own CommandStatus record tracking its individual progress through the command lifecycle, moving through Command Queued, Command Initiated, Command Acknowledged, Command In Progress, and a terminal state such as Command Success, Command Failure, Command TimeOut, or Command Cancelled. This endpoint is the primary way to see exactly which devices succeeded or failed within a given command request.

**Key Fields / Query Parameters**

request — filters by one or more command request IDs, accepts comma-separated values

device — filters by one or more device IDs, accepts comma-separated values

state — filters by command state, for example Command Failure or Command Queued

exclude_internal_commands — excludes internally generated commands from the results when set to true

**Common Use Cases**

Listing every device that failed a specific command request

Checking whether a specific device has picked up a command it was sent

Auditing all command activity for a device over time by filtering on device alone

**Best Practices**

Combine request and state filters to jump straight to the failed devices within a large command request

Use exclude_internal_commands to keep results focused on customer-issued commands when auditing

**Workflow**

Identify the request id from the command request, or the device id you want to investigate

Call this endpoint with the appropriate filters

Use the returned command status id with GET /commands/v0/status/{id}/ for full detail on a specific record

## Query parameters

- `request` string
- `device` string
- `state` 'Command Queued' | 'Command Initiated' | 'Command Acknowledged' | 'Command In Progress' | 'Command TimeOut' | 'Command Success' | 'Command Failure' | 'Command Scheduled' | 'Command Cancelled'
- `exclude_internal_commands` boolean
- `limit` number
- `offset` number

## Response `200`

Status list for a command request

- object
  - `code` integer
  - `message` string
  - `content` object
    - `count` integer
    - `previous` string
    - `next` string
    - `results` CommandsCommandStatus[]
      - `id` string, uuid — Unique command identifier
      - `request` string, uuid — Request Id associated with this command
      - `device` string, uuid — Device associated with this command
      - `state` 'Command Queued' | 'Command Initiated' | 'Command Acknowledged' | 'Command In Progress' | 'Command TimeOut' | 'Command Success' | 'Command Failure' | 'Command Scheduled' | 'Command Cancelled' — Current state of the command
      - `reason` string — details briefing the reason for current command state
      - `created_at` string, date-time — Timestamp of command creation
      - `updated_at` string, date-time — Last updated timestamp of command
      - `command_meta` object, nullable — Optional metadata associated with the command execution result. Present only for commands that return structured data from the device.
        - `result` unknown

## Other responses

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

---

[API](https://skmtc.net/esper/apis/esper-api-reference.md) · [All operations](https://skmtc.net/esper/apis/esper-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/esper/esper-api-reference/revisions/e1f64cbb488e/schema)
