---
title: "Get a command status"
method: GET
path: "/commands/v0/status/{id}/"
tags: ["commands_Command Status"]
---

# Get a command status

`GET /commands/v0/status/{id}/`

Retrieves a single command status record by its ID.

Returns the full CommandStatus object for one device's execution of one command, including its current state, the associated device and request IDs, and the reason for its current state.

**About Get Command Status**
This is the most granular status check available for a command's execution on a specific device. Use it once you already have a command status id, typically obtained by filtering GET /commands/v0/status/ down to the record you care about.

**Common Use Cases**

Checking the current state and reason for one device's execution of a command

Confirming a command has reached a terminal state before considering it complete

**Best Practices**

Use the reason field to understand why a command failed rather than only checking state

Cache this result briefly rather than polling continuously if the state is already terminal

**Workflow**

Filter GET /commands/v0/status/ by device or request to find the specific command status id

Call this endpoint with that id for the full record

## Path parameters

- `id` string, required

## Response `200`

Command status information

- object
  - `code` integer
  - `message` string
  - `content` 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.
- `404` — Not Found.
- `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)
