---
title: "Queue Thread actions"
method: POST
path: "/api/actions"
---

# Queue Thread actions

`POST /api/actions`

## Request

- Base URL: `http://esp-ot-br.local:80`
- URL: `http://esp-ot-br.local:80/api/actions`
- Auth: none declared

## Request body

- ActionRequest
  - `data` union[], required
    - union
      - AddThreadDeviceTask
        - `type` 'addThreadDeviceTask', required
        - `attributes` Joiner, required
          - `pskd` string, required
          - `joinerId` string
          - `eui` string
          - `discerner` string
          - `timeout` integer
      - UpdateDeviceCollectionTask
        - `type` 'updateDeviceCollectionTask', required
        - `attributes` object, required
          - `maxAge` number, required
          - `maxRetries` integer, required
          - `deviceCount` integer, required
          - `timeout` number, required: Action deadline in seconds.
      - GetNetworkDiagnosticTask
        - `type` 'getNetworkDiagnosticTask', required
        - `attributes` object, required
          - `destination` string, required: Extended address, ML-EID IID, or RLOC16.
          - `destinationType` 'extended' | 'mleid' | 'rloc'
          - `types` string[], required
          - `timeout` number, required: Action deadline in seconds.
      - ResetNetworkDiagCounterTask
        - `type` 'resetNetworkDiagCounterTask', required
        - `attributes` object, required
          - `destination` string: Extended address, ML-EID IID, or RLOC16.
          - `destinationType` 'extended' | 'mleid' | 'rloc'
          - `types` string[], required
          - `timeout` number, required: Action deadline in seconds.
      - GetEnergyScanTask
        - `type` 'getEnergyScanTask', required
        - `attributes` object, required
          - `destination` string, required: Extended address, ML-EID IID, or RLOC16.
          - `destinationType` 'extended' | 'mleid' | 'rloc'
          - `channelMask` integer[], required
          - `count` integer, required
          - `period` integer, required
          - `scanDuration` integer, required
          - `timeout` number, required: Action deadline in seconds.

## Response `200`

Success

- CollectionDocument
  - `data` Resource[], required
    - `id` string, required
    - `type` string, required
    - `attributes` object, required
    - `relationships` object
  - `meta` CollectionMeta
    - `collection` object
      - `offset` integer
      - `limit` integer
      - `total` integer
      - `pending` integer

## Other responses

- `400`: Bad Request
- `405`: Method Not Allowed
- `406`: Not Acceptable
- `413`: Payload Too Large
- `415`: Unsupported Media Type
- `422`: Unprocessable Content
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-10-13** `c92b611017a5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/espressif/apis/swagger-esp-thread-border-router-rest-api/changes/api/actions/post.md)

---

[API](https://skmtc.dev/espressif/apis/swagger-esp-thread-border-router-rest-api.md) - [All operations](https://skmtc.dev/espressif/apis/swagger-esp-thread-border-router-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/espressif/apis/swagger-esp-thread-border-router-rest-api/revisions/c92b611017a5?raw)
