---
title: "OnboardDevice"
method: POST
path: "/devices/{deviceId}"
tags: ["IP Devices"]
---

# OnboardDevice

`POST /devices/{deviceId}`

[Onboard](https://docs.nordicsemi.com/bundle/nrf-cloud/page/Devices/Associations/Onboarding.html) and associate a single device with your nRF Cloud account.

Uploading a device certificate allows the device to use nRF Cloud services using any supported connectivity protocol, such as MQTT, and CoAP.
This endpoint involves your own CA certificate and
requires you to upload device certificates that you have already obtained, whether via a CSR produced by the `AT%KEYGEN` command
(modem firmware v1.3+), or offline via your own script. We impose no rules on your CA certificate, and a self-signed certificate may be used.
For more information see [Onboarding](https://docs.nordicsemi.com/bundle/nrf-cloud/page/Devices/Associations/Onboarding.html) in the nRF Cloud documentation.

Whether using our APIs via REST or MQTT you will need to flash to your device:
1. <a href="https://www.amazontrust.com/repository/AmazonRootCA1.pem" target="_blank">The Amazon Root CA1 PEM file</a>, which enables the device to authenticate the AWS IoT server.
2. The private key associated with the device certificate.

Additionally, if the device will be using MQTT, you will also need to flash the device certificate. For [signing JWTs](https://docs.nordicsemi.com/bundle/nrf-cloud/page/Devices/Security/JWT.html) you will use the private key associated
with the certificate. (During the device onboarding process we extract the corresponding public key from your uploaded certificate and use this for JWT signature verification.)

For bulk onboarding of devices, please use the [OnboardDevices endpoint](#operation/OnboardDevices).

## Path parameters

- `deviceId` string, required — This is the canonical device id used in the device certificate, and as the MQTT client id.

## Request body

- OnboardSingleDeviceArgs
  - `certificate` string, required — X509 Certificate in PEM format.
  - `subType` string — A custom string value to specify the type of thing (device) being provisioned on nRF Cloud.
  - `tags` DeviceTag[]
  - `supportedFirmwareTypes` FirmwareTypes[] — Firmware types supported by the device for FOTA.

## Response `202`

---

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