---
title: "Creates or updates the active operational dataset"
method: PUT
path: "/node/dataset/active"
tags: ["node"]
---

# Creates or updates the active operational dataset

`PUT /node/dataset/active`

Creates or updates the the active operational dataset on the current node. Only allowed if the Thread node
is inactive. If the Thread node is active, a pending dataset should be used to update the current active
operational dataset.

## Request body

- ActiveDataset
  - `ActiveTimestamp` Timestamp
    - `Seconds` integer — Timestamp seconds
    - `Ticks` integer — Timestamp ticks
    - `Authoritative` boolean
  - `NetworkKey` string — Network key, 16 bytes long, formatted as a hexadecimal string
  - `NetworkName` string — Network name, 16 bytes long
  - `ExtPanId` string — Extended PAN ID, 8 bytes long, formatted as a hexadecimal string
  - `MeshLocalPrefix` string — Mesh local IPv6 prefix
  - `PanId` integer — IEEE 802.15.4 PAN ID of the Thread network
  - `Channel` integer — IEEE 802.15.4 channel of the Thread network
  - `PSKc` string — The pre-shared commissioner key
  - `SecurityPolicy` SecurityPolicy
    - `RotationTime` integer — Thread key rotation time in hours
    - `ObtainNetworkKey` boolean — Obtaining the Network Key for out-of-band commissioning is enabled
    - `NativeCommissioning` boolean — Native Commissioning using PSKc is allowed
    - `Routers` boolean — Thread 1.0/1.1.x Routers are enabled
    - `ExternalCommissioning` boolean — External Commissioner authentication is allowed
    - `CommercialCommissioning` boolean — Commercial Commissioning is enabled
    - `AutonomousEnrollment` boolean — Autonomous Enrollment is enabled
    - `NetworkKeyProvisioning` boolean — Network Key Provisioning is enabled
    - `TobleLink` boolean — ToBLE link is enabled
    - `NonCcmRouters` boolean — Non-CCM Routers enabled
  - `ChannelMask` integer — Channel mask

## Response `200`

Successfully updated the active operational dataset.

## Other responses

- `201` — Successfully created the active operational dataset.
- `400` — Invalid request body.
- `409` — Writing active operational dataset rejected because Thread network is active.

---

[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-service-production.skmtc.workers.dev/v1/apis/espressif/swagger-esp-thread-border-router-rest-api/revisions/8e96e3b3f8d3/schema)
