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

Network Server APIs

List of Network Server APIs.

The Ns service

Method Ns.GenerateDevAddr
Description GenerateDevAddr requests a device address assignment from the Network Server.
Request type google.protobuf.Empty
Response type GenerateDevAddrResponse
HTTP bindings

GET /api/v3/ns/dev_addr

Method Ns.GetDefaultMACSettings
Description GetDefaultMACSettings retrieves the default MAC settings for a frequency plan.
Request type GetDefaultMACSettingsRequest
Response type MACSettings
HTTP bindings

GET /api/v3/ns/default_mac_settings/{frequency_plan_id}/{lorawan_phy_version}

Method Ns.GetNetID
Request type google.protobuf.Empty
Response type GetNetIDResponse
HTTP bindings

GET /api/v3/ns/net_id

Method Ns.GetDeviceAddressPrefixes
Request type google.protobuf.Empty
Response type GetDeviceAdressPrefixesResponse
HTTP bindings

GET /api/v3/ns/dev_addr_prefixes

The NsAs service

Method NsAs.HandleUplink
Description Handle Application uplink messages.
Request type NsAsHandleUplinkRequest
Response type google.protobuf.Empty
HTTP bindings

The NsGs service

Method NsGs.ScheduleDownlink
Description Instructs the Gateway Server to schedule a downlink message. The Gateway Server may refuse if there are any conflicts in the schedule or if a duty cycle prevents the gateway from transmitting.
Request type DownlinkMessage
Response type ScheduleDownlinkResponse
HTTP bindings

The NsJs service

Method NsJs.HandleJoin
Description Handle a join-request message.
Request type JoinRequest
Response type JoinResponse
HTTP bindings
Method NsJs.GetNwkSKeys
Description Request the network session keys for a particular session.
Request type SessionKeyRequest
Response type NwkSKeysResponse
HTTP bindings

The NsPba service

Method NsPba.PublishDownlink
Description PublishDownlink instructs the Packet Broker Agent to publish a downlink message to Packet Broker Router.
Request type DownlinkMessage
Response type google.protobuf.Empty
HTTP bindings

Messages

Message ADRAckDelayExponentValue

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

Fields:

Field value
Type ADRAckDelayExponent
Description

defined_only

Message ADRAckLimitExponentValue

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

Fields:

Field value
Type ADRAckLimitExponent
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 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 ApplicationDownlinkFailed

Show object example
{
  "downlink": {},
  "error": {},
  "locations": {},
  "version_ids": {},
  "network_ids": {},
  "attributes": {},
}

Fields:

Field downlink
Type ApplicationDownlink
Description

required

Field error
Type ErrorDetails
Description

required

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 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 ApplicationInvalidatedDownlinks

Show object example
{
  "downlinks": [],
  "last_f_cnt_down": 0,
  "session_key_id": "",
  "locations": {},
  "version_ids": {},
  "network_ids": {},
  "attributes": {},
}

Fields:

Field downlinks
Type repeated ApplicationDownlink
Description
Field last_f_cnt_down
Type uint32
Field session_key_id
Type bytes
Description

max_len: 2048

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 ApplicationJoinAccept

Show object example
{
  "session_key_id": "",
  "app_s_key": {},
  "invalidated_downlinks": [],
  "pending_session": false,
  "received_at": "0001-01-01T00:00:00Z",
  "locations": {},
  "version_ids": {},
  "network_ids": {},
  "attributes": {},
}

Fields:

Field session_key_id
Type bytes
Description

Join Server issued identifier for the session keys negotiated in this join.

max_len: 2048

Field app_s_key
Type KeyEnvelope
Description

Encrypted Application Session Key (if Join Server sent it to Network Server).

Field invalidated_downlinks
Type repeated ApplicationDownlink
Description

Downlink messages in the queue that got invalidated because of the session change.

Field pending_session
Type bool
Description

Indicates whether the security context refers to the pending session, i.e. when this join-accept is an answer to a rejoin-request.

Field received_at
Type google.protobuf. Timestamp
Description

Server time when the Network Server received the message.

required

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 ApplicationLocation

Show object example
{
  "service": "",
  "location": {},
  "attributes": {},
}

Fields:

Field service
Type string
Field location
Type Location
Description

required

Field attributes
Type map of string to string
Description

max_pairs: 10

max_len (key): 36

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

max_len (value): 200

Message ApplicationServiceData

Show object example
{
  "service": "",
  "data": {},
  "locations": {},
  "version_ids": {},
  "network_ids": {},
  "attributes": {},
}

Fields:

Field service
Type string
Field data
Type google.protobuf. Struct
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 ApplicationUp

Application uplink message.

Restrictions:
  • Only one of uplink_message, uplink_normalized, join_accept, downlink_ack, downlink_nack, downlink_sent, downlink_failed, downlink_queued, downlink_queue_invalidated, location_solved, service_data can be set.
Show object example
{
  "end_device_ids": {},
  "correlation_ids": [],
  "received_at": "0001-01-01T00:00:00Z",
  "uplink_message": {},
  "uplink_normalized": {},
  "join_accept": {},
  "downlink_ack": {},
  "downlink_nack": {},
  "downlink_sent": {},
  "downlink_failed": {},
  "downlink_queued": {},
  "downlink_queue_invalidated": {},
  "location_solved": {},
  "service_data": {},
  "simulated": false,
}

Fields:

Field end_device_ids
Type EndDeviceIdentifiers
Description

required

Field correlation_ids
Type repeated string
Description

max_len: 100

Field received_at
Type google.protobuf. Timestamp
Description

Server time when the Application Server received the message.

Field uplink_message
Type ApplicationUplink
Field uplink_normalized
Type ApplicationUplinkNormalized
Field join_accept
Type ApplicationJoinAccept
Field downlink_ack
Type ApplicationDownlink
Field downlink_nack
Type ApplicationDownlink
Field downlink_sent
Type ApplicationDownlink
Field downlink_failed
Type ApplicationDownlinkFailed
Field downlink_queued
Type ApplicationDownlink
Field downlink_queue_invalidated
Type ApplicationInvalidatedDownlinks
Field location_solved
Type ApplicationLocation
Field service_data
Type ApplicationServiceData
Field simulated
Type bool
Description

Signals if the message is coming from the Network Server or is simulated. The Application Server automatically sets this field, and callers must not manually set it.

Message ApplicationUplink

Show object example
{
  "session_key_id": "",
  "f_port": 0,
  "f_cnt": 0,
  "frm_payload": "",
  "decoded_payload": {},
  "decoded_payload_warnings": [],
  "normalized_payload": [],
  "normalized_payload_warnings": [],
  "rx_metadata": [],
  "settings": {},
  "received_at": "0001-01-01T00:00:00Z",
  "app_s_key": {},
  "last_a_f_cnt_down": 0,
  "confirmed": false,
  "consumed_airtime": "0s",
  "packet_error_rate": 0,
  "locations": {},
  "version_ids": {},
  "network_ids": {},
  "last_battery_percentage": {},
  "attributes": {},
}

Fields:

Field session_key_id
Type bytes
Description

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

max_len: 2048

Field f_port
Type uint32
Description

LoRaWAN FPort of the uplink message.

lte: 255

not_in: [224]

Field f_cnt
Type uint32
Description

LoRaWAN FCntUp of the uplink message.

Field frm_payload
Type bytes
Description

The frame payload of the uplink message. The payload is still encrypted if the skip_payload_crypto field of the EndDevice is true, which is indicated by the presence of the app_s_key field.

Field decoded_payload
Type google.protobuf. Struct
Description

The decoded frame payload of the uplink message. This field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).

Field decoded_payload_warnings
Type repeated string
Description

Warnings generated by the message processor while decoding the frm_payload.

Field normalized_payload
Type repeated google.protobuf. Struct
Description

The normalized frame payload of the uplink message. This field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters). If the message processor is a custom script, there is no uplink normalizer script and the decoded output is valid normalized payload, this field contains the decoded payload.

Field normalized_payload_warnings
Type repeated string
Description

Warnings generated by the message processor while normalizing the decoded payload.

Field rx_metadata
Type repeated RxMetadata
Description

A list of metadata for each antenna of each gateway that received this message.

Field settings
Type TxSettings
Description

Transmission settings used by the end device.

required

Field received_at
Type google.protobuf. Timestamp
Description

Server time when the Network Server received the message.

Field app_s_key
Type KeyEnvelope
Description

The AppSKey of the current session. This field is only present if the skip_payload_crypto field of the EndDevice is true. Can be used to decrypt uplink payloads and encrypt downlink payloads.

Field last_a_f_cnt_down
Type uint32
Description

The last AFCntDown of the current session. This field is only present if the skip_payload_crypto field of the EndDevice is true. Can be used with app_s_key to encrypt downlink payloads.

Field confirmed
Type bool
Description

Indicates whether the end device used confirmed data uplink.

Field consumed_airtime
Type google.protobuf. Duration
Description

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

Field packet_error_rate
Type float
Description

Packet error rate of the recent uplinks in the current session. Calculated by the Network Server. The value is defined in the [0, 1] interval.

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 last_battery_percentage
Type LastBatteryPercentage
Description

Last battery percentage of the end device. Received via the DevStatus MAC command at last_dev_status_received_at or earlier. Set by the Network Server while handling 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 ApplicationUplinkNormalized

Show object example
{
  "session_key_id": "",
  "f_port": 0,
  "f_cnt": 0,
  "frm_payload": "",
  "normalized_payload": {},
  "normalized_payload_warnings": [],
  "rx_metadata": [],
  "settings": {},
  "received_at": "0001-01-01T00:00:00Z",
  "confirmed": false,
  "consumed_airtime": "0s",
  "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 uplink.

max_len: 2048

Field f_port
Type uint32
Description

LoRaWAN FPort of the uplink message.

gte: 1

lte: 255

not_in: [224]

Field f_cnt
Type uint32
Description

LoRaWAN FCntUp of the uplink message.

Field frm_payload
Type bytes
Description

The frame payload of the uplink message. This field is always decrypted with AppSKey.

Field normalized_payload
Type google.protobuf. Struct
Description

The normalized frame payload of the uplink message. This field is set for each item in normalized_payload in the corresponding ApplicationUplink message.

required

Field normalized_payload_warnings
Type repeated string
Description

This field is set to normalized_payload_warnings in the corresponding ApplicationUplink message.

Field rx_metadata
Type repeated RxMetadata
Description

A list of metadata for each antenna of each gateway that received this message.

Field settings
Type TxSettings
Description

Transmission settings used by the end device.

required

Field received_at
Type google.protobuf. Timestamp
Description

Server time when the Network Server received the message.

required

Field confirmed
Type bool
Description

Indicates whether the end device used confirmed data uplink.

Field consumed_airtime
Type google.protobuf. Duration
Description

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

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 BoolValue

Show object example
{
  "value": false,
}

Fields:

Field value
Type bool

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 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 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 GatewayAntennaIdentifiers

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

Fields:

Field gateway_ids
Type GatewayIdentifiers
Description

required

Field antenna_index
Type uint32

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 GenerateDevAddrResponse

Response of GenerateDevAddr.

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

Fields:

Field dev_addr
Type bytes
Description

ignore_empty

len: 4

Message GetDefaultMACSettingsRequest

Request of GetDefaultMACSettings.

Show object example
{
  "frequency_plan_id": "",
  "lorawan_phy_version": "PHY_UNKNOWN",
}

Fields:

Field frequency_plan_id
Type string
Description

max_len: 64

Field lorawan_phy_version
Type PHYVersion
Description

defined_only

Message GetDeviceAdressPrefixesResponse

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

Fields:

Field dev_addr_prefixes
Type repeated bytes
Description

len: 5

Message GetNetIDResponse

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

Fields:

Field net_id
Type bytes
Description

ignore_empty

len: 3

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 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 ErrorDetails

Error details that are communicated over gRPC (and HTTP) APIs. The messages (for translation) are stored as “error::”.

Show object example
{
  "namespace": "",
  "name": "",
  "message_format": "",
  "attributes": {},
  "correlation_id": "",
  "cause": {},
  "code": 0,
  "details": [],
}

Fields:

Field namespace
Type string
Description

Namespace of the error (typically the package name in The Things Stack).

Field name
Type string
Description

Name of the error.

Field message_format
Type string
Description

The default (fallback) message format that should be used for the error. This is also used if the client does not have a translation for the error.

Field attributes
Type google.protobuf. Struct
Description

Attributes that should be filled into the message format. Any extra attributes can be displayed as error details.

Field correlation_id
Type string
Description

The correlation ID of the error can be used to correlate the error to stack traces the network may (or may not) store about recent errors.

Field cause
Type ErrorDetails
Description

The error that caused this error.

Field code
Type uint32
Description

The status code of the error.

Field details
Type repeated google.protobuf. Any
Description

The details of the error.

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 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 FrequencyValue

Show object example
{
  "value": 0,
}

Fields:

Field value
Type uint64
Description

gte: 100000

Message FSKDataRate

Show object example
{
  "bit_rate": 0,
}

Fields:

Field bit_rate
Type uint32
Description

Bit rate (bps).

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 JoinRequest

Show object example
{
  "raw_payload": "",
  "payload": {},
  "dev_addr": "",
  "selected_mac_version": "MAC_UNKNOWN",
  "net_id": "",
  "downlink_settings": {},
  "rx_delay": "RX_DELAY_0",
  "cf_list": {},
  "correlation_ids": [],
  "consumed_airtime": "0s",
}

Fields:

Field raw_payload
Type bytes
Description

len: 23

Field payload
Type Message
Field dev_addr
Type bytes
Description

ignore_empty

len: 4

Field selected_mac_version
Type MACVersion
Field net_id
Type bytes
Description

ignore_empty

len: 3

Field downlink_settings
Type DLSettings
Description

required

Field rx_delay
Type RxDelay
Description

defined_only

Field cf_list
Type CFList
Description

Optional CFList.

Field correlation_ids
Type repeated string
Description

max_len: 100

Field consumed_airtime
Type google.protobuf. Duration
Description

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

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 JoinResponse

Show object example
{
  "raw_payload": "",
  "session_keys": {},
  "lifetime": "0s",
  "correlation_ids": [],
}

Fields:

Field raw_payload
Type bytes
Description

max_len: 33

min_len: 17

Field session_keys
Type SessionKeys
Description

required

Field lifetime
Type google.protobuf. Duration
Field correlation_ids
Type repeated string
Description

max_len: 100

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 LastBatteryPercentage

Show object example
{
  "f_cnt": 0,
  "value": null,
  "received_at": "0001-01-01T00:00:00Z",
}

Fields:

Field f_cnt
Type uint32
Description

Frame counter value of last uplink containing DevStatusAns.

Field value
Type google.protobuf. FloatValue
Description

The battery percentage of the end device. The value is defined in the [0, 100] interval.

gte: 0

lte: 100

Field received_at
Type google.protobuf. Timestamp
Description

Time when last DevStatus MAC command was received.

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 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 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 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 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 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 NsAsHandleUplinkRequest

Container for multiple Application uplink messages.

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

Fields:

Field application_ups
Type repeated ApplicationUp
Description

min_items: 1

Message NwkSKeysResponse

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

Fields:

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).

required

Field s_nwk_s_int_key
Type KeyEnvelope
Description

The (encrypted) Serving Network Session Integrity Key.

required

Field nwk_s_enc_key
Type KeyEnvelope
Description

The (encrypted) Network Session Encryption Key.

required

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 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 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 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 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

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 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 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 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 SessionKeyRequest

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

Fields:

Field session_key_id
Type bytes
Description

Join Server issued identifier for the session keys.

max_len: 2048

Field dev_eui
Type bytes
Description

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

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 ScheduleDownlinkResponse

Show object example
{
  "delay": "0s",
  "downlink_path": {},
  "rx1": false,
  "rx2": false,
}

Fields:

Field delay
Type google.protobuf. Duration
Description

The amount of time between the message has been scheduled and it will be transmitted by the gateway.

Field downlink_path
Type DownlinkPath
Description

Downlink path chosen by the Gateway Server.

Field rx1
Type bool
Description

Whether RX1 has been chosen for the downlink message. Both RX1 and RX2 can be used for transmitting the same message by the same gateway.

Field rx2
Type bool
Description

Whether RX2 has been chosen for the downlink message. Both RX1 and RX2 can be used for transmitting the same message by the same gateway.

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 ZeroableFrequencyValue

Show object example
{
  "value": 0,
}

Fields:

Field value
Type uint64
Description

gte: 100000

lte: 0

Enums

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 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 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 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 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 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 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 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 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 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 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

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 RelayWORChannel

Name Value Description
RELAY_WOR_CHANNEL_DEFAULT 0
RELAY_WOR_CHANNEL_SECONDARY 1

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 TxSchedulePriority

Name Value Description
LOWEST 0
LOW 1
BELOW_NORMAL 2
NORMAL 3
ABOVE_NORMAL 4
HIGH 5
HIGHEST 6
← Network Operations Center APIs Organization APIs →

On this page

  • The Ns service
  • The NsAs service
  • The NsGs service
  • The NsJs service
  • The NsPba 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