---
title: "List command executions"
method: GET
path: "/api/v2/devices/{id}/actuator-executions"
tags: ["Commands"]
---

# List command executions

`GET /api/v2/devices/{id}/actuator-executions`

## Request

- Base URL: `https://api.kiloiot.io`
- URL: `https://api.kiloiot.io/api/v2/devices/{id}/actuator-executions`
- Auth: API key in header `X-API-Key` and API key in header `X-Organization-Id`

List actuator executions for a device, ordered by most-recently-updated first, with cursor-based pagination (`before` cursor + `nextCursor`).

**Required scope:** `commands:read`

## Path parameters

- `id` string, required

## Query parameters

- `organizationId` string, required
- `limit` integer
- `before` string

## Response `200`

OK

- object
  - `items` object[]
    - `id` string
    - `triggerId` string
    - `commandId` string, nullable
    - `commandNameSnapshot` string
    - `state` 'enqueued' | 'in_transit' | 'delivered' | 'accepted' | 'converged' | 'accepted_no_l4' | 'unconfirmed' | 'protocol_rejected' | 'transport_unreachable' | 'transport_rejected' | 'request_rejected'
    - `rejectionReason` 'validation_failed' | 'device_queue_full', nullable
    - `updatedAt` string
    - `enqueuedAt` string
  - `nextCursor` string, nullable

## Other responses

- `401`: Missing or invalid API key
- `403`: Insufficient permissions (missing required scope)

---

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