Getting Started Concepts The Things Stack Cloud The Things Stack Enterprise Integrations API Hardware
Get The Things Stack

API

    Overview
  • Concepts
  • Reference
    • HTTP(REST)
    • gRPC
      • Application APIs
      • Application Package APIs
      • Application Pub/Sub APIs
      • Application Server APIs
      • Application Webhook APIs
      • Client APIs
      • Crypto Operations APIs
      • End Device APIs
      • Events API
      • Gateway APIs
      • Gateway Server APIs
      • Identity Server APIs
      • Join Server APIs
      • Network Operations Center APIs
      • Network Server APIs
      • Organization APIs
      • Packet Broker APIs
      • Storage Integration API
      • Tenant APIs
      • User APIs

End Device APIs

List of end device APIs.

End devices are registered in multiple registries. The Identity Server has a registry with end device metadata, the Network Server’s registry contains the MAC configuration, MAC state and network session keys, the Application Server keeps payload formatters and application session keys, the Join Server keeps the root keys.

When registering end devices, we recommend registering them in the following order:

  • EndDeviceRegistry.Create (Identity Server)
  • JsEndDeviceRegistry.Set (Join Server, only for OTAA devices)
  • NsEndDeviceRegistry.Set (Network Server)
  • AsEndDeviceRegistry.Set (Application Server)

Check out the devices subsection for an example on how to register a device via API.

When deleting end devices, we recommend deleting them in the reverse order.

The EndDeviceRegistry service

The Identity Server’s EndDeviceRegistry is the first service, where end device is registered. The following EndDevice fields are registered in this registry:

  • ids (with subfields)
  • name
  • description
  • attributes
  • version_ids (with subfields)
  • network_server_address
  • application_server_address
  • join_server_address (only for OTAA devices)
  • service_profile_id
  • locations
  • picture
Method EndDeviceRegistry.Create
Description

Create a new end device within an application.

After registering an end device, it also needs to be registered in the NsEndDeviceRegistry that is exposed by the Network Server, the AsEndDeviceRegistry that is exposed by the Application Server, and the JsEndDeviceRegistry that is exposed by the Join Server.

Request type CreateEndDeviceRequest
Response type EndDevice
HTTP bindings

POST /api/v3/applications/{end_device.ids.application_ids.application_id}/devices

Method EndDeviceRegistry.Get
Description Get the end device with the given identifiers, selecting the fields specified in the field mask. More or less fields may be returned, depending on the rights of the caller.
Request type GetEndDeviceRequest
Response type EndDevice
HTTP bindings

GET /api/v3/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}

Method EndDeviceRegistry.GetIdentifiersForEUIs
Description Get the identifiers of the end device that has the given EUIs registered.
Request type GetEndDeviceIdentifiersForEUIsRequest
Response type EndDeviceIdentifiers
HTTP bindings
Method EndDeviceRegistry.List
Description List end devices in the given application. Similar to Get, this selects the fields given by the field mask. More or less fields may be returned, depending on the rights of the caller.
Request type ListEndDevicesRequest
Response type EndDevices
HTTP bindings

GET /api/v3/applications/{application_ids.application_id}/devices

POST /api/v3/applications/{application_ids.application_id}/devices/filter

Method EndDeviceRegistry.Update
Description Update the end device, changing the fields specified by the field mask to the provided values.
Request type UpdateEndDeviceRequest
Response type EndDevice
HTTP bindings

PUT /api/v3/applications/{end_device.ids.application_ids.application_id}/devices/{end_device.ids.device_id}

Method EndDeviceRegistry.Delete
Description

Delete the end device with the given IDs.

Before deleting an end device it first needs to be deleted from the NsEndDeviceRegistry, the AsEndDeviceRegistry and the JsEndDeviceRegistry. In addition, if the device claimed on a Join Server, it also needs to be unclaimed via the DeviceClaimingServer so it can be claimed in the future. This is NOT done automatically.

Request type EndDeviceIdentifiers
Response type google.protobuf.Empty
HTTP bindings

DELETE /api/v3/applications/{application_ids.application_id}/devices/{device_id}

Method EndDeviceRegistry.BatchUpdateLastSeen
Description Update the last seen timestamp for a batch of end devices.
Request type BatchUpdateEndDeviceLastSeenRequest
Response type google.protobuf.Empty
HTTP bindings

The EndDeviceBatchRegistry service

Method EndDeviceBatchRegistry.Get
Description Get a batch of end devices with the given identifiers, selecting the fields specified in the field mask. More or less fields may be returned, depending on the rights of the caller. Devices not found are skipped and no error is returned.
Request type BatchGetEndDevicesRequest
Response type EndDevices
HTTP bindings

GET /api/v3/applications/{application_ids.application_id}/devices/batch

Method EndDeviceBatchRegistry.Delete
Description

Delete a batch of end devices with the given IDs.

This operation is atomic; either all devices are deleted or none. Devices not found are skipped and no error is returned. Before calling this RPC, use the corresponding BatchDelete RPCs of NsEndDeviceRegistry, AsEndDeviceRegistry and optionally the JsEndDeviceRegistry to delete the end devices. If the devices were claimed on a Join Server, use the BatchUnclaim RPC of the DeviceClaimingServer. This is NOT done automatically.

Request type BatchDeleteEndDevicesRequest
Response type google.protobuf.Empty
HTTP bindings

DELETE /api/v3/applications/{application_ids.application_id}/devices/batch

The JsEndDeviceRegistry service

OTAA devices are registered in the Join Server’s JsEndDeviceRegistry. The following EndDevice fields are registered in this registry:

  • ids (with subfields)
  • provisioner_id (when provisioning with secure elements)
  • provisioning_data (when provisioning with secure elements)
  • resets_join_nonces
  • root_keys:
    • root_key_id
    • app_key
    • nwk_key
  • net_id
  • network_server_address
  • network_server_kek_label
  • application_server_address
  • application_server_id
  • application_server_kek_label
  • claim_authentication_code (when using end device claiming)

See the EndDevice message and its sub-messages for additional fields that can be read from the Join Server’s JsEndDeviceRegistry.

Method JsEndDeviceRegistry.Set
Description Set creates or updates the device.
Request type SetEndDeviceRequest
Response type EndDevice
HTTP bindings

PUT /api/v3/js/applications/{end_device.ids.application_ids.application_id}/devices/{end_device.ids.device_id}

POST /api/v3/js/applications/{end_device.ids.application_ids.application_id}/devices

Method JsEndDeviceRegistry.Get
Description Get returns the device that matches the given identifiers. If there are multiple matches, an error will be returned.
Request type GetEndDeviceRequest
Response type EndDevice
HTTP bindings

GET /api/v3/js/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}

Method JsEndDeviceRegistry.Delete
Description Delete deletes the device that matches the given identifiers. If there are multiple matches, an error will be returned.
Request type EndDeviceIdentifiers
Response type google.protobuf.Empty
HTTP bindings

DELETE /api/v3/js/applications/{application_ids.application_id}/devices/{device_id}

The JsEndDeviceBatchRegistry service

Method JsEndDeviceBatchRegistry.Delete
Description Delete a list of devices within the same application. This operation is atomic; either all devices are deleted or none. Devices not found are skipped and no error is returned.
Request type BatchDeleteEndDevicesRequest
Response type google.protobuf.Empty
HTTP bindings

DELETE /api/v3/js/applications/{application_ids.application_id}/devices/batch

The NsEndDeviceRegistry service

The following EndDevice fields are registered in the Network Server’s NsEndDeviceRegistry:

  • ids (with subfields)
  • frequency_plan_id
  • lorawan_phy_version
  • lorawan_version
  • mac_settings (with subfields)
  • mac_state (with subfields)
  • supports_join
  • multicast
  • supports_class_b
  • supports_class_c
  • session.dev_addr
  • session.keys:
    • session_key_id
    • f_nwk_s_int_key
    • s_nwk_s_int_key
    • nwk_s_enc_key

See the EndDevice message and its sub-messages for additional fields that can be read from the Network Server’s NsEndDeviceRegistry.

Method NsEndDeviceRegistry.Set
Description Set creates or updates the device.
Request type SetEndDeviceRequest
Response type EndDevice
HTTP bindings

PUT /api/v3/ns/applications/{end_device.ids.application_ids.application_id}/devices/{end_device.ids.device_id}

POST /api/v3/ns/applications/{end_device.ids.application_ids.application_id}/devices

Method NsEndDeviceRegistry.Get
Description Get returns the device that matches the given identifiers. If there are multiple matches, an error will be returned.
Request type GetEndDeviceRequest
Response type EndDevice
HTTP bindings

GET /api/v3/ns/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}

Method NsEndDeviceRegistry.Delete
Description Delete deletes the device that matches the given identifiers. If there are multiple matches, an error will be returned.
Request type EndDeviceIdentifiers
Response type google.protobuf.Empty
HTTP bindings

DELETE /api/v3/ns/applications/{application_ids.application_id}/devices/{device_id}

The NsEndDeviceBatchRegistry service

Method NsEndDeviceBatchRegistry.Delete
Description Delete a list of devices within the same application. This operation is atomic; either all devices are deleted or none. Devices not found are skipped and no error is returned.
Request type BatchDeleteEndDevicesRequest
Response type google.protobuf.Empty
HTTP bindings

DELETE /api/v3/ns/applications/{application_ids.application_id}/devices/batch

The AsEndDeviceRegistry service

The following EndDevice fields are registered in the Application Server’s AsEndDeviceRegistry:

  • ids (with subfields)
  • formatters:
    • up_formatter
    • up_formatter_parameter
    • down_formatter
    • down_formatter_parameter
  • session.dev_addr
  • session.keys:
    • session_key_id
    • app_s_key

See the EndDevice message and its sub-messages for additional fields that can be read from the Application Server’s AsEndDeviceRegistry.

Method AsEndDeviceRegistry.Set
Description Set creates or updates the device.
Request type SetEndDeviceRequest
Response type EndDevice
HTTP bindings

PUT /api/v3/as/applications/{end_device.ids.application_ids.application_id}/devices/{end_device.ids.device_id}

POST /api/v3/as/applications/{end_device.ids.application_ids.application_id}/devices

Method AsEndDeviceRegistry.Get
Description Get returns the device that matches the given identifiers. If there are multiple matches, an error will be returned.
Request type GetEndDeviceRequest
Response type EndDevice
HTTP bindings

GET /api/v3/as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}

Method AsEndDeviceRegistry.Delete
Description Delete deletes the device that matches the given identifiers. If there are multiple matches, an error will be returned.
Request type EndDeviceIdentifiers
Response type google.protobuf.Empty
HTTP bindings

DELETE /api/v3/as/applications/{application_ids.application_id}/devices/{device_id}

The AsEndDeviceBatchRegistry service

Method AsEndDeviceBatchRegistry.Delete
Description Delete a list of devices within the same application. This operation is atomic; either all devices are deleted or none. Devices not found are skipped and no error is returned.
Request type BatchDeleteEndDevicesRequest
Response type google.protobuf.Empty
HTTP bindings

DELETE /api/v3/as/applications/{application_ids.application_id}/devices/batch

The EndDeviceClaimingServer service

Method EndDeviceClaimingServer.AuthorizeApplication
Description Authorize the End Device Claiming Server to claim devices registered in the given application. The application identifiers are the source application, where the devices are registered before they are claimed. The API key is used to access the application, find the device, verify the claim request and delete the end device from the source application. DEPRECATED: Device claiming that transfers devices between applications is no longer supported and will be removed in a future version of The Things Stack.
Request type AuthorizeApplicationRequest
Response type google.protobuf.Empty
HTTP bindings

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

Method EndDeviceClaimingServer.Claim
Description Claims the end device on a Join Server by claim authentication code or QR code.
Request type ClaimEndDeviceRequest
Response type EndDeviceIdentifiers
HTTP bindings

POST /api/v3/edcs/claim

Method EndDeviceClaimingServer.GetClaimStatus
Description Gets the claim status of an end device. EUIs provided in the request are ignored and the end device is looked up by the given identifiers.
Request type EndDeviceIdentifiers
Response type GetClaimStatusResponse
HTTP bindings

GET /api/v3/edcs/claim/{application_ids.application_id}/devices/{device_id}

Method EndDeviceClaimingServer.GetInfoByJoinEUI
Description Return whether claiming is available for a given JoinEUI.
Request type GetInfoByJoinEUIRequest
Response type GetInfoByJoinEUIResponse
HTTP bindings

POST /api/v3/edcs/claim/info

Method EndDeviceClaimingServer.UnauthorizeApplication
Description Unauthorize the End Device Claiming Server to claim devices in the given application. This reverts the authorization given with rpc AuthorizeApplication. DEPRECATED: Device claiming that transfers devices between applications is no longer supported and will be removed in a future version of The Things Stack.
Request type ApplicationIdentifiers
Response type google.protobuf.Empty
HTTP bindings

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

Method EndDeviceClaimingServer.Unclaim
Description Unclaims the end device on a Join Server. EUIs provided in the request are ignored and the end device is looked up by the given identifiers.
Request type EndDeviceIdentifiers
Response type google.protobuf.Empty
HTTP bindings

DELETE /api/v3/edcs/claim/{application_ids.application_id}/devices/{device_id}

The EndDeviceBatchClaimingServer service

Method EndDeviceBatchClaimingServer.GetInfoByJoinEUIs
Description Return whether claiming is supported for each Join EUI in a given list.
Request type GetInfoByJoinEUIsRequest
Response type GetInfoByJoinEUIsResponse
HTTP bindings

POST /api/v3/edcs/claim/info/batch

Method EndDeviceBatchClaimingServer.Unclaim
Description Unclaims multiple end devices on an external Join Server. All devices must have the same application ID. Check the response for devices that could not be unclaimed.
Request type BatchUnclaimEndDevicesRequest
Response type BatchUnclaimEndDevicesResponse
HTTP bindings

DELETE /api/v3/edcs/claim/{application_ids.application_id}/devices/batch

The DeviceRepository service

Method DeviceRepository.ListBrands
Request type ListEndDeviceBrandsRequest
Response type ListEndDeviceBrandsResponse
HTTP bindings

GET /api/v3/dr/brands

GET /api/v3/dr/applications/{application_ids.application_id}/brands

Method DeviceRepository.GetBrand
Request type GetEndDeviceBrandRequest
Response type EndDeviceBrand
HTTP bindings

GET /api/v3/dr/brands/{brand_id}

GET /api/v3/dr/applications/{application_ids.application_id}/brands/{brand_id}

Method DeviceRepository.ListModels
Request type ListEndDeviceModelsRequest
Response type ListEndDeviceModelsResponse
HTTP bindings

GET /api/v3/dr/models

GET /api/v3/dr/brands/{brand_id}/models

GET /api/v3/dr/applications/{application_ids.application_id}/models

GET /api/v3/dr/applications/{application_ids.application_id}/brands/{brand_id}/models

Method DeviceRepository.GetModel
Request type GetEndDeviceModelRequest
Response type EndDeviceModel
HTTP bindings

GET /api/v3/dr/brands/{brand_id}/models/{model_id}

GET /api/v3/dr/applications/{application_ids.application_id}/brands/{brand_id}/models/{model_id}

Method DeviceRepository.GetTemplate
Request type GetTemplateRequest
Response type EndDeviceTemplate
HTTP bindings

GET /api/v3/dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/template

GET /api/v3/dr/vendors/{end_device_profile_ids.vendor_id}/profiles/{end_device_profile_ids.vendor_profile_id}/template

GET /api/v3/dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/template

GET /api/v3/dr/applications/{application_ids.application_id}/vendors/{end_device_profile_ids.vendor_id}/profiles/{end_device_profile_ids.vendor_profile_id}/template

Method DeviceRepository.GetUplinkDecoder
Request type GetPayloadFormatterRequest
Response type MessagePayloadDecoder
HTTP bindings

GET /api/v3/dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/uplink/decoder

GET /api/v3/dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/uplink/decoder

Method DeviceRepository.GetDownlinkDecoder
Request type GetPayloadFormatterRequest
Response type MessagePayloadDecoder
HTTP bindings

GET /api/v3/dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/decoder

GET /api/v3/dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/decoder

Method DeviceRepository.GetDownlinkEncoder
Request type GetPayloadFormatterRequest
Response type MessagePayloadEncoder
HTTP bindings

GET /api/v3/dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/encoder

GET /api/v3/dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/encoder

The EndDeviceQRCodeGenerator service

Method EndDeviceQRCodeGenerator.GetFormat
Description Return the QR code format.
Request type GetQRCodeFormatRequest
Response type QRCodeFormat
HTTP bindings

GET /api/v3/qr-codes/end-devices/formats/{format_id}

Method EndDeviceQRCodeGenerator.ListFormats
Description Returns the supported formats.
Request type google.protobuf.Empty
Response type QRCodeFormats
HTTP bindings

GET /api/v3/qr-codes/end-devices/formats

Method EndDeviceQRCodeGenerator.Generate
Description Generates a QR code.
Request type GenerateEndDeviceQRCodeRequest
Response type GenerateQRCodeResponse
HTTP bindings

POST /api/v3/qr-codes/end-devices

Method EndDeviceQRCodeGenerator.Parse
Description Parse QR Codes of known formats and return the information contained within.
Request type ParseEndDeviceQRCodeRequest
Response type ParseEndDeviceQRCodeResponse
HTTP bindings

POST /api/v3/qr-codes/end-devices/parse

POST /api/v3/qr-codes/end-devices/{format_id}/parse

The EndDeviceRegistrySearch service

Method EndDeviceRegistrySearch.SearchEndDevices
Description Search for end devices in the given application that match the conditions specified in the request.
Request type SearchEndDevicesRequest
Response type EndDevices
HTTP bindings

GET /api/v3/search/applications/{application_ids.application_id}/devices

The EndDeviceTemplateConverter service

Method EndDeviceTemplateConverter.ListFormats
Description Returns the configured formats to convert from.
Request type google.protobuf.Empty
Response type EndDeviceTemplateFormats
HTTP bindings

GET /api/v3/edtc/formats

Method EndDeviceTemplateConverter.Convert
Description Converts the binary data to a stream of end device templates.
Request type ConvertEndDeviceTemplateRequest
Response type Stream of EndDeviceTemplate
The HTTP API uses Content-Type: text/event-stream
and a response body of newline-delimited JSON.
Make sure to send Accept: text/event-stream in the request.
HTTP bindings

POST /api/v3/edtc/convert

Messages

Message ApplicationIdentifiers

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

Fields:

Field application_id
Type string
Description

max_len: 36

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

Message ApplicationDownlink

Show object example
{
  "session_key_id": "",
  "f_port": 0,
  "f_cnt": 0,
  "frm_payload": "",
  "decoded_payload": {},
  "decoded_payload_warnings": [],
  "confirmed": false,
  "class_b_c": {},
  "priority": "LOWEST",
  "correlation_ids": [],
  "confirmed_retry": {},
  "locations": {},
  "version_ids": {},
  "network_ids": {},
  "attributes": {},
}

Fields:

Field session_key_id
Type bytes
Description

Join Server issued identifier for the session keys used by this downlink.

max_len: 2048

Field f_port
Type uint32
Description

lte: 255

not_in: [224]

Field f_cnt
Type uint32
Field frm_payload
Type bytes
Description

The frame payload of the downlink message. The payload is encrypted if the skip_payload_crypto field of the EndDevice is true.

max_len: 255

Field decoded_payload
Type google.protobuf. Struct
Description

The decoded frame payload of the downlink message. When scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters), this fields acts as input for the downlink encoder, and the output is set to frm_payload. When reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.

Field decoded_payload_warnings
Type repeated string
Description

Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).

Field confirmed
Type bool
Field class_b_c
Type ApplicationDownlink.ClassBC
Description

Optional gateway and timing information for class B and C. If set, this downlink message will only be transmitted as class B or C downlink. If not set, this downlink message may be transmitted in class A, B and C.

Field priority
Type TxSchedulePriority
Description

Priority for scheduling the downlink message.

defined_only

Field correlation_ids
Type repeated string
Description

max_len: 100

Field confirmed_retry
Type ApplicationDownlink.ConfirmedRetry
Field locations
Type map of string to Location
Description

End device location metadata, set by the Application Server while handling the message.

Field version_ids
Type EndDeviceVersionIdentifiers
Description

End device version identifiers, set by the Application Server while handling the message.

Field network_ids
Type NetworkIdentifiers
Description

Network identifiers, set by the Network Server that handles the message.

Field attributes
Type map of string to string
Description

Attributes for devices, set by the Application Server while handling the message.

max_pairs: 10

max_len (key): 36

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

max_len (value): 200

Message ApplicationDownlink.ClassBC

Show object example
{
  "gateways": [],
  "absolute_time": "0001-01-01T00:00:00Z",
}

Fields:

Field gateways
Type repeated ClassBCGatewayIdentifiers
Description

Possible gateway identifiers, antenna index, and group index to use for this downlink message. The Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot. If none of the gateways can be selected, the downlink message fails. If empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks. If group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.

Field absolute_time
Type google.protobuf. Timestamp
Description

Absolute time when the downlink message should be transmitted. This requires the gateway to have GPS time synchronization. If the time is in the past or if there is a scheduling conflict, the downlink message fails. If null, the time is selected based on slot availability. This is recommended in class B mode.

Message ApplicationDownlink.ConfirmedRetry

Show object example
{
  "attempt": 0,
  "max_attempts": null,
}

Fields:

Field attempt
Type uint32
Description

The number of attempted confirmed downlink acknowledgements.

Field max_attempts
Type google.protobuf. UInt32Value
Description

The maximum number of confirmed downlink acknowledgement attempts. If null, the Application Server configuration is used instead.

gt: 0

lte: 100

Message ADRAckLimitExponentValue

Show object example
{
  "value": "ADR_ACK_LIMIT_1",
}

Fields:

Field value
Type ADRAckLimitExponent
Description

defined_only

Message ADRAckDelayExponentValue

Show object example
{
  "value": "ADR_ACK_DELAY_1",
}

Fields:

Field value
Type ADRAckDelayExponent
Description

defined_only

Message ADRSettings

Adaptive Data Rate settings.

Restrictions:
  • Only one of static, dynamic, disabled can be set.
Show object example
{
  "static": {},
  "dynamic": {},
  "disabled": {},
}

Fields:

Field static
Type ADRSettings.StaticMode
Field dynamic
Type ADRSettings.DynamicMode
Field disabled
Type ADRSettings.DisabledMode

Message ADRSettings.StaticMode

Configuration options for static ADR.

Show object example
{
  "data_rate_index": "DATA_RATE_0",
  "tx_power_index": 0,
  "nb_trans": 0,
}

Fields:

Field data_rate_index
Type DataRateIndex
Description

Data rate index to use.

defined_only

Field tx_power_index
Type uint32
Description

Transmission power index to use.

lte: 15

Field nb_trans
Type uint32
Description

Number of retransmissions.

gte: 1

lte: 15

Message ADRSettings.DynamicMode

Configuration options for dynamic ADR.

Show object example
{
  "margin": null,
  "min_data_rate_index": {},
  "max_data_rate_index": {},
  "min_tx_power_index": null,
  "max_tx_power_index": null,
  "min_nb_trans": null,
  "max_nb_trans": null,
  "channel_steering": {},
  "overrides": {},
}

Fields:

Field margin
Type google.protobuf. FloatValue
Description

The ADR margin (dB) tells the network server how much margin it should add in ADR requests. A bigger margin is less efficient, but gives a better chance of successful reception. If unset, the default value from Network Server configuration will be used.

Field min_data_rate_index
Type DataRateIndexValue
Description

Minimum data rate index. If unset, the default value from Network Server configuration will be used.

Field max_data_rate_index
Type DataRateIndexValue
Description

Maximum data rate index. If unset, the default value from Network Server configuration will be used.

Field min_tx_power_index
Type google.protobuf. UInt32Value
Description

Minimum transmission power index. If unset, the default value from Network Server configuration will be used.

lte: 15

Field max_tx_power_index
Type google.protobuf. UInt32Value
Description

Maximum transmission power index. If unset, the default value from Network Server configuration will be used.

lte: 15

Field min_nb_trans
Type google.protobuf. UInt32Value
Description

Minimum number of retransmissions. If unset, the default value from Network Server configuration will be used.

gte: 1

lte: 3

Field max_nb_trans
Type google.protobuf. UInt32Value
Description

Maximum number of retransmissions. If unset, the default value from Network Server configuration will be used.

gte: 1

lte: 3

Field channel_steering
Type ADRSettings.DynamicMode.ChannelSteeringSettings
Field overrides
Type ADRSettings.DynamicMode.Overrides

Message ADRSettings.DynamicMode.ChannelSteeringSettings

EXPERIMENTAL: Channel steering settings.

Restrictions:
  • Only one of lora_narrow, disabled can be set.
Show object example
{
  "lora_narrow": {},
  "disabled": {},
}

Fields:

Field lora_narrow
Type ADRSettings.DynamicMode.ChannelSteeringSettings.LoRaNarrowMode
Field disabled
Type ADRSettings.DynamicMode.ChannelSteeringSettings.DisabledMode

Message ADRSettings.DynamicMode.ChannelSteeringSettings.LoRaNarrowMode

Configuration options for LoRa narrow channels steering. The narrow mode attempts to steer the end device towards using the LoRa modulated, 125kHz bandwidth channels.

Show object example
{
}

Fields:

Message ADRSettings.DynamicMode.ChannelSteeringSettings.DisabledMode

Configuration options for cases in which ADR is not supposed to steer the end device to another set of channels.

Show object example
{
}

Fields:

Message ADRSettings.DynamicMode.PerDataRateIndexOverride

EXPERIMENTAL: Data rate index override settings.

Show object example
{
  "min_nb_trans": null,
  "max_nb_trans": null,
}

Fields:

Field min_nb_trans
Type google.protobuf. UInt32Value
Description

Minimum number of retransmissions. If unset, the default value from Network Server configuration will be used.

gte: 1

lte: 3

Field max_nb_trans
Type google.protobuf. UInt32Value
Description

Maximum number of retransmissions. If unset, the default value from Network Server configuration will be used.

gte: 1

lte: 3

Message ADRSettings.DynamicMode.Overrides

EXPERIMENTAL: Configuration overrides.

Show object example
{
  "data_rate_0": {},
  "data_rate_1": {},
  "data_rate_2": {},
  "data_rate_3": {},
  "data_rate_4": {},
  "data_rate_5": {},
  "data_rate_6": {},
  "data_rate_7": {},
  "data_rate_8": {},
  "data_rate_9": {},
  "data_rate_10": {},
  "data_rate_11": {},
  "data_rate_12": {},
  "data_rate_13": {},
  "data_rate_14": {},
  "data_rate_15": {},
}

Fields:

Field data_rate_0
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_1
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_2
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_3
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_4
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_5
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_6
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_7
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_8
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_9
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_10
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_11
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_12
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_13
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_14
Type ADRSettings.DynamicMode.PerDataRateIndexOverride
Field data_rate_15
Type ADRSettings.DynamicMode.PerDataRateIndexOverride

Message ADRSettings.DisabledMode

Configuration options for cases in which ADR is to be disabled completely.

Show object example
{
}

Fields:

Message AggregatedDutyCycleValue

Show object example
{
  "value": "DUTY_CYCLE_1",
}

Fields:

Field value
Type AggregatedDutyCycle
Description

defined_only

Message AuthorizeApplicationRequest

DEPRECATED: Device claiming that transfers devices between applications is no longer supported and will be removed in a future version of The Things Stack.

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

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

required

Field api_key
Type string
Description

max_len: 128

min_len: 1

Message BoolValue

Show object example
{
  "value": false,
}

Fields:

Field value
Type bool

Message BatchDeleteEndDevicesRequest

Show object example
{
  "application_ids": {},
  "device_ids": [],
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

required

Field device_ids
Type repeated string
Description

max_items: 20

min_items: 1

max_len: 36

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

Message BatchGetEndDevicesRequest

Show object example
{
  "application_ids": {},
  "device_ids": [],
  "field_mask": {},
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

required

Field device_ids
Type repeated string
Description

max_items: 20

min_items: 1

max_len: 36

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

Field field_mask
Type google.protobuf. FieldMask
Description

The names of the end device fields that should be returned. This mask is applied on all the end devices in the result. See the API reference for which fields can be returned by the different services.

Message BatchUpdateEndDeviceLastSeenRequest.EndDeviceLastSeenUpdate

Show object example
{
  "ids": {},
  "last_seen_at": "0001-01-01T00:00:00Z",
}

Fields:

Field ids
Type EndDeviceIdentifiers
Description

required

Field last_seen_at
Type google.protobuf. Timestamp

Message BatchUpdateEndDeviceLastSeenRequest

Show object example
{
  "updates": [],
}

Fields:

Field updates
Type repeated BatchUpdateEndDeviceLastSeenRequest.EndDeviceLastSeenUpdate
Description

The last seen timestamp needs to be set per end device.

Message BatchUnclaimEndDevicesRequest

Show object example
{
  "application_ids": {},
  "device_ids": [],
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

required

Field device_ids
Type repeated string
Description

max_items: 20

min_items: 1

max_len: 36

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

Message BatchUnclaimEndDevicesResponse

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

Fields:

Field application_ids
Type ApplicationIdentifiers
Field failed
Type map of string to ErrorDetails
Description

End devices that could not be unclaimed. The key is the device ID.

Message CreateEndDeviceRequest

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

Fields:

Field end_device
Type EndDevice
Description

required

Message CFList

Show object example
{
  "type": "FREQUENCIES",
  "freq": [],
  "ch_masks": [],
}

Fields:

Field type
Type CFListType
Description

defined_only

Field freq
Type repeated uint32
Description

Frequencies to be broadcasted, in hecto-Hz. These values are broadcasted as 24 bits unsigned integers. This field should not contain default values.

Field ch_masks
Type repeated bool
Description

ChMasks controlling the channels to be used. Length of this field must be equal to the amount of uplink channels defined by the selected frequency plan.

Message ClaimEndDeviceRequest

Restrictions:
  • Only one of authenticated_identifiers, qr_code can be set.
Show object example
{
  "authenticated_identifiers": {},
  "qr_code": "",
  "target_application_ids": {},
  "target_device_id": "",
}

Fields:

Field authenticated_identifiers
Type ClaimEndDeviceRequest.AuthenticatedIdentifiers
Description

Authenticated identifiers.

Field qr_code
Type bytes
Description

Raw QR code contents.

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,}$|^$

Message ClaimEndDeviceRequest.AuthenticatedIdentifiers

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

Fields:

Field join_eui
Type bytes
Description

JoinEUI (or AppEUI) of the device to claim.

ignore_empty

len: 8

Field dev_eui
Type bytes
Description

DevEUI of the device to claim.

ignore_empty

len: 8

Field authentication_code
Type string
Description

Authentication code to prove ownership. In the LoRa Alliance TR005 specification, this equals the OwnerToken.

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

Message ClassBCGatewayIdentifiers

Show object example
{
  "gateway_ids": {},
  "antenna_index": 0,
  "group_index": 0,
}

Fields:

Field gateway_ids
Type GatewayIdentifiers
Description

required

Field antenna_index
Type uint32
Field group_index
Type uint32

Message ConvertEndDeviceTemplateRequest

Show object example
{
  "format_id": "",
  "data": "",
  "end_device_version_ids": {},
}

Fields:

Field format_id
Type string
Description

ID of the format.

max_len: 36

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

Field data
Type bytes
Description

Data to convert.

Field end_device_version_ids
Type EndDeviceVersionIdentifiers
Description

End device profile identifiers.

Message DataRate

Restrictions:
  • Only one of lora, fsk, lrfhss can be set.
Show object example
{
  "lora": {},
  "fsk": {},
  "lrfhss": {},
}

Fields:

Field lora
Type LoRaDataRate
Field fsk
Type FSKDataRate
Field lrfhss
Type LRFHSSDataRate

Message DataRateIndexValue

Show object example
{
  "value": "DATA_RATE_0",
}

Fields:

Field value
Type DataRateIndex
Description

defined_only

Message DataRateOffsetValue

Show object example
{
  "value": "DATA_RATE_OFFSET_0",
}

Fields:

Field value
Type DataRateOffset
Description

defined_only

Message DeviceEIRPValue

Show object example
{
  "value": "DEVICE_EIRP_8",
}

Fields:

Field value
Type DeviceEIRP
Description

defined_only

Message DLSettings

Show object example
{
  "rx1_dr_offset": "DATA_RATE_OFFSET_0",
  "rx2_dr": "DATA_RATE_0",
  "opt_neg": false,
}

Fields:

Field rx1_dr_offset
Type DataRateOffset
Description

defined_only

Field rx2_dr
Type DataRateIndex
Description

defined_only

Field opt_neg
Type bool
Description

OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.

Message DownlinkMessage

Downlink message from the network to the end device

Restrictions:
  • Only one of request, scheduled can be set.
Show object example
{
  "raw_payload": "",
  "payload": {},
  "end_device_ids": {},
  "request": {},
  "scheduled": {},
  "correlation_ids": [],
  "session_key_id": "",
}

Fields:

Field raw_payload
Type bytes
Field payload
Type Message
Field end_device_ids
Type EndDeviceIdentifiers
Field request
Type TxRequest
Field scheduled
Type TxSettings
Field correlation_ids
Type repeated string
Description

max_len: 100

Field session_key_id
Type bytes
Description

max_len: 2048

Message DownlinkPath

Restrictions:
  • Only one of uplink_token, fixed can be set.
Show object example
{
  "uplink_token": "",
  "fixed": {},
}

Fields:

Field uplink_token
Type bytes
Field fixed
Type GatewayAntennaIdentifiers

Message EndDevice

Defines an End Device registration and its state on the network. The persistence of the EndDevice is divided between the Network Server, Application Server and Join Server. SDKs are responsible for combining (if desired) the three.

Show object example
{
  "ids": {},
  "created_at": "0001-01-01T00:00:00Z",
  "updated_at": "0001-01-01T00:00:00Z",
  "name": "",
  "description": "",
  "attributes": {},
  "version_ids": {},
  "service_profile_id": "",
  "network_server_address": "",
  "network_server_kek_label": "",
  "application_server_address": "",
  "application_server_kek_label": "",
  "application_server_id": "",
  "join_server_address": "",
  "locations": {},
  "picture": {},
  "supports_class_b": false,
  "supports_class_c": false,
  "lorawan_version": "MAC_UNKNOWN",
  "lorawan_phy_version": "PHY_UNKNOWN",
  "frequency_plan_id": "",
  "min_frequency": 0,
  "max_frequency": 0,
  "supports_join": false,
  "resets_join_nonces": false,
  "root_keys": {},
  "net_id": "",
  "mac_settings": {},
  "mac_state": {},
  "pending_mac_state": {},
  "session": {},
  "pending_session": {},
  "last_dev_nonce": 0,
  "used_dev_nonces": [],
  "last_join_nonce": 0,
  "last_rj_count_0": 0,
  "last_rj_count_1": 0,
  "last_dev_status_received_at": "0001-01-01T00:00:00Z",
  "power_state": "POWER_UNKNOWN",
  "battery_percentage": null,
  "downlink_margin": 0,
  "queued_application_downlinks": [],
  "formatters": {},
  "provisioner_id": "",
  "provisioning_data": {},
  "multicast": false,
  "claim_authentication_code": {},
  "skip_payload_crypto": false,
  "skip_payload_crypto_override": null,
  "activated_at": "0001-01-01T00:00:00Z",
  "last_seen_at": "0001-01-01T00:00:00Z",
  "serial_number": "",
  "lora_alliance_profile_ids": {},
  "label_ids": [],
  "mac_settings_profile_ids": {},
}

Fields:

Field ids
Type EndDeviceIdentifiers
Description

required

Field created_at
Type google.protobuf. Timestamp
Field updated_at
Type google.protobuf. Timestamp
Field name
Type string
Description

Friendly name of the device. Stored in Entity Registry.

max_len: 50

Field description
Type string
Description

Description of the device. Stored in Entity Registry.

max_len: 2000

Field attributes
Type map of string to string
Description

Key-value attributes for this end device. Typically used for organizing end devices or for storing integration-specific data. Stored in Entity Registry.

max_pairs: 10

max_len (key): 36

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

max_len (value): 200

Field version_ids
Type EndDeviceVersionIdentifiers
Description

Version Identifiers. Stored in Entity Registry, Network Server and Application Server.

Field service_profile_id
Type string
Description

Default service profile. Stored in Entity Registry.

max_len: 64

Field network_server_address
Type string
Description

The address of the Network Server where this device is supposed to be registered. Stored in Entity Registry and Join Server. The typical format of the address is “host:port”. If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.

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 network_server_kek_label
Type string
Description

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

max_len: 2048

Field application_server_address
Type string
Description

The address of the Application Server where this device is supposed to be registered. Stored in Entity Registry and Join Server. The typical format of the address is “host:port”. If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.

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 application_server_kek_label
Type string
Description

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

max_len: 2048

Field application_server_id
Type string
Description

The AS-ID of the Application Server to use. Stored in Join Server.

max_len: 100

Field join_server_address
Type string
Description

The address of the Join Server where this device is supposed to be registered. Stored in Entity Registry. The typical format of the address is “host:port”. If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.

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 locations
Type map of string to Location
Description

Location of the device. Stored in Entity Registry.

max_len (key): 36

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

Field picture
Type Picture
Description

Stored in Entity Registry.

Field supports_class_b
Type bool
Description

Whether the device supports class B. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.

Field supports_class_c
Type bool
Description

Whether the device supports class C. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.

Field lorawan_version
Type MACVersion
Description

LoRaWAN MAC version. Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.

defined_only

Field lorawan_phy_version
Type PHYVersion
Description

LoRaWAN PHY version. Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.

defined_only

Field frequency_plan_id
Type string
Description

ID of the frequency plan used by this device. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.

max_len: 64

Field min_frequency
Type uint64
Description

Minimum frequency the device is capable of using (Hz). Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.

Field max_frequency
Type uint64
Description

Maximum frequency the device is capable of using (Hz). Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.

Field supports_join
Type bool
Description

The device supports join (it’s OTAA). Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.

Field resets_join_nonces
Type bool
Description

Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.

Field root_keys
Type RootKeys
Description

Device root keys. Stored in Join Server.

Field net_id
Type bytes
Description

Home NetID. Stored in Join Server.

ignore_empty

len: 3

Field mac_settings
Type MACSettings
Description

Settings for how the Network Server handles MAC layer for this device. Stored in Network Server. Mutually exclusive with MAC settings profile.

Field mac_state
Type MACState
Description

MAC state of the device. Stored in Network Server.

Field pending_mac_state
Type MACState
Description

Pending MAC state of the device. Stored in Network Server.

Field session
Type Session
Description

Current session of the device. Stored in Network Server and Application Server.

Field pending_session
Type Session
Description

Pending session. Stored in Network Server and Application Server until RekeyInd is received.

Field last_dev_nonce
Type uint32
Description

Last DevNonce used. This field is only used for devices using LoRaWAN version 1.1 and later. Stored in Join Server.

Field used_dev_nonces
Type repeated uint32
Description

Used DevNonces sorted in ascending order. This field is only used for devices using LoRaWAN versions preceding 1.1. Stored in Join Server.

Field last_join_nonce
Type uint32
Description

Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used. Stored in Join Server.

Field last_rj_count_0
Type uint32
Description

Last Rejoin counter value used (type 0/2). Stored in Join Server.

Field last_rj_count_1
Type uint32
Description

Last Rejoin counter value used (type 1). Stored in Join Server.

Field last_dev_status_received_at
Type google.protobuf. Timestamp
Description

Time when last DevStatus MAC command was received. Stored in Network Server.

Field power_state
Type PowerState
Description

The power state of the device; whether it is battery-powered or connected to an external power source. Received via the DevStatus MAC command at status_received_at. Stored in Network Server.

defined_only

Field battery_percentage
Type google.protobuf. FloatValue
Description

Latest-known battery percentage of the device. Received via the DevStatus MAC command at last_dev_status_received_at or earlier. Stored in Network Server.

gte: 0

lte: 1

Field downlink_margin
Type int32
Description

Demodulation signal-to-noise ratio (dB). Received via the DevStatus MAC command at last_dev_status_received_at. Stored in Network Server.

Field queued_application_downlinks
Type repeated ApplicationDownlink
Description

Queued Application downlink messages. Stored in Application Server, which sets them on the Network Server. This field is deprecated and is always set equal to session.queued_application_downlinks.

Field formatters
Type MessagePayloadFormatters
Description

The payload formatters for this end device. Stored in Application Server. Copied on creation from template identified by version_ids.

Field provisioner_id
Type string
Description

ID of the provisioner. Stored in Join Server.

max_len: 36

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

Field provisioning_data
Type google.protobuf. Struct
Description

Vendor-specific provisioning data. Stored in Join Server.

Field multicast
Type bool
Description

Indicates whether this device represents a multicast group.

Field claim_authentication_code
Type EndDeviceAuthenticationCode
Description

Authentication code to claim ownership of the end device. From TTS v3.21.0 this field is stored in the Identity Server. For TTS versions < 3.21.0, this field is stored in the Join Server. The value stored on the Identity Server takes precedence.

Field skip_payload_crypto
Type bool
Description

Skip decryption of uplink payloads and encryption of downlink payloads. This field is deprecated, use skip_payload_crypto_override instead.

Field skip_payload_crypto_override
Type google.protobuf. BoolValue
Description

Skip decryption of uplink payloads and encryption of downlink payloads. This field overrides the application-level setting.

Field activated_at
Type google.protobuf. Timestamp
Description

Timestamp when the device has been activated. Stored in the Entity Registry. This field is set by the Application Server when an end device sends its first uplink. The Application Server will use the field in order to avoid repeated calls to the Entity Registry. The field cannot be unset once set.

Field last_seen_at
Type google.protobuf. Timestamp
Description

Timestamp when a device uplink has been last observed. This field is set by the Application Server and stored in the Identity Server.

Field serial_number
Type string
Description

ignore_empty

max_len: 36

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

Field lora_alliance_profile_ids
Type LoRaAllianceProfileIdentifiers
Field label_ids
Type repeated string
Description
Field mac_settings_profile_ids
Type MACSettingsProfileIdentifiers
Description

MAC settings profile identifiers. Mutually exclusive with MAC settings.

Message EndDeviceAuthenticationCode

Authentication code for end devices.

Show object example
{
  "value": "",
  "valid_from": "0001-01-01T00:00:00Z",
  "valid_to": "0001-01-01T00:00:00Z",
}

Fields:

Field value
Type string
Description

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

Field valid_from
Type google.protobuf. Timestamp
Field valid_to
Type google.protobuf. Timestamp

Message EndDeviceIdentifiers

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

Fields:

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.

ignore_empty

len: 8

Field join_eui
Type bytes
Description

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

ignore_empty

len: 8

Field dev_addr
Type bytes
Description

The LoRaWAN DevAddr.

ignore_empty

len: 4

Message EndDeviceIdentifiersList

Show object example
{
  "end_device_ids": [],
}

Fields:

Field end_device_ids
Type repeated EndDeviceIdentifiers
Description

Message EndDevices

Show object example
{
  "end_devices": [],
}

Fields:

Field end_devices
Type repeated EndDevice
Description

Message EndDeviceVersionIdentifiers

Identifies an end device model with version information.

Show object example
{
  "brand_id": "",
  "model_id": "",
  "hardware_version": "",
  "firmware_version": "",
  "band_id": "",
}

Fields:

Field brand_id
Type string
Description

ignore_empty

max_len: 36

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

Field model_id
Type string
Description

ignore_empty

max_len: 36

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

Field hardware_version
Type string
Description

max_len: 32

Field firmware_version
Type string
Description

max_len: 32

Field band_id
Type string
Description

max_len: 32

Message FrequencyValue

Show object example
{
  "value": 0,
}

Fields:

Field value
Type uint64
Description

gte: 100000

Message FHDR

Show object example
{
  "dev_addr": "",
  "f_ctrl": {},
  "f_cnt": 0,
  "f_opts": "",
}

Fields:

Field dev_addr
Type bytes
Description

ignore_empty

len: 4

Field f_ctrl
Type FCtrl
Description

required

Field f_cnt
Type uint32
Description

lte: 65535

Field f_opts
Type bytes
Description

max_len: 15

Message FCtrl

Show object example
{
  "adr": false,
  "adr_ack_req": false,
  "ack": false,
  "f_pending": false,
  "class_b": false,
}

Fields:

Field adr
Type bool
Field adr_ack_req
Type bool
Description

Only on uplink.

Field ack
Type bool
Field f_pending
Type bool
Description

Only on downlink.

Field class_b
Type bool
Description

Only on uplink.

Message FSKDataRate

Show object example
{
  "bit_rate": 0,
}

Fields:

Field bit_rate
Type uint32
Description

Bit rate (bps).

Message GatewayClaimAuthenticationCode

Authentication code for claiming gateways.

Show object example
{
  "secret": {},
  "valid_from": "0001-01-01T00:00:00Z",
  "valid_to": "0001-01-01T00:00:00Z",
}

Fields:

Field secret
Type Secret
Field valid_from
Type google.protobuf. Timestamp
Field valid_to
Type google.protobuf. Timestamp

Message GatewayIdentifiers

Show object example
{
  "gateway_id": "",
  "eui": "",
}

Fields:

Field gateway_id
Type string
Description

max_len: 36

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

Field eui
Type bytes
Description

Secondary identifier, which can only be used in specific requests.

ignore_empty

len: 8

Message GatewayAntennaIdentifiers

Show object example
{
  "gateway_ids": {},
  "antenna_index": 0,
}

Fields:

Field gateway_ids
Type GatewayIdentifiers
Description

required

Field antenna_index
Type uint32

Message GetClaimStatusResponse

Show object example
{
  "end_device_ids": {},
  "home_net_id": "",
  "home_ns_id": "",
  "vendor_specific": {},
}

Fields:

Field end_device_ids
Type EndDeviceIdentifiers
Description

required

Field home_net_id
Type bytes
Description

ignore_empty

len: 3

Field home_ns_id
Type bytes
Description

ignore_empty

len: 8

Field vendor_specific
Type GetClaimStatusResponse.VendorSpecific

Message GetClaimStatusResponse.VendorSpecific

Show object example
{
  "organization_unique_identifier": 0,
  "data": {},
}

Fields:

Field organization_unique_identifier
Type uint32
Field data
Type google.protobuf. Struct
Description

Vendor Specific data in JSON format.

Message GetEndDeviceIdentifiersForEUIsRequest

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

Fields:

Field join_eui
Type bytes
Description

ignore_empty

len: 8

Field dev_eui
Type bytes
Description

ignore_empty

len: 8

Message GetInfoByJoinEUIRequest

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

Fields:

Field join_eui
Type bytes
Description

ignore_empty

len: 8

Message GetInfoByJoinEUIsRequest

Show object example
{
  "requests": [],
}

Fields:

Field requests
Type repeated GetInfoByJoinEUIRequest
Description

max_items: 20

Message GetInfoByJoinEUIResponse

Show object example
{
  "join_eui": "",
  "supports_claiming": false,
}

Fields:

Field join_eui
Type bytes
Description

ignore_empty

len: 8

Field supports_claiming
Type bool
Description

If set, this Join EUI is available for claiming on one of the configured Join Servers.

Message GetInfoByJoinEUIsResponse

Show object example
{
  "infos": [],
}

Fields:

Field infos
Type repeated GetInfoByJoinEUIResponse
Description

Message GetEndDeviceModelRequest

Show object example
{
  "application_ids": {},
  "brand_id": "",
  "model_id": "",
  "field_mask": {},
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

Application identifiers.

Field brand_id
Type string
Description

Brand identifier, as defined in the Device Repository.

max_len: 36

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

Field model_id
Type string
Description

Model identifier, as defined in the Device Repository.

max_len: 36

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

Field field_mask
Type google.protobuf. FieldMask
Description

Field mask paths.

Message GetEndDeviceBrandRequest

Show object example
{
  "application_ids": {},
  "brand_id": "",
  "field_mask": {},
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

Application identifiers.

Field brand_id
Type string
Description

Brand identifier, as defined in the Device Repository.

max_len: 36

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

Field field_mask
Type google.protobuf. FieldMask
Description

Field mask paths.

Message GetEndDeviceRequest

Show object example
{
  "end_device_ids": {},
  "field_mask": {},
}

Fields:

Field end_device_ids
Type EndDeviceIdentifiers
Description

required

Field field_mask
Type google.protobuf. FieldMask
Description

The names of the end device fields that should be returned. See the API reference for which fields can be returned by the different services.

Message GetQRCodeFormatRequest

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

Fields:

Field format_id
Type string
Description

QR code format identifier. Enumerate available formats with rpc ListFormats in the EndDeviceQRCodeGenerator service.

max_len: 36

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

Message GenerateEndDeviceQRCodeRequest

Show object example
{
  "format_id": "",
  "end_device": {},
  "image": {},
}

Fields:

Field format_id
Type string
Description

QR code format identifier. Enumerate available formats with rpc ListFormats in the EndDeviceQRCodeGenerator service.

max_len: 36

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

Field end_device
Type EndDevice
Description

End device to use as input to generate the QR code.

required

Field image
Type GenerateEndDeviceQRCodeRequest.Image
Description

If set, the server will render the QR code image according to these settings.

Message GenerateEndDeviceQRCodeRequest.Image

Show object example
{
  "image_size": 0,
}

Fields:

Field image_size
Type uint32
Description

Requested QR code image dimension in pixels.

gte: 10

lte: 1000

Message ParseEndDeviceQRCodeRequest

Show object example
{
  "format_id": "",
  "qr_code": "",
}

Fields:

Field format_id
Type string
Description

QR code format identifier. Enumerate available formats with the rpc ListFormats. If this field is not specified, the server will attempt to parse the data with each known format.

max_len: 36

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

Field qr_code
Type bytes
Description

Raw QR code contents.

max_len: 1024

min_len: 10

Message GetTemplateRequest

Show object example
{
  "application_ids": {},
  "version_ids": {},
  "end_device_profile_ids": {},
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

Application identifiers.

Field version_ids
Type EndDeviceVersionIdentifiers
Description

End device version information. Use either EndDeviceVersionIdentifiers or EndDeviceProfileIdentifiers.

Field end_device_profile_ids
Type GetTemplateRequest.EndDeviceProfileIdentifiers
Description

End device profile identifiers.

Message GetTemplateRequest.EndDeviceProfileIdentifiers

Identifiers to uniquely identify a LoRaWAN end device profile.

Show object example
{
  "vendor_id": 0,
  "vendor_profile_id": 0,
}

Fields:

Field vendor_id
Type uint32
Description

VendorID managed by the LoRa Alliance, as defined in TR005.

gte: 1

Field vendor_profile_id
Type uint32
Description

ID of the LoRaWAN end device profile assigned by the vendor.

Message GetPayloadFormatterRequest

Show object example
{
  "application_ids": {},
  "version_ids": {},
  "field_mask": {},
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

Application identifiers.

Field version_ids
Type EndDeviceVersionIdentifiers
Description

End device version information.

Field field_mask
Type google.protobuf. FieldMask
Description

Field mask paths.

Message JoinRequestPayload

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

Fields:

Field join_eui
Type bytes
Description

ignore_empty

len: 8

Field dev_eui
Type bytes
Description

ignore_empty

len: 8

Field dev_nonce
Type bytes
Description

ignore_empty

len: 2

Message JoinAcceptPayload

Show object example
{
  "encrypted": "",
  "join_nonce": "",
  "net_id": "",
  "dev_addr": "",
  "dl_settings": {},
  "rx_delay": "RX_DELAY_0",
  "cf_list": {},
}

Fields:

Field encrypted
Type bytes
Field join_nonce
Type bytes
Description

ignore_empty

len: 3

Field net_id
Type bytes
Description

ignore_empty

len: 3

Field dev_addr
Type bytes
Description

ignore_empty

len: 4

Field dl_settings
Type DLSettings
Description

required

Field rx_delay
Type RxDelay
Description

defined_only

Field cf_list
Type CFList

Message KeyEnvelope

Show object example
{
  "key": "",
  "kek_label": "",
  "encrypted_key": "",
}

Fields:

Field key
Type bytes
Description

The unencrypted AES key.

ignore_empty

len: 16

Field kek_label
Type string
Description

The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.

max_len: 2048

Field encrypted_key
Type bytes
Description

max_len: 1024

Message ListEndDeviceBrandsRequest

Show object example
{
  "application_ids": {},
  "limit": 0,
  "page": 0,
  "order_by": "",
  "search": "",
  "field_mask": {},
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

Application identifiers.

Field limit
Type uint32
Description

Limit the number of results per page.

lte: 1000

Field page
Type uint32
Description

Page number for pagination. 0 is interpreted as 1.

Field order_by
Type string
Description

Order (for pagination)

in: [ brand_id -brand_id name -name]

Field search
Type string
Description

Search for brands matching a query string.

max_len: 100

Field field_mask
Type google.protobuf. FieldMask
Description

Field mask paths.

Message ListEndDeviceModelsRequest

Show object example
{
  "application_ids": {},
  "brand_id": "",
  "limit": 0,
  "page": 0,
  "order_by": "",
  "search": "",
  "field_mask": {},
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

Application identifiers.

Field brand_id
Type string
Description

List end devices from a specific brand.

max_len: 36

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

Field limit
Type uint32
Description

Limit the number of results per page.

lte: 1000

Field page
Type uint32
Description

Page number for pagination. 0 is interpreted as 1.

Field order_by
Type string
Description

Order end devices

in: [ brand_id -brand_id model_id -model_id name -name]

Field search
Type string
Description

List end devices matching a query string.

max_len: 100

Field field_mask
Type google.protobuf. FieldMask
Description

Field mask paths.

Message ListEndDevicesRequest

Show object example
{
  "application_ids": {},
  "field_mask": {},
  "order": "",
  "limit": 0,
  "page": 0,
  "filters": [],
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Field field_mask
Type google.protobuf. FieldMask
Description

The names of the end device fields that should be returned. See the API reference for which fields can be returned by the different services.

Field order
Type string
Description

Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order.

in: [ device_id -device_id join_eui -join_eui dev_eui -dev_eui name -name description -description created_at -created_at last_seen_at -last_seen_at]

Field limit
Type uint32
Description

Limit the number of results per page.

lte: 1000

Field page
Type uint32
Description

Page number for pagination. 0 is interpreted as 1.

Field filters
Type repeated ListEndDevicesRequest.Filter
Description

Message ListEndDevicesRequest.Filter

Filter end devices by fields.

Restrictions:
  • Only one of updated_since can be set.
Show object example
{
  "updated_since": "0001-01-01T00:00:00Z",
}

Fields:

Field updated_since
Type google.protobuf. Timestamp
Description

lt_now

Message Location

Show object example
{
  "latitude": 0,
  "longitude": 0,
  "altitude": 0,
  "accuracy": 0,
  "source": "SOURCE_UNKNOWN",
}

Fields:

Field latitude
Type double
Description

The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.

gte: -90

lte: 90

Field longitude
Type double
Description

The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.

gte: -180

lte: 180

Field altitude
Type int32
Description

The altitude (meters), where 0 is the mean sea level.

Field accuracy
Type int32
Description

The accuracy of the location (meters).

Field source
Type LocationSource
Description

Source of the location information.

defined_only

Message LoRaAllianceProfileIdentifiers

Show object example
{
  "vendor_id": 0,
  "vendor_profile_id": 0,
}

Fields:

Field vendor_id
Type uint32
Description

VendorID managed by the LoRa Alliance, as defined in TR005.

Field vendor_profile_id
Type uint32
Description

ID of the LoRaWAN end device profile assigned by the vendor.

Message LoRaDataRate

Show object example
{
  "bandwidth": 0,
  "spreading_factor": 0,
  "coding_rate": "",
}

Fields:

Field bandwidth
Type uint32
Description

Bandwidth (Hz).

Field spreading_factor
Type uint32
Field coding_rate
Type string

Message LRFHSSDataRate

Show object example
{
  "modulation_type": 0,
  "operating_channel_width": 0,
  "coding_rate": "",
}

Fields:

Field modulation_type
Type uint32
Field operating_channel_width
Type uint32
Description

Operating Channel Width (Hz).

Field coding_rate
Type string

Message MACCommand

Restrictions:
  • Only one of raw_payload, reset_ind, reset_conf, link_check_ans, link_adr_req, link_adr_ans, duty_cycle_req, rx_param_setup_req, rx_param_setup_ans, dev_status_ans, new_channel_req, new_channel_ans, dl_channel_req, dl_channel_ans, rx_timing_setup_req, tx_param_setup_req, rekey_ind, rekey_conf, adr_param_setup_req, device_time_ans, force_rejoin_req, rejoin_param_setup_req, rejoin_param_setup_ans, ping_slot_info_req, ping_slot_channel_req, ping_slot_channel_ans, beacon_timing_ans, beacon_freq_req, beacon_freq_ans, device_mode_ind, device_mode_conf, relay_conf_req, relay_conf_ans, relay_end_device_conf_req, relay_end_device_conf_ans, relay_update_uplink_list_req, relay_update_uplink_list_ans, relay_ctrl_uplink_list_req, relay_ctrl_uplink_list_ans, relay_configure_fwd_limit_req, relay_configure_fwd_limit_ans, relay_notify_new_end_device_req can be set.
Show object example
{
  "cid": "CID_RFU_0",
  "raw_payload": "",
  "reset_ind": {},
  "reset_conf": {},
  "link_check_ans": {},
  "link_adr_req": {},
  "link_adr_ans": {},
  "duty_cycle_req": {},
  "rx_param_setup_req": {},
  "rx_param_setup_ans": {},
  "dev_status_ans": {},
  "new_channel_req": {},
  "new_channel_ans": {},
  "dl_channel_req": {},
  "dl_channel_ans": {},
  "rx_timing_setup_req": {},
  "tx_param_setup_req": {},
  "rekey_ind": {},
  "rekey_conf": {},
  "adr_param_setup_req": {},
  "device_time_ans": {},
  "force_rejoin_req": {},
  "rejoin_param_setup_req": {},
  "rejoin_param_setup_ans": {},
  "ping_slot_info_req": {},
  "ping_slot_channel_req": {},
  "ping_slot_channel_ans": {},
  "beacon_timing_ans": {},
  "beacon_freq_req": {},
  "beacon_freq_ans": {},
  "device_mode_ind": {},
  "device_mode_conf": {},
  "relay_conf_req": {},
  "relay_conf_ans": {},
  "relay_end_device_conf_req": {},
  "relay_end_device_conf_ans": {},
  "relay_update_uplink_list_req": {},
  "relay_update_uplink_list_ans": {},
  "relay_ctrl_uplink_list_req": {},
  "relay_ctrl_uplink_list_ans": {},
  "relay_configure_fwd_limit_req": {},
  "relay_configure_fwd_limit_ans": {},
  "relay_notify_new_end_device_req": {},
}

Fields:

Field cid
Type MACCommandIdentifier
Description

defined_only

not_in: [0]

Field raw_payload
Type bytes
Field reset_ind
Type MACCommand.ResetInd
Field reset_conf
Type MACCommand.ResetConf
Field link_check_ans
Type MACCommand.LinkCheckAns
Field link_adr_req
Type MACCommand.LinkADRReq
Field link_adr_ans
Type MACCommand.LinkADRAns
Field duty_cycle_req
Type MACCommand.DutyCycleReq
Field rx_param_setup_req
Type MACCommand.RxParamSetupReq
Field rx_param_setup_ans
Type MACCommand.RxParamSetupAns
Field dev_status_ans
Type MACCommand.DevStatusAns
Field new_channel_req
Type MACCommand.NewChannelReq
Field new_channel_ans
Type MACCommand.NewChannelAns
Field dl_channel_req
Type MACCommand.DLChannelReq
Field dl_channel_ans
Type MACCommand.DLChannelAns
Field rx_timing_setup_req
Type MACCommand.RxTimingSetupReq
Field tx_param_setup_req
Type MACCommand.TxParamSetupReq
Field rekey_ind
Type MACCommand.RekeyInd
Field rekey_conf
Type MACCommand.RekeyConf
Field adr_param_setup_req
Type MACCommand.ADRParamSetupReq
Field device_time_ans
Type MACCommand.DeviceTimeAns
Field force_rejoin_req
Type MACCommand.ForceRejoinReq
Field rejoin_param_setup_req
Type MACCommand.RejoinParamSetupReq
Field rejoin_param_setup_ans
Type MACCommand.RejoinParamSetupAns
Field ping_slot_info_req
Type MACCommand.PingSlotInfoReq
Field ping_slot_channel_req
Type MACCommand.PingSlotChannelReq
Field ping_slot_channel_ans
Type MACCommand.PingSlotChannelAns
Field beacon_timing_ans
Type MACCommand.BeaconTimingAns
Field beacon_freq_req
Type MACCommand.BeaconFreqReq
Field beacon_freq_ans
Type MACCommand.BeaconFreqAns
Field device_mode_ind
Type MACCommand.DeviceModeInd
Field device_mode_conf
Type MACCommand.DeviceModeConf
Field relay_conf_req
Type MACCommand.RelayConfReq
Field relay_conf_ans
Type MACCommand.RelayConfAns
Field relay_end_device_conf_req
Type MACCommand.RelayEndDeviceConfReq
Field relay_end_device_conf_ans
Type MACCommand.RelayEndDeviceConfAns
Field relay_update_uplink_list_req
Type MACCommand.RelayUpdateUplinkListReq
Field relay_update_uplink_list_ans
Type MACCommand.RelayUpdateUplinkListAns
Field relay_ctrl_uplink_list_req
Type MACCommand.RelayCtrlUplinkListReq
Field relay_ctrl_uplink_list_ans
Type MACCommand.RelayCtrlUplinkListAns
Field relay_configure_fwd_limit_req
Type MACCommand.RelayConfigureFwdLimitReq
Field relay_configure_fwd_limit_ans
Type MACCommand.RelayConfigureFwdLimitAns
Field relay_notify_new_end_device_req
Type MACCommand.RelayNotifyNewEndDeviceReq

Message MACCommand.ResetInd

Show object example
{
  "minor_version": "MINOR_RFU_0",
}

Fields:

Field minor_version
Type Minor
Description

defined_only

in: [1]

Message MACCommand.ResetConf

Show object example
{
  "minor_version": "MINOR_RFU_0",
}

Fields:

Field minor_version
Type Minor
Description

defined_only

in: [1]

Message MACCommand.LinkCheckAns

Show object example
{
  "margin": 0,
  "gateway_count": 0,
}

Fields:

Field margin
Type uint32
Description

Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.

lte: 254

Field gateway_count
Type uint32
Description

lte: 255

Message MACCommand.LinkADRReq

Show object example
{
  "data_rate_index": "DATA_RATE_0",
  "tx_power_index": 0,
  "channel_mask": [],
  "channel_mask_control": 0,
  "nb_trans": 0,
}

Fields:

Field data_rate_index
Type DataRateIndex
Description

defined_only

Field tx_power_index
Type uint32
Description

lte: 15

Field channel_mask
Type repeated bool
Description

max_items: 16

Field channel_mask_control
Type uint32
Description

lte: 7

Field nb_trans
Type uint32
Description

lte: 15

Message MACCommand.LinkADRAns

Show object example
{
  "channel_mask_ack": false,
  "data_rate_index_ack": false,
  "tx_power_index_ack": false,
}

Fields:

Field channel_mask_ack
Type bool
Field data_rate_index_ack
Type bool
Field tx_power_index_ack
Type bool

Message MACCommand.DutyCycleReq

Show object example
{
  "max_duty_cycle": "DUTY_CYCLE_1",
}

Fields:

Field max_duty_cycle
Type AggregatedDutyCycle
Description

defined_only

Message MACCommand.RxParamSetupReq

Show object example
{
  "rx2_data_rate_index": "DATA_RATE_0",
  "rx1_data_rate_offset": "DATA_RATE_OFFSET_0",
  "rx2_frequency": 0,
}

Fields:

Field rx2_data_rate_index
Type DataRateIndex
Description

defined_only

Field rx1_data_rate_offset
Type DataRateOffset
Description

defined_only

Field rx2_frequency
Type uint64
Description

Rx2 frequency (Hz).

gte: 100000

Message MACCommand.RxParamSetupAns

Show object example
{
  "rx2_data_rate_index_ack": false,
  "rx1_data_rate_offset_ack": false,
  "rx2_frequency_ack": false,
}

Fields:

Field rx2_data_rate_index_ack
Type bool
Field rx1_data_rate_offset_ack
Type bool
Field rx2_frequency_ack
Type bool

Message MACCommand.DevStatusAns

Show object example
{
  "battery": 0,
  "margin": 0,
}

Fields:

Field battery
Type uint32
Description

Device battery status. 0 indicates that the device is connected to an external power source. 1..254 indicates a battery level. 255 indicates that the device was not able to measure the battery level.

lte: 255

Field margin
Type int32
Description

SNR of the last downlink (dB; [-32, +31]).

gte: -32

lte: 31

Message MACCommand.NewChannelReq

Show object example
{
  "channel_index": 0,
  "frequency": 0,
  "min_data_rate_index": "DATA_RATE_0",
  "max_data_rate_index": "DATA_RATE_0",
}

Fields:

Field channel_index
Type uint32
Description

lte: 255

Field frequency
Type uint64
Description

Channel frequency (Hz).

gte: 100000

lte: 0

Field min_data_rate_index
Type DataRateIndex
Description

defined_only

Field max_data_rate_index
Type DataRateIndex
Description

defined_only

Message MACCommand.NewChannelAns

Show object example
{
  "frequency_ack": false,
  "data_rate_ack": false,
}

Fields:

Field frequency_ack
Type bool
Field data_rate_ack
Type bool

Message MACCommand.DLChannelReq

Show object example
{
  "channel_index": 0,
  "frequency": 0,
}

Fields:

Field channel_index
Type uint32
Description

lte: 255

Field frequency
Type uint64
Description

Downlink channel frequency (Hz).

gte: 100000

Message MACCommand.DLChannelAns

Show object example
{
  "channel_index_ack": false,
  "frequency_ack": false,
}

Fields:

Field channel_index_ack
Type bool
Field frequency_ack
Type bool

Message MACCommand.RxTimingSetupReq

Show object example
{
  "delay": "RX_DELAY_0",
}

Fields:

Field delay
Type RxDelay
Description

defined_only

Message MACCommand.TxParamSetupReq

Show object example
{
  "max_eirp_index": "DEVICE_EIRP_8",
  "uplink_dwell_time": false,
  "downlink_dwell_time": false,
}

Fields:

Field max_eirp_index
Type DeviceEIRP
Description

Indicates the maximum EIRP value in dBm, indexed by the following vector: [ 8 10 12 13 14 16 18 20 21 24 26 27 29 30 33 36 ]

defined_only

Field uplink_dwell_time
Type bool
Field downlink_dwell_time
Type bool

Message MACCommand.RelayNotifyNewEndDeviceReq

Show object example
{
  "dev_addr": "",
  "snr": 0,
  "rssi": 0,
}

Fields:

Field dev_addr
Type bytes
Description

ignore_empty

len: 4

Field snr
Type int32
Description

gte: -20

lte: 11

Field rssi
Type int32
Description

gte: -142

lte: -15

Message MACCommand.RelayConfigureFwdLimitAns

Show object example
{
}

Fields:

Message MACCommand.RelayConfigureFwdLimitReq

Show object example
{
  "reset_limit_counter": "RELAY_RESET_LIMIT_COUNTER_ZERO",
  "join_request_limits": {},
  "notify_limits": {},
  "global_uplink_limits": {},
  "overall_limits": {},
}

Fields:

Field reset_limit_counter
Type RelayResetLimitCounter
Field join_request_limits
Type RelayForwardLimits
Field notify_limits
Type RelayForwardLimits
Field global_uplink_limits
Type RelayForwardLimits
Field overall_limits
Type RelayForwardLimits

Message MACCommand.RelayCtrlUplinkListAns

Show object example
{
  "rule_index_ack": false,
  "w_f_cnt": 0,
}

Fields:

Field rule_index_ack
Type bool
Field w_f_cnt
Type uint32

Message MACCommand.RelayCtrlUplinkListReq

Show object example
{
  "rule_index": 0,
  "action": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
}

Fields:

Field rule_index
Type uint32
Description

lte: 15

Field action
Type RelayCtrlUplinkListAction

Message MACCommand.RelayUpdateUplinkListAns

Show object example
{
}

Fields:

Message MACCommand.RelayUpdateUplinkListReq

Show object example
{
  "rule_index": 0,
  "forward_limits": {},
  "dev_addr": "",
  "w_f_cnt": 0,
  "root_wor_s_key": "",
  "device_id": "",
  "session_key_id": "",
}

Fields:

Field rule_index
Type uint32
Description

lte: 15

Field forward_limits
Type RelayUplinkForwardLimits
Field dev_addr
Type bytes
Description

ignore_empty

len: 4

Field w_f_cnt
Type uint32
Field root_wor_s_key
Type bytes
Description

ignore_empty

len: 16

Field device_id
Type string
Description

max_len: 36

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

Field session_key_id
Type bytes

Message MACCommand.RelayEndDeviceConfAns

Show object example
{
  "second_channel_frequency_ack": false,
  "second_channel_data_rate_index_ack": false,
  "second_channel_index_ack": false,
  "backoff_ack": false,
}

Fields:

Field second_channel_frequency_ack
Type bool
Field second_channel_data_rate_index_ack
Type bool
Field second_channel_index_ack
Type bool
Field backoff_ack
Type bool

Message MACCommand.RelayEndDeviceConfReq

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

Fields:

Field configuration
Type MACCommand.RelayEndDeviceConfReq.Configuration

Message MACCommand.RelayEndDeviceConfReq.Configuration

Restrictions:
  • Only one of always, dynamic, end_device_controlled can be set.
Show object example
{
  "always": {},
  "dynamic": {},
  "end_device_controlled": {},
  "backoff": 0,
  "second_channel": {},
  "serving_device_id": "",
}

Fields:

Field always
Type RelayEndDeviceAlwaysMode
Field dynamic
Type RelayEndDeviceDynamicMode
Field end_device_controlled
Type RelayEndDeviceControlledMode
Field backoff
Type uint32
Description

lte: 63

Field second_channel
Type RelaySecondChannel
Field serving_device_id
Type string
Description

max_len: 36

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

Message MACCommand.RelayConfAns

Show object example
{
  "second_channel_frequency_ack": false,
  "second_channel_ack_offset_ack": false,
  "second_channel_data_rate_index_ack": false,
  "second_channel_index_ack": false,
  "default_channel_index_ack": false,
  "cad_periodicity_ack": false,
}

Fields:

Field second_channel_frequency_ack
Type bool
Field second_channel_ack_offset_ack
Type bool
Field second_channel_data_rate_index_ack
Type bool
Field second_channel_index_ack
Type bool
Field default_channel_index_ack
Type bool
Field cad_periodicity_ack
Type bool

Message MACCommand.RelayConfReq

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

Fields:

Field configuration
Type MACCommand.RelayConfReq.Configuration

Message MACCommand.RelayConfReq.Configuration

Show object example
{
  "second_channel": {},
  "default_channel_index": 0,
  "cad_periodicity": "RELAY_CAD_PERIODICITY_1_SECOND",
}

Fields:

Field second_channel
Type RelaySecondChannel
Field default_channel_index
Type uint32
Description

lte: 255

Field cad_periodicity
Type RelayCADPeriodicity
Description

defined_only

Message MACCommand.RekeyInd

Show object example
{
  "minor_version": "MINOR_RFU_0",
}

Fields:

Field minor_version
Type Minor
Description

defined_only

Message MACCommand.RekeyConf

Show object example
{
  "minor_version": "MINOR_RFU_0",
}

Fields:

Field minor_version
Type Minor
Description

defined_only

Message MACCommand.ADRParamSetupReq

Show object example
{
  "adr_ack_limit_exponent": "ADR_ACK_LIMIT_1",
  "adr_ack_delay_exponent": "ADR_ACK_DELAY_1",
}

Fields:

Field adr_ack_limit_exponent
Type ADRAckLimitExponent
Description

Exponent e that configures the ADR_ACK_LIMIT = 2^e messages.

defined_only

Field adr_ack_delay_exponent
Type ADRAckDelayExponent
Description

Exponent e that configures the ADR_ACK_DELAY = 2^e messages.

defined_only

Message MACCommand.DeviceTimeAns

Show object example
{
  "time": "0001-01-01T00:00:00Z",
}

Fields:

Field time
Type google.protobuf. Timestamp
Description

required

Message MACCommand.ForceRejoinReq

Show object example
{
  "rejoin_type": "CONTEXT",
  "data_rate_index": "DATA_RATE_0",
  "max_retries": 0,
  "period_exponent": "REJOIN_PERIOD_0",
}

Fields:

Field rejoin_type
Type RejoinRequestType
Description

defined_only

Field data_rate_index
Type DataRateIndex
Description

defined_only

Field max_retries
Type uint32
Description

lte: 7

Field period_exponent
Type RejoinPeriodExponent
Description

Exponent e that configures the rejoin period = 32 * 2^e + rand(0,32) seconds.

defined_only

Message MACCommand.RejoinParamSetupReq

Show object example
{
  "max_count_exponent": "REJOIN_COUNT_16",
  "max_time_exponent": "REJOIN_TIME_0",
}

Fields:

Field max_count_exponent
Type RejoinCountExponent
Description

Exponent e that configures the rejoin counter = 2^(e+4) messages.

defined_only

Field max_time_exponent
Type RejoinTimeExponent
Description

Exponent e that configures the rejoin timer = 2^(e+10) seconds.

defined_only

Message MACCommand.RejoinParamSetupAns

Show object example
{
  "max_time_exponent_ack": false,
}

Fields:

Field max_time_exponent_ack
Type bool

Message MACCommand.PingSlotInfoReq

Show object example
{
  "period": "PING_EVERY_1S",
}

Fields:

Field period
Type PingSlotPeriod
Description

defined_only

Message MACCommand.PingSlotChannelReq

Show object example
{
  "frequency": 0,
  "data_rate_index": "DATA_RATE_0",
}

Fields:

Field frequency
Type uint64
Description

Ping slot channel frequency (Hz).

gte: 100000

lte: 0

Field data_rate_index
Type DataRateIndex
Description

defined_only

Message MACCommand.PingSlotChannelAns

Show object example
{
  "frequency_ack": false,
  "data_rate_index_ack": false,
}

Fields:

Field frequency_ack
Type bool
Field data_rate_index_ack
Type bool

Message MACCommand.BeaconTimingAns

Show object example
{
  "delay": 0,
  "channel_index": 0,
}

Fields:

Field delay
Type uint32
Description

(uint16) See LoRaWAN specification.

lte: 65535

Field channel_index
Type uint32
Description

lte: 255

Message MACCommand.BeaconFreqReq

Show object example
{
  "frequency": 0,
}

Fields:

Field frequency
Type uint64
Description

Frequency of the Class B beacons (Hz).

gte: 100000

lte: 0

Message MACCommand.BeaconFreqAns

Show object example
{
  "frequency_ack": false,
}

Fields:

Field frequency_ack
Type bool

Message MACCommand.DeviceModeInd

Show object example
{
  "class": "CLASS_A",
}

Fields:

Field class
Type Class
Description

defined_only

Message MACCommand.DeviceModeConf

Show object example
{
  "class": "CLASS_A",
}

Fields:

Field class
Type Class
Description

defined_only

Message MACPayload

Show object example
{
  "f_hdr": {},
  "f_port": 0,
  "frm_payload": "",
  "decoded_payload": {},
  "full_f_cnt": 0,
}

Fields:

Field f_hdr
Type FHDR
Description

required

Field f_port
Type uint32
Description

lte: 255

Field frm_payload
Type bytes
Field decoded_payload
Type google.protobuf. Struct
Field full_f_cnt
Type uint32
Description

Full 32-bit FCnt value. Used internally by Network Server.

Message MACParameters

MACParameters represent the parameters of the device’s MAC layer (active or desired). This is used internally by the Network Server.

Show object example
{
  "max_eirp": 0,
  "adr_data_rate_index": "DATA_RATE_0",
  "adr_tx_power_index": 0,
  "adr_nb_trans": 0,
  "adr_ack_limit": 0,
  "adr_ack_delay": 0,
  "rx1_delay": "RX_DELAY_0",
  "rx1_data_rate_offset": "DATA_RATE_OFFSET_0",
  "rx2_data_rate_index": "DATA_RATE_0",
  "rx2_frequency": 0,
  "max_duty_cycle": "DUTY_CYCLE_1",
  "rejoin_time_periodicity": "REJOIN_TIME_0",
  "rejoin_count_periodicity": "REJOIN_COUNT_16",
  "ping_slot_frequency": 0,
  "ping_slot_data_rate_index": "DATA_RATE_0",
  "beacon_frequency": 0,
  "channels": [],
  "uplink_dwell_time": {},
  "downlink_dwell_time": {},
  "adr_ack_limit_exponent": {},
  "adr_ack_delay_exponent": {},
  "ping_slot_data_rate_index_value": {},
  "relay": {},
}

Fields:

Field max_eirp
Type float
Description

Maximum EIRP (dBm).

Field adr_data_rate_index
Type DataRateIndex
Description

ADR: data rate index to use.

defined_only

Field adr_tx_power_index
Type uint32
Description

ADR: transmission power index to use.

lte: 15

Field adr_nb_trans
Type uint32
Description

ADR: number of retransmissions.

lte: 15

Field adr_ack_limit
Type uint32
Description

ADR: number of messages to wait before setting ADRAckReq. This field is deprecated, use adr_ack_limit_exponent instead.

Field adr_ack_delay
Type uint32
Description

ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate. This field is deprecated, use adr_ack_delay_exponent instead.

Field rx1_delay
Type RxDelay
Description

Rx1 delay (Rx2 delay is Rx1 delay + 1 second).

defined_only

Field rx1_data_rate_offset
Type DataRateOffset
Description

Data rate offset for Rx1.

defined_only

Field rx2_data_rate_index
Type DataRateIndex
Description

Data rate index for Rx2.

defined_only

Field rx2_frequency
Type uint64
Description

Frequency for Rx2 (Hz).

gte: 100000

Field max_duty_cycle
Type AggregatedDutyCycle
Description

Maximum uplink duty cycle (of all channels).

defined_only

Field rejoin_time_periodicity
Type RejoinTimeExponent
Description

Time within which a rejoin-request must be sent.

defined_only

Field rejoin_count_periodicity
Type RejoinCountExponent
Description

Message count within which a rejoin-request must be sent.

defined_only

Field ping_slot_frequency
Type uint64
Description

Frequency of the class B ping slot (Hz).

gte: 100000

lte: 0

Field ping_slot_data_rate_index
Type DataRateIndex
Description

Data rate index of the class B ping slot. This field is deprecated, use ping_slot_data_rate_index_value instead.

Field beacon_frequency
Type uint64
Description

Frequency of the class B beacon (Hz).

gte: 100000

lte: 0

Field channels
Type repeated MACParameters.Channel
Description

Configured uplink channels and optionally Rx1 frequency.

min_items: 1

Field uplink_dwell_time
Type BoolValue
Description

Whether uplink dwell time is set (400ms). If unset, then the value is either unknown or irrelevant(Network Server cannot modify it).

Field downlink_dwell_time
Type BoolValue
Description

Whether downlink dwell time is set (400ms). If unset, then the value is either unknown or irrelevant(Network Server cannot modify it).

Field adr_ack_limit_exponent
Type ADRAckLimitExponentValue
Description

ADR: number of messages to wait before setting ADRAckReq.

Field adr_ack_delay_exponent
Type ADRAckDelayExponentValue
Description

ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.

Field ping_slot_data_rate_index_value
Type DataRateIndexValue
Description

Data rate index of the class B ping slot.

Field relay
Type RelayParameters
Description

Relay parameters.

Message MACParameters.Channel

Show object example
{
  "uplink_frequency": 0,
  "downlink_frequency": 0,
  "min_data_rate_index": "DATA_RATE_0",
  "max_data_rate_index": "DATA_RATE_0",
  "enable_uplink": false,
}

Fields:

Field uplink_frequency
Type uint64
Description

Uplink frequency of the channel (Hz).

gte: 100000

lte: 0

Field downlink_frequency
Type uint64
Description

Downlink frequency of the channel (Hz).

gte: 100000

Field min_data_rate_index
Type DataRateIndex
Description

Index of the minimum data rate for uplink.

defined_only

Field max_data_rate_index
Type DataRateIndex
Description

Index of the maximum data rate for uplink.

defined_only

Field enable_uplink
Type bool
Description

Channel can be used by device for uplink.

Message MACSettings

Show object example
{
  "class_b_timeout": "0s",
  "ping_slot_periodicity": {},
  "ping_slot_data_rate_index": {},
  "ping_slot_frequency": {},
  "beacon_frequency": {},
  "class_c_timeout": "0s",
  "rx1_delay": {},
  "rx1_data_rate_offset": {},
  "rx2_data_rate_index": {},
  "rx2_frequency": {},
  "factory_preset_frequencies": [],
  "max_duty_cycle": {},
  "supports_32_bit_f_cnt": {},
  "use_adr": {},
  "adr_margin": null,
  "resets_f_cnt": {},
  "status_time_periodicity": "0s",
  "status_count_periodicity": null,
  "desired_rx1_delay": {},
  "desired_rx1_data_rate_offset": {},
  "desired_rx2_data_rate_index": {},
  "desired_rx2_frequency": {},
  "desired_max_duty_cycle": {},
  "desired_adr_ack_limit_exponent": {},
  "desired_adr_ack_delay_exponent": {},
  "desired_ping_slot_data_rate_index": {},
  "desired_ping_slot_frequency": {},
  "desired_beacon_frequency": {},
  "desired_max_eirp": {},
  "class_b_c_downlink_interval": "0s",
  "uplink_dwell_time": {},
  "downlink_dwell_time": {},
  "adr": {},
  "schedule_downlinks": {},
  "relay": {},
  "desired_relay": {},
}

Fields:

Field class_b_timeout
Type google.protobuf. Duration
Description

Maximum delay for the device to answer a MAC request or a confirmed downlink frame. If unset, the default value from Network Server configuration will be used.

Field ping_slot_periodicity
Type PingSlotPeriodValue
Description

Periodicity of the class B ping slot. If unset, the default value from Network Server configuration will be used.

Field ping_slot_data_rate_index
Type DataRateIndexValue
Description

Data rate index of the class B ping slot. If unset, the default value from Network Server configuration will be used.

Field ping_slot_frequency
Type ZeroableFrequencyValue
Description

Frequency of the class B ping slot (Hz). If unset, the default value from Network Server configuration will be used.

Field beacon_frequency
Type ZeroableFrequencyValue
Description

Frequency of the class B beacon (Hz). If unset, the default value from Network Server configuration will be used.

Field class_c_timeout
Type google.protobuf. Duration
Description

Maximum delay for the device to answer a MAC request or a confirmed downlink frame. If unset, the default value from Network Server configuration will be used.

Field rx1_delay
Type RxDelayValue
Description

Class A Rx1 delay. If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field rx1_data_rate_offset
Type DataRateOffsetValue
Description

Rx1 data rate offset. If unset, the default value from Network Server configuration will be used.

Field rx2_data_rate_index
Type DataRateIndexValue
Description

Data rate index for Rx2. If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field rx2_frequency
Type FrequencyValue
Description

Frequency for Rx2 (Hz). If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field factory_preset_frequencies
Type repeated uint64
Description

List of factory-preset frequencies. If unset, the default value from Network Server configuration or regional parameters specification will be used.

max_items: 96

Field max_duty_cycle
Type AggregatedDutyCycleValue
Description

Maximum uplink duty cycle (of all channels).

Field supports_32_bit_f_cnt
Type BoolValue
Description

Whether the device supports 32-bit frame counters. If unset, the default value from Network Server configuration will be used.

Field use_adr
Type BoolValue
Description

Whether the Network Server should use ADR for the device. This field is deprecated, use adr_settings instead.

Field adr_margin
Type google.protobuf. FloatValue
Description

The ADR margin (dB) tells the network server how much margin it should add in ADR requests. A bigger margin is less efficient, but gives a better chance of successful reception. This field is deprecated, use adr_settings.dynamic.margin instead.

Field resets_f_cnt
Type BoolValue
Description

Whether the device resets the frame counters (not LoRaWAN compliant). If unset, the default value from Network Server configuration will be used.

Field status_time_periodicity
Type google.protobuf. Duration
Description

The interval after which a DevStatusReq MACCommand shall be sent. If unset, the default value from Network Server configuration will be used.

Field status_count_periodicity
Type google.protobuf. UInt32Value
Description

Number of uplink messages after which a DevStatusReq MACCommand shall be sent. If unset, the default value from Network Server configuration will be used.

Field desired_rx1_delay
Type RxDelayValue
Description

The Rx1 delay Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field desired_rx1_data_rate_offset
Type DataRateOffsetValue
Description

The Rx1 data rate offset Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from Network Server configuration will be used.

Field desired_rx2_data_rate_index
Type DataRateIndexValue
Description

The Rx2 data rate index Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from frequency plan, Network Server configuration or regional parameters specification will be used.

Field desired_rx2_frequency
Type FrequencyValue
Description

The Rx2 frequency index Network Server should configure device to use via MAC commands. If unset, the default value from frequency plan, Network Server configuration or regional parameters specification will be used.

Field desired_max_duty_cycle
Type AggregatedDutyCycleValue
Description

The maximum uplink duty cycle (of all channels) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used.

Field desired_adr_ack_limit_exponent
Type ADRAckLimitExponentValue
Description

The ADR ACK limit Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field desired_adr_ack_delay_exponent
Type ADRAckDelayExponentValue
Description

The ADR ACK delay Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field desired_ping_slot_data_rate_index
Type DataRateIndexValue
Description

The data rate index of the class B ping slot Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used.

Field desired_ping_slot_frequency
Type ZeroableFrequencyValue
Description

The frequency of the class B ping slot (Hz) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field desired_beacon_frequency
Type ZeroableFrequencyValue
Description

The frequency of the class B beacon (Hz) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used.

Field desired_max_eirp
Type DeviceEIRPValue
Description

Maximum EIRP (dBm). If unset, the default value from regional parameters specification will be used.

Field class_b_c_downlink_interval
Type google.protobuf. Duration
Description

The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.

Field uplink_dwell_time
Type BoolValue
Description

Whether uplink dwell time is set (400ms). If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field downlink_dwell_time
Type BoolValue
Description

Whether downlink dwell time is set (400ms). If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field adr
Type ADRSettings
Description

Adaptive Data Rate settings. If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field schedule_downlinks
Type BoolValue
Description

Whether or not downlink messages should be scheduled. This option can be used in order to disable any downlink interaction with the end device. It will affect all types of downlink messages: data and MAC downlinks, and join accepts.

Field relay
Type RelaySettings
Description

The relay settings the end device is using. If unset, the default value from Network Server configuration or regional parameters specification will be used.

Field desired_relay
Type RelaySettings
Description

The relay settings the Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.

Message MACSettingsProfileIdentifiers

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

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

Application IDs.

required

Field profile_id
Type string
Description

Profile ID.

max_len: 36

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

Message MACState

MACState represents the state of MAC layer of the device. MACState is reset on each join for OTAA or ResetInd for ABP devices. This is used internally by the Network Server.

Show object example
{
  "current_parameters": {},
  "desired_parameters": {},
  "device_class": "CLASS_A",
  "lorawan_version": "MAC_UNKNOWN",
  "last_confirmed_downlink_at": "0001-01-01T00:00:00Z",
  "last_dev_status_f_cnt_up": 0,
  "ping_slot_periodicity": {},
  "pending_application_downlink": {},
  "queued_responses": [],
  "pending_requests": [],
  "queued_join_accept": {},
  "pending_join_request": {},
  "rx_windows_available": false,
  "recent_uplinks": [],
  "recent_downlinks": [],
  "last_network_initiated_downlink_at": "0001-01-01T00:00:00Z",
  "rejected_adr_data_rate_indexes": [],
  "rejected_adr_tx_power_indexes": [],
  "rejected_frequencies": [],
  "last_downlink_at": "0001-01-01T00:00:00Z",
  "rejected_data_rate_ranges": {},
  "last_adr_change_f_cnt_up": 0,
  "recent_mac_command_identifiers": [],
  "pending_relay_downlink": {},
}

Fields:

Field current_parameters
Type MACParameters
Description

Current LoRaWAN MAC parameters.

required

Field desired_parameters
Type MACParameters
Description

Desired LoRaWAN MAC parameters.

required

Field device_class
Type Class
Description

Currently active LoRaWAN device class

  • Device class is A by default
  • If device sets ClassB bit in uplink, this will be set to B
  • If device sent DeviceModeInd MAC message, this will be set to that value

defined_only

Field lorawan_version
Type MACVersion
Description

LoRaWAN MAC version.

defined_only

Field last_confirmed_downlink_at
Type google.protobuf. Timestamp
Description

Time when the last confirmed downlink message or MAC command was scheduled.

Field last_dev_status_f_cnt_up
Type uint32
Description

Frame counter value of last uplink containing DevStatusAns.

Field ping_slot_periodicity
Type PingSlotPeriodValue
Description

Periodicity of the class B ping slot.

Field pending_application_downlink
Type ApplicationDownlink
Description

A confirmed application downlink, for which an acknowledgment is expected to arrive.

Field queued_responses
Type repeated MACCommand
Description

Queued MAC responses. Regenerated on each uplink.

Field pending_requests
Type repeated MACCommand
Description

Pending MAC requests(i.e. sent requests, for which no response has been received yet). Regenerated on each downlink.

Field queued_join_accept
Type MACState.JoinAccept
Description

Queued join-accept. Set each time a (re-)join request accept is received from Join Server and removed each time a downlink is scheduled.

Field pending_join_request
Type MACState.JoinRequest
Description

Pending join request. Set each time a join-accept is scheduled and removed each time an uplink is received from the device.

Field rx_windows_available
Type bool
Description

Whether or not Rx windows are expected to be open. Set to true every time an uplink is received. Set to false every time a successful downlink scheduling attempt is made.

Field recent_uplinks
Type repeated MACState.UplinkMessage
Description

Recent data uplink messages sorted by time. The number of messages stored may depend on configuration.

Field recent_downlinks
Type repeated MACState.DownlinkMessage
Description

Recent data downlink messages sorted by time. The number of messages stored may depend on configuration.

Field last_network_initiated_downlink_at
Type google.protobuf. Timestamp
Description

Time when the last network-initiated downlink message was scheduled.

Field rejected_adr_data_rate_indexes
Type repeated DataRateIndex
Description

ADR Data rate index values rejected by the device. Reset each time current_parameters.channels change. Elements are sorted in ascending order.

max_items: 15

defined_only

Field rejected_adr_tx_power_indexes
Type repeated uint32
Description

ADR TX output power index values rejected by the device. Elements are sorted in ascending order.

max_items: 15

lte: 15

Field rejected_frequencies
Type repeated uint64
Description

Frequencies rejected by the device.

gte: 100000

Field last_downlink_at
Type google.protobuf. Timestamp
Description

Time when the last downlink message was scheduled.

Field rejected_data_rate_ranges
Type map of uint64 to MACState.DataRateRanges
Description

Data rate ranges rejected by the device per frequency.

Field last_adr_change_f_cnt_up
Type uint32
Description

Frame counter of uplink, which confirmed the last ADR parameter change.

Field recent_mac_command_identifiers
Type repeated MACCommandIdentifier
Description

MAC command identifiers sent by the end device in the last received uplink. The Network Server may choose to store only certain types of MAC command identifiers in the underlying implementation.

Field pending_relay_downlink
Type RelayForwardDownlinkReq
Description

Pending relay downlink contents. The pending downlink will be scheduled to the relay in either Rx1 or Rx2. The pending downlink will be cleared after the scheduling attempt.

Message MACState.JoinAccept

Show object example
{
  "payload": "",
  "request": {},
  "keys": {},
  "correlation_ids": [],
  "dev_addr": "",
  "net_id": "",
}

Fields:

Field payload
Type bytes
Description

Payload of the join-accept received from Join Server.

max_len: 33

min_len: 17

Field request
Type MACState.JoinRequest
Description

required

Field keys
Type SessionKeys
Description

Network session keys associated with the join.

required

Field correlation_ids
Type repeated string
Description

max_len: 100

Field dev_addr
Type bytes
Description

ignore_empty

len: 4

Field net_id
Type bytes
Description

ignore_empty

len: 3

Message MACState.JoinRequest

Show object example
{
  "downlink_settings": {},
  "rx_delay": "RX_DELAY_0",
  "cf_list": {},
}

Fields:

Field downlink_settings
Type DLSettings
Description

required

Field rx_delay
Type RxDelay
Description

defined_only

Field cf_list
Type CFList

Message MACState.DownlinkMessage

A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message. Used for type safe recent downlink storage.

Show object example
{
  "payload": {},
  "correlation_ids": [],
}

Fields:

Field payload
Type MACState.DownlinkMessage.Message
Field correlation_ids
Type repeated string
Description

max_len: 100

Message MACState.DownlinkMessage.Message

Show object example
{
  "m_hdr": {},
  "mac_payload": {},
}

Fields:

Field m_hdr
Type MACState.DownlinkMessage.Message.MHDR
Description

required

Field mac_payload
Type MACState.DownlinkMessage.Message.MACPayload

Message MACState.DownlinkMessage.Message.MACPayload

Show object example
{
  "f_port": 0,
  "full_f_cnt": 0,
}

Fields:

Field f_port
Type uint32
Description

lte: 255

Field full_f_cnt
Type uint32

Message MACState.DownlinkMessage.Message.MHDR

Show object example
{
  "m_type": "JOIN_REQUEST",
}

Fields:

Field m_type
Type MType
Description

defined_only

Message MACState.UplinkMessage

A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message. Used for type safe recent uplink storage.

Show object example
{
  "payload": {},
  "settings": {},
  "rx_metadata": [],
  "received_at": "0001-01-01T00:00:00Z",
  "correlation_ids": [],
  "device_channel_index": 0,
}

Fields:

Field payload
Type Message
Description

required

Field settings
Type MACState.UplinkMessage.TxSettings
Description

required

Field rx_metadata
Type repeated MACState.UplinkMessage.RxMetadata
Description
Field received_at
Type google.protobuf. Timestamp
Field correlation_ids
Type repeated string
Description

max_len: 100

Field device_channel_index
Type uint32
Description

lte: 255

Message MACState.UplinkMessage.RxMetadata

Show object example
{
  "gateway_ids": {},
  "channel_rssi": 0,
  "snr": 0,
  "downlink_path_constraint": "DOWNLINK_PATH_CONSTRAINT_NONE",
  "uplink_token": "",
  "packet_broker": {},
  "relay": {},
}

Fields:

Field gateway_ids
Type GatewayIdentifiers
Description

required

Field channel_rssi
Type float
Field snr
Type float
Field downlink_path_constraint
Type DownlinkPathConstraint
Description

defined_only

Field uplink_token
Type bytes
Field packet_broker
Type MACState.UplinkMessage.RxMetadata.PacketBrokerMetadata
Field relay
Type MACState.UplinkMessage.RxMetadata.RelayMetadata

Message MACState.UplinkMessage.TxSettings

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

Fields:

Field data_rate
Type DataRate
Description

required

Message MACState.UplinkMessage.RxMetadata.PacketBrokerMetadata

Show object example
{
}

Fields:

Message MACState.UplinkMessage.RxMetadata.RelayMetadata

Show object example
{
}

Fields:

Message Message

Message represents a LoRaWAN message

Restrictions:
  • Only one of mac_payload, join_request_payload, join_accept_payload, rejoin_request_payload can be set.
Show object example
{
  "m_hdr": {},
  "mic": "",
  "mac_payload": {},
  "join_request_payload": {},
  "join_accept_payload": {},
  "rejoin_request_payload": {},
}

Fields:

Field m_hdr
Type MHDR
Description

required

Field mic
Type bytes
Description

max_len: 4

Field mac_payload
Type MACPayload
Field join_request_payload
Type JoinRequestPayload
Field join_accept_payload
Type JoinAcceptPayload
Field rejoin_request_payload
Type RejoinRequestPayload

Message MHDR

Show object example
{
  "m_type": "JOIN_REQUEST",
  "major": "LORAWAN_R1",
}

Fields:

Field m_type
Type MType
Description

defined_only

Field major
Type Major
Description

defined_only

Message MessagePayloadFormatters

Show object example
{
  "up_formatter": "FORMATTER_NONE",
  "up_formatter_parameter": "",
  "down_formatter": "FORMATTER_NONE",
  "down_formatter_parameter": "",
}

Fields:

Field up_formatter
Type PayloadFormatter
Description

Payload formatter for uplink messages, must be set together with its parameter.

defined_only

Field up_formatter_parameter
Type string
Description

Parameter for the up_formatter, must be set together. The API enforces a maximum length of 16KB, but the size may be restricted further by deployment configuration.

max_len: 40960

Field down_formatter
Type PayloadFormatter
Description

Payload formatter for downlink messages, must be set together with its parameter.

defined_only

Field down_formatter_parameter
Type string
Description

Parameter for the down_formatter, must be set together. The API enforces a maximum length of 16KB, but the size may be restricted further by deployment configuration.

max_len: 40960

Message NetworkIdentifiers

Identifies a Network Server.

Show object example
{
  "net_id": "",
  "ns_id": "",
  "tenant_id": "",
  "cluster_id": "",
  "cluster_address": "",
  "tenant_address": "",
}

Fields:

Field net_id
Type bytes
Description

LoRa Alliance NetID.

ignore_empty

len: 3

Field ns_id
Type bytes
Description

LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.

ignore_empty

len: 8

Field tenant_id
Type string
Description

Optional tenant identifier for multi-tenant deployments.

max_len: 36

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

Field cluster_id
Type string
Description

Cluster identifier of the Network Server.

max_len: 64

Field cluster_address
Type string
Description

Cluster address of the Network Server.

max_len: 256

Field tenant_address
Type string
Description

Optional tenant address for multi-tenant deployments.

max_len: 256

Message PacketBrokerMetadata

Show object example
{
  "message_id": "",
  "forwarder_net_id": "",
  "forwarder_tenant_id": "",
  "forwarder_cluster_id": "",
  "forwarder_gateway_eui": "",
  "forwarder_gateway_id": null,
  "home_network_net_id": "",
  "home_network_tenant_id": "",
  "home_network_cluster_id": "",
  "hops": [],
}

Fields:

Field message_id
Type string
Description

Message identifier generated by Packet Broker Router.

Field forwarder_net_id
Type bytes
Description

LoRa Alliance NetID of the Packet Broker Forwarder Member.

ignore_empty

len: 3

Field forwarder_tenant_id
Type string
Description

Tenant ID managed by the Packet Broker Forwarder Member.

Field forwarder_cluster_id
Type string
Description

Forwarder Cluster ID of the Packet Broker Forwarder.

Field forwarder_gateway_eui
Type bytes
Description

Forwarder gateway EUI.

ignore_empty

len: 8

Field forwarder_gateway_id
Type google.protobuf. StringValue
Description

Forwarder gateway ID.

Field home_network_net_id
Type bytes
Description

LoRa Alliance NetID of the Packet Broker Home Network Member.

ignore_empty

len: 3

Field home_network_tenant_id
Type string
Description

Tenant ID managed by the Packet Broker Home Network Member. This value is empty if it cannot be determined by the Packet Broker Router.

Field home_network_cluster_id
Type string
Description

Home Network Cluster ID of the Packet Broker Home Network.

Field hops
Type repeated PacketBrokerRouteHop
Description

Hops that the message passed. Each Packet Broker Router service appends an entry.

Message PacketBrokerRouteHop

Show object example
{
  "received_at": "0001-01-01T00:00:00Z",
  "sender_name": "",
  "sender_address": "",
  "receiver_name": "",
  "receiver_agent": "",
}

Fields:

Field received_at
Type google.protobuf. Timestamp
Description

Time when the service received the message.

Field sender_name
Type string
Description

Sender of the message, typically the authorized client identifier.

Field sender_address
Type string
Description

Sender IP address or host name.

Field receiver_name
Type string
Description

Receiver of the message.

Field receiver_agent
Type string
Description

Receiver agent.

Message Picture

Show object example
{
  "embedded": {},
  "sizes": {},
}

Fields:

Field embedded
Type Picture.Embedded
Description

Embedded picture. Omitted if there are external URLs available (in sizes).

Field sizes
Type map of uint32 to string
Description

URLs of the picture for different sizes, if available on a CDN.

uri_ref (value)

Message Picture.Embedded

Show object example
{
  "mime_type": "",
  "data": "",
}

Fields:

Field mime_type
Type string
Description

MIME type of the picture.

max_len: 32

Field data
Type bytes
Description

Picture data. A data URI can be constructed as follows: data:<mime_type>;base64,<data>.

max_len: 8388608

Message PingSlotPeriodValue

Show object example
{
  "value": "PING_EVERY_1S",
}

Fields:

Field value
Type PingSlotPeriod
Description

defined_only

Message RejoinRequestPayload

Show object example
{
  "rejoin_type": "CONTEXT",
  "net_id": "",
  "join_eui": "",
  "dev_eui": "",
  "rejoin_cnt": 0,
}

Fields:

Field rejoin_type
Type RejoinRequestType
Description

defined_only

Field net_id
Type bytes
Description

ignore_empty

len: 3

Field join_eui
Type bytes
Description

ignore_empty

len: 8

Field dev_eui
Type bytes
Description

ignore_empty

len: 8

Field rejoin_cnt
Type uint32
Description

Contains RJCount0 or RJCount1 depending on rejoin_type.

Message RootKeys

Root keys for a LoRaWAN device. These are stored on the Join Server.

Show object example
{
  "root_key_id": "",
  "app_key": {},
  "nwk_key": {},
}

Fields:

Field root_key_id
Type string
Description

Join Server issued identifier for the root keys.

max_len: 2048

Field app_key
Type KeyEnvelope
Description

The (encrypted) Application Key.

Field nwk_key
Type KeyEnvelope
Description

The (encrypted) Network Key.

Message RelayEndDeviceAlwaysMode

Show object example
{
}

Fields:

Message RelayEndDeviceDynamicMode

Show object example
{
  "smart_enable_level": "RELAY_SMART_ENABLE_LEVEL_8",
}

Fields:

Field smart_enable_level
Type RelaySmartEnableLevel
Description

The number of consecutive uplinks without a valid downlink before the end device attempts to use the relay mode to transmit messages.

defined_only

Message RelayEndDeviceControlledMode

Show object example
{
}

Fields:

Message RelaySecondChannel

Show object example
{
  "ack_offset": "RELAY_SECOND_CH_ACK_OFFSET_0",
  "data_rate_index": "DATA_RATE_0",
  "frequency": 0,
}

Fields:

Field ack_offset
Type RelaySecondChAckOffset
Description

The frequency (Hz) offset used for the WOR acknowledgement.

defined_only

Field data_rate_index
Type DataRateIndex
Description

The data rate index used by the WOR and WOR acknowledgement.

defined_only

Field frequency
Type uint64
Description

The frequency (Hz) used by the wake on radio message.

gte: 100000

Message RelayUplinkForwardLimits

Show object example
{
  "bucket_size": "RELAY_LIMIT_BUCKET_SIZE_1",
  "reload_rate": 0,
}

Fields:

Field bucket_size
Type RelayLimitBucketSize
Description

The multiplier used to compute the total bucket size for the limits. The multiplier is multiplied by the reload rate in order to compute the total bucket size.

defined_only

Field reload_rate
Type uint32
Description

The number of tokens which are replenished in the bucket every hour.

lte: 62

Message RelayForwardDownlinkReq

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

Fields:

Field raw_payload
Type bytes

Message RelayForwardLimits

Show object example
{
  "bucket_size": "RELAY_LIMIT_BUCKET_SIZE_1",
  "reload_rate": 0,
}

Fields:

Field bucket_size
Type RelayLimitBucketSize
Description

The multiplier used to compute the total bucket size for the limits. The multiplier is multiplied by the reload rate in order to compute the total bucket size.

defined_only

Field reload_rate
Type uint32
Description

The number of tokens which are replenished in the bucket every hour.

lte: 126

Message RelayMetadata

Show object example
{
  "device_id": "",
  "wor_channel": "RELAY_WOR_CHANNEL_DEFAULT",
}

Fields:

Field device_id
Type string
Description

End device identifiers of the relay.

max_len: 36

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

Field wor_channel
Type RelayWORChannel
Description

Wake on radio channel.

defined_only

Message RelayParameters

RelayParameters represent the parameters of a relay. This is used internally by the Network Server.

Restrictions:
  • Only one of serving, served can be set.
Show object example
{
  "serving": {},
  "served": {},
}

Fields:

Field serving
Type ServingRelayParameters
Description

Parameters related to a relay which is serving end devices.

Field served
Type ServedRelayParameters
Description

Parameters related to an end device served by a relay.

Message RxDelayValue

Show object example
{
  "value": "RX_DELAY_0",
}

Fields:

Field value
Type RxDelay
Description

defined_only

Message RxMetadata

Contains metadata for a received message. Each antenna that receives a message corresponds to one RxMetadata.

Show object example
{
  "gateway_ids": {},
  "packet_broker": {},
  "relay": {},
  "antenna_index": 0,
  "time": "0001-01-01T00:00:00Z",
  "timestamp": 0,
  "fine_timestamp": 0,
  "encrypted_fine_timestamp": "",
  "encrypted_fine_timestamp_key_id": "",
  "rssi": 0,
  "signal_rssi": null,
  "channel_rssi": 0,
  "rssi_standard_deviation": 0,
  "snr": 0,
  "frequency_offset": 0,
  "location": {},
  "downlink_path_constraint": "DOWNLINK_PATH_CONSTRAINT_NONE",
  "uplink_token": "",
  "channel_index": 0,
  "hopping_width": 0,
  "frequency_drift": 0,
  "gps_time": "0001-01-01T00:00:00Z",
  "received_at": "0001-01-01T00:00:00Z",
  "advanced": {},
}

Fields:

Field gateway_ids
Type GatewayIdentifiers
Description

required

Field packet_broker
Type PacketBrokerMetadata
Field relay
Type RelayMetadata
Field antenna_index
Type uint32
Field time
Type google.protobuf. Timestamp
Description

Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.

Field timestamp
Type uint32
Description

Gateway concentrator timestamp when the Rx finished (microseconds).

Field fine_timestamp
Type uint64
Description

Gateway’s internal fine timestamp when the Rx finished (nanoseconds).

Field encrypted_fine_timestamp
Type bytes
Description

Encrypted gateway’s internal fine timestamp when the Rx finished (nanoseconds).

Field encrypted_fine_timestamp_key_id
Type string
Field rssi
Type float
Description

Received signal strength indicator (dBm). This value equals channel_rssi.

Field signal_rssi
Type google.protobuf. FloatValue
Description

Received signal strength indicator of the signal (dBm).

Field channel_rssi
Type float
Description

Received signal strength indicator of the channel (dBm).

Field rssi_standard_deviation
Type float
Description

Standard deviation of the RSSI during preamble.

Field snr
Type float
Description

Signal-to-noise ratio (dB).

Field frequency_offset
Type int64
Description

Frequency offset (Hz).

Field location
Type Location
Description

Antenna location; injected by the Gateway Server.

Field downlink_path_constraint
Type DownlinkPathConstraint
Description

Gateway downlink path constraint; injected by the Gateway Server.

defined_only

Field uplink_token
Type bytes
Description

Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.

Field channel_index
Type uint32
Description

Index of the gateway channel that received the message.

lte: 255

Field hopping_width
Type uint32
Description

Hopping width; a number describing the number of steps of the LR-FHSS grid.

Field frequency_drift
Type int32
Description

Frequency drift in Hz between start and end of an LR-FHSS packet (signed).

Field gps_time
Type google.protobuf. Timestamp
Description

Timestamp at the end of the transmission, provided by the gateway. Guaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.

Field received_at
Type google.protobuf. Timestamp
Description

Timestamp at which the Gateway Server has received the message.

Field advanced
Type google.protobuf. Struct
Description

Advanced metadata fields

  • can be used for advanced information or experimental features that are not yet formally defined in the API
  • field names are written in snake_case

Message SearchEndDevicesRequest

Show object example
{
  "application_ids": {},
  "query": "",
  "id_contains": "",
  "name_contains": "",
  "description_contains": "",
  "attributes_contain": {},
  "dev_eui_contains": "",
  "join_eui_contains": "",
  "dev_addr_contains": "",
  "label_id_contains": [],
  "field_mask": {},
  "order": "",
  "limit": 0,
  "page": 0,
}

Fields:

Field application_ids
Type ApplicationIdentifiers
Description

required

Field query
Type string
Description

Find end devices where the ID, name, description or EUI contains this substring.

max_len: 50

Field id_contains
Type string
Description

Find end devices where the ID contains this substring.

max_len: 50

Field name_contains
Type string
Description

Find end devices where the name contains this substring.

max_len: 50

Field description_contains
Type string
Description

Find end devices where the description contains this substring.

max_len: 50

Field attributes_contain
Type map of string to string
Description

Find end devices where the given attributes contain these substrings.

max_pairs: 10

max_len (key): 36

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

max_len (value): 50

Field dev_eui_contains
Type string
Description

Find end devices where the (hexadecimal) DevEUI contains this substring.

max_len: 16

Field join_eui_contains
Type string
Description

Find end devices where the (hexadecimal) JoinEUI contains this substring.

max_len: 16

Field dev_addr_contains
Type string
Description

Find end devices where the (hexadecimal) DevAddr contains this substring.

max_len: 8

Field label_id_contains
Type repeated string
Description

Find end devices where one of the label_ids contains this substring.

max_items: 10

max_len: 50

Field field_mask
Type google.protobuf. FieldMask
Field order
Type string
Description

Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order.

in: [ device_id -device_id join_eui -join_eui dev_eui -dev_eui name -name description -description created_at -created_at last_seen_at -last_seen_at]

Field limit
Type uint32
Description

Limit the number of results per page.

lte: 1000

Field page
Type uint32
Description

Page number for pagination. 0 is interpreted as 1.

Message Secret

Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.

Show object example
{
  "key_id": "",
  "value": "",
}

Fields:

Field key_id
Type string
Description

ID of the Key used to encrypt the secret.

Field value
Type bytes
Description

max_len: 2048

Message ServedRelaySettings

Restrictions:
  • Only one of always, dynamic, end_device_controlled can be set.
Show object example
{
  "always": {},
  "dynamic": {},
  "end_device_controlled": {},
  "backoff": null,
  "second_channel": {},
  "serving_device_id": "",
}

Fields:

Field always
Type RelayEndDeviceAlwaysMode
Description

The end device will always attempt to use the relay mode in order to send uplink messages.

Field dynamic
Type RelayEndDeviceDynamicMode
Description

The end device will attempt to use relay mode only after a number of uplink messages have been sent without receiving a valid a downlink message.

Field end_device_controlled
Type RelayEndDeviceControlledMode
Description

The end device will control when it uses the relay mode. This is the default mode.

Field backoff
Type google.protobuf. UInt32Value
Description

Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly. If unset, the default value from Network Server configuration will be used.

lte: 63

Field second_channel
Type RelaySecondChannel
Description

Second wake on radio channel configuration.

Field serving_device_id
Type string
Description

End device identifier of the serving end device.

max_len: 36

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

Message ServedRelayParameters

Restrictions:
  • Only one of always, dynamic, end_device_controlled can be set.
Show object example
{
  "always": {},
  "dynamic": {},
  "end_device_controlled": {},
  "backoff": 0,
  "second_channel": {},
  "serving_device_id": "",
}

Fields:

Field always
Type RelayEndDeviceAlwaysMode
Description

The end device will always attempt to use the relay mode in order to send uplink messages.

Field dynamic
Type RelayEndDeviceDynamicMode
Description

The end device will attempt to use relay mode only after a number of uplink messages have been sent without receiving a valid a downlink message.

Field end_device_controlled
Type RelayEndDeviceControlledMode
Description

The end device will control when it uses the relay mode. This is the default mode.

Field backoff
Type uint32
Description

Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.

lte: 63

Field second_channel
Type RelaySecondChannel
Description

Second wake on radio channel configuration.

Field serving_device_id
Type string
Description

End device identifier of the serving end device.

max_len: 36

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

Message ServingRelaySettings

Show object example
{
  "second_channel": {},
  "default_channel_index": null,
  "cad_periodicity": "RELAY_CAD_PERIODICITY_1_SECOND",
  "uplink_forwarding_rules": [],
  "limits": {},
}

Fields:

Field second_channel
Type RelaySecondChannel
Description

Second wake on radio channel configuration.

Field default_channel_index
Type google.protobuf. UInt32Value
Description

Index of the default wake on radio channel. If unset, the default value from Network Server configuration will be used.

lte: 255

Field cad_periodicity
Type RelayCADPeriodicity
Description

Channel activity detection periodicity.

defined_only

Field uplink_forwarding_rules
Type repeated RelayUplinkForwardingRule
Description

Configured uplink forwarding rules.

max_items: 16

Field limits
Type ServingRelayForwardingLimits
Description

Configured forwarding limits. If unset, the default value from Network Server configuration will be used.

Message ServingRelayParameters

Show object example
{
  "second_channel": {},
  "default_channel_index": 0,
  "cad_periodicity": "RELAY_CAD_PERIODICITY_1_SECOND",
  "uplink_forwarding_rules": [],
  "limits": {},
}

Fields:

Field second_channel
Type RelaySecondChannel
Description

Second wake on radio channel configuration.

Field default_channel_index
Type uint32
Description

Index of the default wake on radio channel.

lte: 255

Field cad_periodicity
Type RelayCADPeriodicity
Description

Channel activity detection periodicity.

defined_only

Field uplink_forwarding_rules
Type repeated RelayUplinkForwardingRule
Description

Configured uplink forwarding rules.

max_items: 16

Field limits
Type ServingRelayForwardingLimits
Description

Configured forwarding limits. If unset, the default value from Network Server configuration will be used.

Message RelayUplinkForwardingRule

Show object example
{
  "limits": {},
  "last_w_f_cnt": 0,
  "device_id": "",
  "session_key_id": "",
}

Fields:

Field limits
Type RelayUplinkForwardLimits
Description

Bucket configuration for the served end device. If unset, no individual limits will apply to the end device, but the relay global limitations will apply.

Field last_w_f_cnt
Type uint32
Description

Last wake on radio frame counter used by the served end device.

Field device_id
Type string
Description

End device identifier of the served end device.

ignore_empty

max_len: 36

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

Field session_key_id
Type bytes
Description

Session key ID of the session keys used to derive the root relay session key.

Message ServingRelayForwardingLimits

Show object example
{
  "reset_behavior": "RELAY_RESET_LIMIT_COUNTER_ZERO",
  "join_requests": {},
  "notifications": {},
  "uplink_messages": {},
  "overall": {},
}

Fields:

Field reset_behavior
Type RelayResetLimitCounter
Description

Reset behavior of the buckets upon limit update.

Field join_requests
Type RelayForwardLimits
Description

Bucket configuration for join requests. If unset, no individual limits will apply to join requests, but the relay overall limitations will apply.

Field notifications
Type RelayForwardLimits
Description

Bucket configuration for unknown device notifications. If unset, no individual limits will apply to unknown end device notifications, but the relay overall limitations will still apply.

Field uplink_messages
Type RelayForwardLimits
Description

Bucket configuration for uplink messages across all served end devices. If unset, no individual limits will apply to uplink messages across all served end devices, but the relay overall limitations will still apply.

Field overall
Type RelayForwardLimits
Description

Bucket configuration for all relay messages. If unset, no overall limits will apply to the relay, but individual limitations will still apply.

Message Session

Show object example
{
  "dev_addr": "",
  "keys": {},
  "last_f_cnt_up": 0,
  "last_n_f_cnt_down": 0,
  "last_a_f_cnt_down": 0,
  "last_conf_f_cnt_down": 0,
  "started_at": "0001-01-01T00:00:00Z",
  "queued_application_downlinks": [],
}

Fields:

Field dev_addr
Type bytes
Description

Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03). Known by Network Server, Application Server and Join Server. Owned by Network Server.

ignore_empty

len: 4

Field keys
Type SessionKeys
Description

required

Field last_f_cnt_up
Type uint32
Description

Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.

Field last_n_f_cnt_down
Type uint32
Description

Last network downlink frame counter value used. Network Server only.

Field last_a_f_cnt_down
Type uint32
Description

Last application downlink frame counter value used. Application Server only.

Field last_conf_f_cnt_down
Type uint32
Description

Frame counter of the last confirmed downlink message sent. Network Server only.

Field started_at
Type google.protobuf. Timestamp
Description

Time when the session started. Network Server only.

Field queued_application_downlinks
Type repeated ApplicationDownlink
Description

Queued Application downlink messages. Stored in Application Server and Network Server.

Message SessionKeys

Session keys for a LoRaWAN session. Only the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.

Show object example
{
  "session_key_id": "",
  "f_nwk_s_int_key": {},
  "s_nwk_s_int_key": {},
  "nwk_s_enc_key": {},
  "app_s_key": {},
}

Fields:

Field session_key_id
Type bytes
Description

Join Server issued identifier for the session keys. This ID can be used to request the keys from the Join Server in case the are lost.

max_len: 2048

Field f_nwk_s_int_key
Type KeyEnvelope
Description

The (encrypted) Forwarding Network Session Integrity Key (or Network Session Key in 1.0 compatibility mode). This key is stored by the (forwarding) Network Server.

Field s_nwk_s_int_key
Type KeyEnvelope
Description

The (encrypted) Serving Network Session Integrity Key. This key is stored by the (serving) Network Server.

Field nwk_s_enc_key
Type KeyEnvelope
Description

The (encrypted) Network Session Encryption Key. This key is stored by the (serving) Network Server.

Field app_s_key
Type KeyEnvelope
Description

The (encrypted) Application Session Key. This key is stored by the Application Server.

Message SetEndDeviceRequest

Show object example
{
  "end_device": {},
  "field_mask": {},
}

Fields:

Field end_device
Type EndDevice
Description

required

Field field_mask
Type google.protobuf. FieldMask
Description

The names of the end device fields that should be updated. See the API reference for which fields can be set on the different services.

Message TxRequest

TxRequest is a request for transmission. If sent to a roaming partner, this request is used to generate the DLMetadata Object (see Backend Interfaces 1.0, Table 22). If the gateway has a scheduler, this request is sent to the gateway, in the order of gateway_ids. Otherwise, the Gateway Server attempts to schedule the request and creates the TxSettings.

Show object example
{
  "class": "CLASS_A",
  "downlink_paths": [],
  "rx1_delay": "RX_DELAY_0",
  "rx1_data_rate": {},
  "rx1_frequency": 0,
  "rx2_data_rate": {},
  "rx2_frequency": 0,
  "priority": "LOWEST",
  "absolute_time": "0001-01-01T00:00:00Z",
  "frequency_plan_id": "",
  "advanced": {},
}

Fields:

Field class
Type Class
Field downlink_paths
Type repeated DownlinkPath
Description

Downlink paths used to select a gateway for downlink. In class A, the downlink paths are required to only contain uplink tokens. In class B and C, the downlink paths may contain uplink tokens and fixed gateways antenna identifiers.

Field rx1_delay
Type RxDelay
Description

Rx1 delay (Rx2 delay is Rx1 delay + 1 second).

defined_only

Field rx1_data_rate
Type DataRate
Description

LoRaWAN data rate for Rx1.

Field rx1_frequency
Type uint64
Description

Frequency (Hz) for Rx1.

Field rx2_data_rate
Type DataRate
Description

LoRaWAN data rate for Rx2.

Field rx2_frequency
Type uint64
Description

Frequency (Hz) for Rx2.

Field priority
Type TxSchedulePriority
Description

Priority for scheduling. Requests with a higher priority are allocated more channel time than messages with a lower priority, in duty-cycle limited regions. A priority of HIGH or higher sets the HiPriorityFlag in the DLMetadata Object.

defined_only

Field absolute_time
Type google.protobuf. Timestamp
Description

Time when the downlink message should be transmitted. This value is only valid for class C downlink; class A downlink uses uplink tokens and class B downlink is scheduled on ping slots. This requires the gateway to have GPS time sychronization. If the absolute time is not set, the first available time will be used that does not conflict or violate regional limitations.

Field frequency_plan_id
Type string
Description

Frequency plan ID from which the frequencies in this message are retrieved.

max_len: 64

Field advanced
Type google.protobuf. Struct
Description

Advanced metadata fields

  • can be used for advanced information or experimental features that are not yet formally defined in the API
  • field names are written in snake_case

Message TxSettings

TxSettings contains the settings for a transmission. This message is used on both uplink and downlink. On downlink, this is a scheduled transmission.

Show object example
{
  "data_rate": {},
  "frequency": 0,
  "enable_crc": false,
  "timestamp": 0,
  "time": "0001-01-01T00:00:00Z",
  "downlink": {},
  "concentrator_timestamp": 0,
}

Fields:

Field data_rate
Type DataRate
Description

Data rate.

required

Field frequency
Type uint64
Description

Frequency (Hz).

gte: 100000

Field enable_crc
Type bool
Description

Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.

Field timestamp
Type uint32
Description

Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds). On downlink, set timestamp to 0 and time to null to use immediate scheduling.

Field time
Type google.protobuf. Timestamp
Description

Time of the gateway when the uplink message was received, or when the downlink message should be transmitted. For downlink, this requires the gateway to have GPS time synchronization.

Field downlink
Type TxSettings.Downlink
Description

Transmission settings for downlink.

Field concentrator_timestamp
Type int64
Description

Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler. This value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival). This field is set and used only by the Gateway Server.

Message TxSettings.Downlink

Transmission settings for downlink.

Show object example
{
  "antenna_index": 0,
  "tx_power": 0,
  "invert_polarization": false,
}

Fields:

Field antenna_index
Type uint32
Description

Index of the antenna on which the uplink was received and/or downlink must be sent.

Field tx_power
Type float
Description

Transmission power (dBm). Only on downlink.

Field invert_polarization
Type bool
Description

Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.

Message UpdateEndDeviceRequest

Show object example
{
  "end_device": {},
  "field_mask": {},
}

Fields:

Field end_device
Type EndDevice
Description

required

Field field_mask
Type google.protobuf. FieldMask
Description

The names of the end device fields that should be updated. See the API reference for which fields can be set on the different services.

Message UplinkMessage

Uplink message from the end device to the network

Show object example
{
  "raw_payload": "",
  "payload": {},
  "settings": {},
  "rx_metadata": [],
  "received_at": "0001-01-01T00:00:00Z",
  "correlation_ids": [],
  "device_channel_index": 0,
  "consumed_airtime": "0s",
  "crc_status": null,
}

Fields:

Field raw_payload
Type bytes
Field payload
Type Message
Field settings
Type TxSettings
Description

required

Field rx_metadata
Type repeated RxMetadata
Description
Field received_at
Type google.protobuf. Timestamp
Description

Server time when a component received the message. The Gateway Server and Network Server set this value to their local server time of reception.

Field correlation_ids
Type repeated string
Description

max_len: 100

Field device_channel_index
Type uint32
Description

Index of the device channel that received the message. Set by Network Server.

lte: 255

Field consumed_airtime
Type google.protobuf. Duration
Description

Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the RawPayload size and the transmission settings.

Field crc_status
Type google.protobuf. BoolValue
Description

Cyclic Redundancy Check (CRC) status of demodulating the frame. If unset, the modulation does not support CRC or the gateway did not provide a CRC status. If set to false, this message should not be processed.

Message ZeroableFrequencyValue

Show object example
{
  "value": 0,
}

Fields:

Field value
Type uint64
Description

gte: 100000

lte: 0

Enums

Enum ADRAckLimitExponent

Name Value Description
ADR_ACK_LIMIT_1 0
ADR_ACK_LIMIT_2 1
ADR_ACK_LIMIT_4 2
ADR_ACK_LIMIT_8 3
ADR_ACK_LIMIT_16 4
ADR_ACK_LIMIT_32 5
ADR_ACK_LIMIT_64 6
ADR_ACK_LIMIT_128 7
ADR_ACK_LIMIT_256 8
ADR_ACK_LIMIT_512 9
ADR_ACK_LIMIT_1024 10
ADR_ACK_LIMIT_2048 11
ADR_ACK_LIMIT_4096 12
ADR_ACK_LIMIT_8192 13
ADR_ACK_LIMIT_16384 14
ADR_ACK_LIMIT_32768 15

Enum ADRAckDelayExponent

Name Value Description
ADR_ACK_DELAY_1 0
ADR_ACK_DELAY_2 1
ADR_ACK_DELAY_4 2
ADR_ACK_DELAY_8 3
ADR_ACK_DELAY_16 4
ADR_ACK_DELAY_32 5
ADR_ACK_DELAY_64 6
ADR_ACK_DELAY_128 7
ADR_ACK_DELAY_256 8
ADR_ACK_DELAY_512 9
ADR_ACK_DELAY_1024 10
ADR_ACK_DELAY_2048 11
ADR_ACK_DELAY_4096 12
ADR_ACK_DELAY_8192 13
ADR_ACK_DELAY_16384 14
ADR_ACK_DELAY_32768 15

Enum AggregatedDutyCycle

Name Value Description
DUTY_CYCLE_1 0 100%.
DUTY_CYCLE_2 1 50%.
DUTY_CYCLE_4 2 25%.
DUTY_CYCLE_8 3 12.5%.
DUTY_CYCLE_16 4 6.25%.
DUTY_CYCLE_32 5 3.125%.
DUTY_CYCLE_64 6 1.5625%.
DUTY_CYCLE_128 7 Roughly 0.781%.
DUTY_CYCLE_256 8 Roughly 0.390%.
DUTY_CYCLE_512 9 Roughly 0.195%.
DUTY_CYCLE_1024 10 Roughly 0.098%.
DUTY_CYCLE_2048 11 Roughly 0.049%.
DUTY_CYCLE_4096 12 Roughly 0.024%.
DUTY_CYCLE_8192 13 Roughly 0.012%.
DUTY_CYCLE_16384 14 Roughly 0.006%.
DUTY_CYCLE_32768 15 Roughly 0.003%.

Enum Class

Name Value Description
CLASS_A 0
CLASS_B 1
CLASS_C 2

Enum CFListType

Name Value Description
FREQUENCIES 0
CHANNEL_MASKS 1

Enum DataRateIndex

Name Value Description
DATA_RATE_0 0
DATA_RATE_1 1
DATA_RATE_2 2
DATA_RATE_3 3
DATA_RATE_4 4
DATA_RATE_5 5
DATA_RATE_6 6
DATA_RATE_7 7
DATA_RATE_8 8
DATA_RATE_9 9
DATA_RATE_10 10
DATA_RATE_11 11
DATA_RATE_12 12
DATA_RATE_13 13
DATA_RATE_14 14
DATA_RATE_15 15

Enum DataRateOffset

Name Value Description
DATA_RATE_OFFSET_0 0
DATA_RATE_OFFSET_1 1
DATA_RATE_OFFSET_2 2
DATA_RATE_OFFSET_3 3
DATA_RATE_OFFSET_4 4
DATA_RATE_OFFSET_5 5
DATA_RATE_OFFSET_6 6
DATA_RATE_OFFSET_7 7

Enum DeviceEIRP

Name Value Description
DEVICE_EIRP_8 0 8 dBm.
DEVICE_EIRP_10 1 10 dBm.
DEVICE_EIRP_12 2 12 dBm.
DEVICE_EIRP_13 3 13 dBm.
DEVICE_EIRP_14 4 14 dBm.
DEVICE_EIRP_16 5 16 dBm.
DEVICE_EIRP_18 6 18 dBm.
DEVICE_EIRP_20 7 20 dBm.
DEVICE_EIRP_21 8 21 dBm.
DEVICE_EIRP_24 9 24 dBm.
DEVICE_EIRP_26 10 26 dBm.
DEVICE_EIRP_27 11 27 dBm.
DEVICE_EIRP_29 12 29 dBm.
DEVICE_EIRP_30 13 30 dBm.
DEVICE_EIRP_33 14 33 dBm.
DEVICE_EIRP_36 15 36 dBm.

Enum DownlinkPathConstraint

Name Value Description
DOWNLINK_PATH_CONSTRAINT_NONE 0 Indicates that the gateway can be selected for downlink without constraints by the Network Server.
DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER 1 Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.
DOWNLINK_PATH_CONSTRAINT_NEVER 2 Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.

Enum LocationSource

Name Value Description
SOURCE_UNKNOWN 0 The source of the location is not known or not set.
SOURCE_GPS 1 The location is determined by GPS.
SOURCE_REGISTRY 3 The location is set in and updated from a registry.
SOURCE_IP_GEOLOCATION 4 The location is estimated with IP geolocation.
SOURCE_WIFI_RSSI_GEOLOCATION 5 The location is estimated with WiFi RSSI geolocation.
SOURCE_BT_RSSI_GEOLOCATION 6 The location is estimated with BT/BLE RSSI geolocation.
SOURCE_LORA_RSSI_GEOLOCATION 7 The location is estimated with LoRa RSSI geolocation.
SOURCE_LORA_TDOA_GEOLOCATION 8 The location is estimated with LoRa TDOA geolocation.
SOURCE_COMBINED_GEOLOCATION 9 The location is estimated by a combination of geolocation sources.

Enum MACVersion

Name Value Description
MAC_UNKNOWN 0
MAC_V1_0 1
MAC_V1_0_1 2
MAC_V1_0_2 3
MAC_V1_1 4
MAC_V1_0_3 5
MAC_V1_0_4 6

Enum MACCommandIdentifier

Name Value Description
CID_RFU_0 0
CID_RESET 1
CID_LINK_CHECK 2
CID_LINK_ADR 3
CID_DUTY_CYCLE 4
CID_RX_PARAM_SETUP 5
CID_DEV_STATUS 6
CID_NEW_CHANNEL 7
CID_RX_TIMING_SETUP 8
CID_TX_PARAM_SETUP 9
CID_DL_CHANNEL 10
CID_REKEY 11
CID_ADR_PARAM_SETUP 12
CID_DEVICE_TIME 13
CID_FORCE_REJOIN 14
CID_REJOIN_PARAM_SETUP 15
CID_PING_SLOT_INFO 16
CID_PING_SLOT_CHANNEL 17
CID_BEACON_TIMING 18 Deprecated
CID_BEACON_FREQ 19
CID_DEVICE_MODE 32
CID_RELAY_CONF 64
CID_RELAY_END_DEVICE_CONF 65
CID_RELAY_FILTER_LIST 66
CID_RELAY_UPDATE_UPLINK_LIST 67
CID_RELAY_CTRL_UPLINK_LIST 68
CID_RELAY_CONFIGURE_FWD_LIMIT 69
CID_RELAY_NOTIFY_NEW_END_DEVICE 70

Enum Major

Name Value Description
LORAWAN_R1 0

Enum MType

Name Value Description
JOIN_REQUEST 0
JOIN_ACCEPT 1
UNCONFIRMED_UP 2
UNCONFIRMED_DOWN 3
CONFIRMED_UP 4
CONFIRMED_DOWN 5
REJOIN_REQUEST 6
PROPRIETARY 7

Enum Minor

Name Value Description
MINOR_RFU_0 0
MINOR_1 1
MINOR_RFU_2 2
MINOR_RFU_3 3
MINOR_RFU_4 4
MINOR_RFU_5 5
MINOR_RFU_6 6
MINOR_RFU_7 7
MINOR_RFU_8 8
MINOR_RFU_9 9
MINOR_RFU_10 10
MINOR_RFU_11 11
MINOR_RFU_12 12
MINOR_RFU_13 13
MINOR_RFU_14 14
MINOR_RFU_15 15

Enum PayloadFormatter

Name Value Description
FORMATTER_NONE 0 No payload formatter to work with raw payload only.
FORMATTER_REPOSITORY 1 Use payload formatter for the end device type from a repository.
FORMATTER_GRPC_SERVICE 2 gRPC service payload formatter. The parameter is the host:port of the service.
FORMATTER_JAVASCRIPT 3 Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.
FORMATTER_CAYENNELPP 4 CayenneLPP payload formatter.

Enum PingSlotPeriod

Name Value Description
PING_EVERY_1S 0 Every second.
PING_EVERY_2S 1 Every 2 seconds.
PING_EVERY_4S 2 Every 4 seconds.
PING_EVERY_8S 3 Every 8 seconds.
PING_EVERY_16S 4 Every 16 seconds.
PING_EVERY_32S 5 Every 32 seconds.
PING_EVERY_64S 6 Every 64 seconds.
PING_EVERY_128S 7 Every 128 seconds.

Enum PHYVersion

Name Value Description
PHY_UNKNOWN 0
PHY_V1_0 1
TS001_V1_0 1
PHY_V1_0_1 2
TS001_V1_0_1 2
PHY_V1_0_2_REV_A 3
RP001_V1_0_2 3
PHY_V1_0_2_REV_B 4
RP001_V1_0_2_REV_B 4
PHY_V1_1_REV_A 5
RP001_V1_1_REV_A 5
PHY_V1_1_REV_B 6
RP001_V1_1_REV_B 6
PHY_V1_0_3_REV_A 7
RP001_V1_0_3_REV_A 7
RP002_V1_0_0 8
RP002_V1_0_1 9
RP002_V1_0_2 10
RP002_V1_0_3 11
RP002_V1_0_4 12

Enum PowerState

Power state of the device.

Name Value Description
POWER_UNKNOWN 0
POWER_BATTERY 1
POWER_EXTERNAL 2

Enum RxDelay

Name Value Description
RX_DELAY_0 0 1 second.
RX_DELAY_1 1 1 second.
RX_DELAY_2 2 2 seconds.
RX_DELAY_3 3 3 seconds.
RX_DELAY_4 4 4 seconds.
RX_DELAY_5 5 5 seconds.
RX_DELAY_6 6 6 seconds.
RX_DELAY_7 7 7 seconds.
RX_DELAY_8 8 8 seconds.
RX_DELAY_9 9 9 seconds.
RX_DELAY_10 10 10 seconds.
RX_DELAY_11 11 11 seconds.
RX_DELAY_12 12 12 seconds.
RX_DELAY_13 13 13 seconds.
RX_DELAY_14 14 14 seconds.
RX_DELAY_15 15 15 seconds.

Enum RejoinTimeExponent

Name Value Description
REJOIN_TIME_0 0 Every ~17.1 minutes.
REJOIN_TIME_1 1 Every ~34.1 minutes.
REJOIN_TIME_2 2 Every ~1.1 hours.
REJOIN_TIME_3 3 Every ~2.3 hours.
REJOIN_TIME_4 4 Every ~4.6 hours.
REJOIN_TIME_5 5 Every ~9.1 hours.
REJOIN_TIME_6 6 Every ~18.2 hours.
REJOIN_TIME_7 7 Every ~1.5 days.
REJOIN_TIME_8 8 Every ~3.0 days.
REJOIN_TIME_9 9 Every ~6.1 days.
REJOIN_TIME_10 10 Every ~12.1 days.
REJOIN_TIME_11 11 Every ~3.5 weeks.
REJOIN_TIME_12 12 Every ~1.6 months.
REJOIN_TIME_13 13 Every ~3.2 months.
REJOIN_TIME_14 14 Every ~6.4 months.
REJOIN_TIME_15 15 Every ~1.1 year.

Enum RejoinCountExponent

Name Value Description
REJOIN_COUNT_16 0
REJOIN_COUNT_32 1
REJOIN_COUNT_64 2
REJOIN_COUNT_128 3
REJOIN_COUNT_256 4
REJOIN_COUNT_512 5
REJOIN_COUNT_1024 6
REJOIN_COUNT_2048 7
REJOIN_COUNT_4096 8
REJOIN_COUNT_8192 9
REJOIN_COUNT_16384 10
REJOIN_COUNT_32768 11
REJOIN_COUNT_65536 12
REJOIN_COUNT_131072 13
REJOIN_COUNT_262144 14
REJOIN_COUNT_524288 15

Enum RejoinRequestType

Name Value Description
CONTEXT 0 Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.
SESSION 1 Equivalent to the initial JoinRequest.
KEYS 2 Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.

Enum RejoinPeriodExponent

Name Value Description
REJOIN_PERIOD_0 0 Every 32 to 64 seconds.
REJOIN_PERIOD_1 1 Every 64 to 96 seconds.
REJOIN_PERIOD_2 2 Every 128 to 160 seconds.
REJOIN_PERIOD_3 3 Every 256 to 288 seconds.
REJOIN_PERIOD_4 4 Every 512 to 544 seconds.
REJOIN_PERIOD_5 5 Every 1024 to 1056 seconds.
REJOIN_PERIOD_6 6 Every 2048 to 2080 seconds.
REJOIN_PERIOD_7 7 Every 4096 to 4128 seconds.

Enum RelayCADPeriodicity

Name Value Description
RELAY_CAD_PERIODICITY_1_SECOND 0
RELAY_CAD_PERIODICITY_500_MILLISECONDS 1
RELAY_CAD_PERIODICITY_250_MILLISECONDS 2
RELAY_CAD_PERIODICITY_100_MILLISECONDS 3
RELAY_CAD_PERIODICITY_50_MILLISECONDS 4
RELAY_CAD_PERIODICITY_20_MILLISECONDS 5 sic

Enum RelayCtrlUplinkListAction

Name Value Description
RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT 0
RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE 1

Enum RelayResetLimitCounter

Name Value Description
RELAY_RESET_LIMIT_COUNTER_ZERO 0
RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE 1
RELAY_RESET_LIMIT_COUNTER_MAX_VALUE 2
RELAY_RESET_LIMIT_COUNTER_NO_RESET 3

Enum RelaySecondChAckOffset

Name Value Description
RELAY_SECOND_CH_ACK_OFFSET_0 0 0 kHz
RELAY_SECOND_CH_ACK_OFFSET_200 1 200 kHz
RELAY_SECOND_CH_ACK_OFFSET_400 2 400 kHz
RELAY_SECOND_CH_ACK_OFFSET_800 3 800 kHz
RELAY_SECOND_CH_ACK_OFFSET_1600 4 1.6 MHz
RELAY_SECOND_CH_ACK_OFFSET_3200 5 3.2 MHz

Message RelaySettings

RelaySettings represent the settings of a relay. This is used internally by the Network Server.

Restrictions:
  • Only one of serving, served can be set.
Show object example
{
  "serving": {},
  "served": {},
}

Fields:

Field serving
Type ServingRelaySettings
Field served
Type ServedRelaySettings

Enum RelaySmartEnableLevel

Name Value Description
RELAY_SMART_ENABLE_LEVEL_8 0
RELAY_SMART_ENABLE_LEVEL_16 1
RELAY_SMART_ENABLE_LEVEL_32 2
RELAY_SMART_ENABLE_LEVEL_64 3

Enum RelayLimitBucketSize

Name Value Description
RELAY_LIMIT_BUCKET_SIZE_1 0
RELAY_LIMIT_BUCKET_SIZE_2 1
RELAY_LIMIT_BUCKET_SIZE_4 2
RELAY_LIMIT_BUCKET_SIZE_12 3 sic

Enum RelayWORChannel

Name Value Description
RELAY_WOR_CHANNEL_DEFAULT 0
RELAY_WOR_CHANNEL_SECONDARY 1

Enum TxSchedulePriority

Name Value Description
LOWEST 0
LOW 1
BELOW_NORMAL 2
NORMAL 3
ABOVE_NORMAL 4
HIGH 5
HIGHEST 6
← Crypto Operations APIs Events API →

On this page

  • The EndDeviceRegistry service
  • The EndDeviceBatchRegistry service
  • The JsEndDeviceRegistry service
  • The JsEndDeviceBatchRegistry service
  • The NsEndDeviceRegistry service
  • The NsEndDeviceBatchRegistry service
  • The AsEndDeviceRegistry service
  • The AsEndDeviceBatchRegistry service
  • The EndDeviceClaimingServer service
  • The EndDeviceBatchClaimingServer service
  • The DeviceRepository service
  • The EndDeviceQRCodeGenerator service
  • The EndDeviceRegistrySearch service
  • The EndDeviceTemplateConverter service
  • Messages
  • Enums

Sections

Getting Started

Concepts

The Things Stack Cloud

The Things Stack Enterprise

Integrations

API

Hardware

Sitemap

View our Sitemap

Contributing

GitHub

About Us

The Things Industries