Device Enrolment

Enrolling a LoRaWAN device

In N2N-DL enrolling a new LoRaWAN device is as easy as 1 simple API call.

Your account must be enabled for device enrolment otherwise an HTTP error 400 will be returned.

OTAA devices

OTAA devices require appEui and appKey.

Optionally a nwAddress can also be provided where required by the device.

The payload is currently decrypted at the network server.

Example of OTAA device enrolment

Let’s start by enrolling a OTAA device:


curl -X POST \
  https://www.nnnco.io/v3/api/core/devices \
  -u api:8a0892e3aedbe2f2ade4bd727d4725e0c639d021 \
  -H 'Content-Type: application/json' \
  -d '{
	"deviceId": "477b41f200300034",
	"enterpriseId": "nnn.client1",
	"name": "test-device-otaa",
	"enrolment": {
		"class": "A",
		"mode": "otaa",
		"otaa": {
			"appEui": "0000000000000000",
			"appKey": "2b7e151628aed2a6abf7158809cf4f3c"
		}
	}
}'

ABP

ABP devices require nwKey and nwAddress.

Optionally a fixed appSKey can also be provided.

If an appSKey is provided our network server will decrypt the payload.

Otherwise payload decryption needs to happen in any of the downstream systems from N2N-DL

Example of ABP device enrolment
curl -X POST \
  https://www.nnnco.io/v3/api/core/devices \
  -u api:8a0892e3aedbe2f2ade4bd727d4725e0c639d021 \
  -H 'Content-Type: application/json' \
  -d '{
	"deviceId": "A81758FFFE0311EF",
	"enterpriseId": "nnn",
	"name": "test-abp-device",
	"enrolment": {
		"class": "A",
		"mode": "abp",
		"abp": {
			"nwAddress": "FE0311EF",
			"nwKey": "00000000000000000000000000000000",
			"appSKey": "00000000000000000000000000000000"
		}
	}
}'

Class support

We currently support Class A and Class C devices.

We do support Class B devices at a network server level but they cannot be enrolled through our APIs yet.

If you need to enrol Class B devices do get in touch.

Device unenrolment

Similarly a device can be safely deleted from N2N-DL with 1 simple API call

curl -X DELETE \
  https://www.nnnco.io/v3/api/core/devices/A81758FFFE0311EF \
  -u api:8a0892e3aedbe2f2ade4bd727d4725e0c639d021 \
  -H 'Content-Type: application/json'

We store the data received from a device after its deletion according to our data storage policies.

Currently data linked to a deleted device cannot be retrieved until the device has been re-enrolled.

API Documentation

Open API Swagger documentation is provided here