---
title: "Adds a new joiner"
method: POST
path: "/node/commissioner/joiner"
tags: ["node"]
---

# Adds a new joiner

`POST /node/commissioner/joiner`

## Request body

- JoinerData
  - `pskd` string — Joining device's pre-shared key
  - `joinerId` string — A string of the EUI-64, Discerner, or "*", mutually exclusive with `eui` and `discerner`.
  - `eui` string — A string of the EUI-64, mutually exclusive with `joinerId` and `discerner`.
  - `discerner` string — A discerner in the form of the discerner hex value (optionally with leading 0x) and bit length separated by a '/'. Field is mutually exclusive with `joinerId` and `eui`.
  - `timeout` integer — Joiner expiration time in milliseconds on response and seconds on request

## Response `200`

Successfully added joiner.

## Other responses

- `400` — Invalid request body.
- `409` — Adding joiner rejected because commissioner is not active.
- `507` — Number of joiners the commissioner supports is full and the new one cannot be added.

## Changes

- **2026-07-20** `a62dd7e2debc` — 1 warning, 1 info
  - removed the request property `eui64`
  - added the new optional request property `eui`
- **2025-09-10** `21e4b0112d12` — 5 warning, 5 info
  - removed the request property `Discerner`
  - removed the request property `Eui64`
  - removed the request property `JoinerId`
  - removed the request property `Pksd`
  - …6 more
- **2024-12-16** `7d8f31f26205` — 1 info
  - endpoint added
- **2023-05-10** `54157cc83c30` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/openthread/apis/swagger-openthread-rest-api/changes/node/commissioner/joiner/post.md)

---

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