---
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.
- `500` — The server encountered an unexpected error. The client SHOULD retry after a longer period of time.

---

[API](https://skmtc.net/openthread/apis/swagger-openthread-rest-api.md) · [All operations](https://skmtc.net/openthread/apis/swagger-openthread-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openthread/swagger-openthread-rest-api/revisions/7996e8479177/schema)
