End Device Claiming APIs

The EndDeviceClaimingServer service

Method EndDeviceClaimingServer.AuthorizeApplication
Request type AuthorizeApplicationRequest
Response type google.protobuf.Empty
HTTP bindings

POST /api/v3/edcs/applications/{application_ids.application_id}/authorize

Method EndDeviceClaimingServer.UnauthorizeApplication
Request type ApplicationIdentifiers
Response type google.protobuf.Empty
HTTP bindings

DELETE /api/v3/edcs/applications/{application_id}/authorize

Method EndDeviceClaimingServer.Claim
Description Claims the end device by claim authentication code or QR code and transfers the device to the target application.
Request type ClaimEndDeviceRequest
Response type EndDeviceIdentifiers
HTTP bindings

POST /api/v3/edcs/claim

Messages

Message ApplicationIdentifiers

Field application_id
Type string
Description

max_len: 36

pattern: ^[a-z0-9](?:[-]?[a-z0-9]){2,}$

Show object example
{
  "application_id": "",
}

Message AuthorizeApplicationRequest

Field application_ids
Type ApplicationIdentifiers
Description

required

Field api_key
Type string
Description

min_len: 1

Show object example
{
  "application_ids": {},
  "api_key": "",
}

Message ClaimEndDeviceRequest

Field authenticated_identifiers
Type ClaimEndDeviceRequest.AuthenticatedIdentifiers
Field qr_code
Type bytes
Description

max_len: 1024

Field target_application_ids
Type ApplicationIdentifiers
Description

Application identifiers of the target end device.

required

Field target_device_id
Type string
Description

End device ID of the target end device. If empty, use the source device ID.

max_len: 36

pattern: ^[a-z0-9](?:[-]?[a-z0-9]){2,}$|^$

Field target_network_server_address
Type string
Description

The address of the Network Server where the device will be registered. If set and if the source device is currently registered on a Network Server, settings will be transferred. If not set, the device shall not be registered on a Network Server.

pattern: ^(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*(?:[A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])(?::[0-9]{1,5})?$|^$

Field target_network_server_kek_label
Type string
Description

The KEK label of the Network Server to use for wrapping network session keys.

max_len: 2048

Field target_application_server_address
Type string
Description

The address of the Application Server where the device will be registered. If set and if the source device is currently registered on an Application Server, settings will be transferred. If not set, the device shall not be registered on an Application Server.

pattern: ^(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*(?:[A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])(?::[0-9]{1,5})?$|^$

Field target_application_server_kek_label
Type string
Description

The KEK label of the Application Server to use for wrapping the application session key.

max_len: 2048

Field target_application_server_id
Type string
Description

The AS-ID of the Application Server to use.

max_len: 100

Field target_net_id
Type bytes
Description

Home NetID.

Field invalidate_authentication_code
Type bool
Description

If set, invalidate the authentication code with which the device gets claimed. This prohibits subsequent claiming requests.

Restrictions
Only one of authenticated_identifiers, qr_code can be set.
Show object example
{
  "authenticated_identifiers": {},
  "qr_code": "",
  "target_application_ids": {},
  "target_device_id": "",
  "target_network_server_address": "",
  "target_network_server_kek_label": "",
  "target_application_server_address": "",
  "target_application_server_kek_label": "",
  "target_application_server_id": "",
  "target_net_id": "",
  "invalidate_authentication_code": false,
}

Message ClaimEndDeviceRequest.AuthenticatedIdentifiers

Field join_eui
Type bytes
Field dev_eui
Type bytes
Field authentication_code
Type string
Description

pattern: ^[A-Z0-9]{1,32}$

Show object example
{
  "join_eui": "",
  "dev_eui": "",
  "authentication_code": "",
}

Message EndDeviceIdentifiers

Field device_id
Type string
Description

max_len: 36

pattern: ^[a-z0-9](?:[-]?[a-z0-9]){2,}$

Field application_ids
Type ApplicationIdentifiers
Description

required

Field dev_eui
Type bytes
Description

The LoRaWAN DevEUI.

Field join_eui
Type bytes
Description

The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).

Field dev_addr
Type bytes
Description

The LoRaWAN DevAddr.

Show object example
{
  "device_id": "",
  "application_ids": {},
  "dev_eui": "",
  "join_eui": "",
  "dev_addr": "",
}