This page lists all the message definitions used by The Things Stack APIs.
ADRSettingsDynamicMode
Fields
Name | Type | Description |
---|---|---|
channel_steering |
object | EXPERIMENTAL: Channel steering settings. |
margin |
number | 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. |
max_data_rate_index |
object | |
max_nb_trans |
integer | Maximum number of retransmissions. If unset, the default value from Network Server configuration will be used. |
max_tx_power_index |
integer | Maximum transmission power index. If unset, the default value from Network Server configuration will be used. |
min_data_rate_index |
object | |
min_nb_trans |
integer | Minimum number of retransmissions. If unset, the default value from Network Server configuration will be used. |
min_tx_power_index |
integer | Minimum transmission power index. If unset, the default value from Network Server configuration will be used. |
overrides |
object | EXPERIMENTAL: Configuration overrides. |
Schema
{
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ADRSettingsStaticMode
Fields
Name | Type | Description |
---|---|---|
data_rate_index |
string | |
nb_trans |
integer | Number of retransmissions. |
tx_power_index |
integer | Transmission power index to use. |
Schema
{
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
AWSIoTProviderAccessKey
Fields
Name | Type | Description |
---|---|---|
access_key_id |
string | |
secret_access_key |
string | |
session_token |
string |
Schema
{
"access_key_id": {
"type": "string"
},
"secret_access_key": {
"type": "string"
},
"session_token": {
"type": "string"
}
}
Show the schema of the message in JSON format.
AWSIoTProviderAssumeRole
Fields
Name | Type | Description |
---|---|---|
arn |
string | |
external_id |
string | |
session_duration |
string |
Schema
{
"arn": {
"type": "string"
},
"external_id": {
"type": "string"
},
"session_duration": {
"type": "string"
}
}
Show the schema of the message in JSON format.
AWSIoTProviderDefaultIntegration
Fields
Name | Type | Description |
---|---|---|
stack_name |
string | The stack name that is associated with the CloudFormation deployment of The Things Stack Enterprise integration. |
Schema
{
"stack_name": {
"description": "The stack name that is associated with the CloudFormation deployment of The Things Stack Enterprise integration.",
"type": "string"
}
}
Show the schema of the message in JSON format.
AlertNotificationReceiverSMS
Fields
Name | Type | Description |
---|---|---|
phone_number |
string | According to the international phone numbering plan (ITU-T E. 164) phone numbers cannot contain less than 7 digits and more than 15 digits. The validation is done via an regex and accounts for the '+' formating character. |
Schema
{
"phone_number": {
"description": "According to the international phone numbering plan (ITU-T E. 164)\nphone numbers cannot contain less than 7 digits and more than 15 digits.\nThe validation is done via an regex and accounts for the '+' formating character.",
"type": "string"
}
}
Show the schema of the message in JSON format.
AlertNotificationReceiverWebhook
Fields
Name | Type | Description |
---|---|---|
headers |
object | |
url |
string |
Schema
{
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"url": {
"type": "string"
}
}
Show the schema of the message in JSON format.
AppAsDecodeDownlinkBody
Fields
Name | Type | Description |
---|---|---|
downlink |
object | |
end_device_ids |
object | |
formatter |
string | - FORMATTER_NONE: No payload formatter to work with raw payload only. - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository. - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service. - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename. - FORMATTER_CAYENNELPP: CayenneLPP payload formatter. More payload formatters can be added. |
parameter |
string | |
version_ids |
object | Identifies an end device model with version information. |
Schema
{
"downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"parameter": {
"type": "string"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AppAsDecodeUplinkBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
formatter |
string | - FORMATTER_NONE: No payload formatter to work with raw payload only. - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository. - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service. - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename. - FORMATTER_CAYENNELPP: CayenneLPP payload formatter. More payload formatters can be added. |
parameter |
string | |
uplink |
object | |
version_ids |
object | Identifies an end device model with version information. |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"parameter": {
"type": "string"
},
"uplink": {
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"confirmed": {
"description": "Indicates whether the end device used confirmed data uplink.",
"type": "boolean"
},
"consumed_airtime": {
"description": "Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings.",
"type": "string"
},
"decoded_payload": {
"description": "The decoded frame payload of the uplink message.\nThis field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while decoding the frm_payload.",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"description": "LoRaWAN FCntUp of the uplink message.",
"format": "int64",
"type": "integer"
},
"f_port": {
"description": "LoRaWAN FPort of the uplink message.",
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the uplink message.\nThe payload is still encrypted if the skip_payload_crypto field of the EndDevice\nis true, which is indicated by the presence of the app_s_key field.",
"format": "byte",
"type": "string"
},
"last_a_f_cnt_down": {
"description": "The last AFCntDown of the current session.\nThis field is only present if the skip_payload_crypto field of the EndDevice\nis true.\nCan be used with app_s_key to encrypt downlink payloads.",
"format": "int64",
"type": "integer"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "End device location metadata, set by the Application Server while handling the message.",
"type": "object"
},
"network_ids": {
"description": "Identifies a Network Server.",
"properties": {
"cluster_address": {
"description": "Cluster address of the Network Server.",
"type": "string"
},
"cluster_id": {
"description": "Cluster identifier of the Network Server.",
"type": "string"
},
"net_id": {
"description": "LoRa Alliance NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"description": "LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"tenant_address": {
"description": "Optional tenant address for multi-tenant deployments.",
"type": "string"
},
"tenant_id": {
"description": "Optional tenant identifier for multi-tenant deployments.",
"type": "string"
}
},
"type": "object"
},
"normalized_payload": {
"description": "The normalized frame payload of the uplink message.\nThis field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).\nIf the message processor is a custom script, there is no uplink normalizer script and the decoded output is valid\nnormalized payload, this field contains the decoded payload.",
"items": {
"type": "object"
},
"type": "array"
},
"normalized_payload_warnings": {
"description": "Warnings generated by the message processor while normalizing the decoded payload.",
"items": {
"type": "string"
},
"type": "array"
},
"packet_error_rate": {
"description": "Packet error rate of the recent uplinks in the current session.\nCalculated by the Network Server. The value is defined in the [0, 1] interval.",
"format": "float",
"type": "number"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"description": "A list of metadata for each antenna of each gateway that received this message.",
"items": {
"description": "Contains metadata for a received message. Each antenna that receives\na message corresponds to one RxMetadata.",
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_index": {
"format": "int64",
"type": "integer"
},
"channel_index": {
"description": "Index of the gateway channel that received the message.",
"format": "int64",
"type": "integer"
},
"channel_rssi": {
"description": "Received signal strength indicator of the channel (dBm).",
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"encrypted_fine_timestamp": {
"description": "Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "byte",
"type": "string"
},
"encrypted_fine_timestamp_key_id": {
"type": "string"
},
"fine_timestamp": {
"description": "Gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "uint64",
"type": "string"
},
"frequency_drift": {
"description": "Frequency drift in Hz between start and end of an LR-FHSS packet (signed).",
"format": "int32",
"type": "integer"
},
"frequency_offset": {
"description": "Frequency offset (Hz).",
"format": "int64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"gps_time": {
"description": "Timestamp at the end of the transmission, provided by the gateway.\nGuaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.",
"format": "date-time",
"type": "string"
},
"hopping_width": {
"description": "Hopping width; a number describing the number of steps of the LR-FHSS grid.",
"format": "int64",
"type": "integer"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"properties": {
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Timestamp at which the Gateway Server has received the message.",
"format": "date-time",
"type": "string"
},
"relay": {
"properties": {
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"description": "Received signal strength indicator (dBm).\nThis value equals `channel_rssi`.",
"format": "float",
"type": "number"
},
"rssi_standard_deviation": {
"description": "Standard deviation of the RSSI during preamble.",
"format": "float",
"type": "number"
},
"signal_rssi": {
"description": "Received signal strength indicator of the signal (dBm).",
"format": "float",
"type": "number"
},
"snr": {
"description": "Signal-to-noise ratio (dB).",
"format": "float",
"type": "number"
},
"time": {
"description": "Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Gateway concentrator timestamp when the Rx finished (microseconds).",
"format": "int64",
"type": "integer"
},
"uplink_token": {
"description": "Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this uplink.",
"format": "byte",
"type": "string"
},
"settings": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AppAsEncodeDownlinkBody
Fields
Name | Type | Description |
---|---|---|
downlink |
object | |
end_device_ids |
object | |
formatter |
string | - FORMATTER_NONE: No payload formatter to work with raw payload only. - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository. - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service. - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename. - FORMATTER_CAYENNELPP: CayenneLPP payload formatter. More payload formatters can be added. |
parameter |
string | |
version_ids |
object | Identifies an end device model with version information. |
Schema
{
"downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"parameter": {
"type": "string"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AppAsSimulateUplinkBody
Fields
Name | Type | Description |
---|---|---|
correlation_ids |
string | |
downlink_ack |
object | |
downlink_failed |
object | |
downlink_nack |
object | |
downlink_queue_invalidated |
object | |
downlink_queued |
object | |
downlink_sent |
object | |
end_device_ids |
object | |
join_accept |
object | |
location_solved |
object | |
received_at |
string | Server time when the Application Server received the message. |
service_data |
object | |
simulated |
boolean | 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. |
uplink_message |
object | |
uplink_normalized |
object |
Schema
{
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"downlink_ack": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"downlink_failed": {
"properties": {
"downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"error": {
"$ref": "#/definitions/v3ErrorDetails"
}
},
"type": "object"
},
"downlink_nack": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"downlink_queue_invalidated": {
"properties": {
"downlinks": {
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"last_f_cnt_down": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"downlink_queued": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"downlink_sent": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_accept": {
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"invalidated_downlinks": {
"description": "Downlink messages in the queue that got invalidated because of the session change.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"pending_session": {
"description": "Indicates whether the security context refers to the pending session, i.e. when this join-accept is an answer to a\nrejoin-request.",
"type": "boolean"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys negotiated in this join.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"location_solved": {
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"service": {
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Server time when the Application Server received the message.",
"format": "date-time",
"type": "string"
},
"service_data": {
"properties": {
"data": {
"type": "object"
},
"service": {
"type": "string"
}
},
"type": "object"
},
"simulated": {
"description": "Signals if the message is coming from the Network Server or is simulated.\nThe Application Server automatically sets this field, and callers must not manually set it.",
"type": "boolean"
},
"uplink_message": {
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"confirmed": {
"description": "Indicates whether the end device used confirmed data uplink.",
"type": "boolean"
},
"consumed_airtime": {
"description": "Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings.",
"type": "string"
},
"decoded_payload": {
"description": "The decoded frame payload of the uplink message.\nThis field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while decoding the frm_payload.",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"description": "LoRaWAN FCntUp of the uplink message.",
"format": "int64",
"type": "integer"
},
"f_port": {
"description": "LoRaWAN FPort of the uplink message.",
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the uplink message.\nThe payload is still encrypted if the skip_payload_crypto field of the EndDevice\nis true, which is indicated by the presence of the app_s_key field.",
"format": "byte",
"type": "string"
},
"last_a_f_cnt_down": {
"description": "The last AFCntDown of the current session.\nThis field is only present if the skip_payload_crypto field of the EndDevice\nis true.\nCan be used with app_s_key to encrypt downlink payloads.",
"format": "int64",
"type": "integer"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "End device location metadata, set by the Application Server while handling the message.",
"type": "object"
},
"network_ids": {
"description": "Identifies a Network Server.",
"properties": {
"cluster_address": {
"description": "Cluster address of the Network Server.",
"type": "string"
},
"cluster_id": {
"description": "Cluster identifier of the Network Server.",
"type": "string"
},
"net_id": {
"description": "LoRa Alliance NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"description": "LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"tenant_address": {
"description": "Optional tenant address for multi-tenant deployments.",
"type": "string"
},
"tenant_id": {
"description": "Optional tenant identifier for multi-tenant deployments.",
"type": "string"
}
},
"type": "object"
},
"normalized_payload": {
"description": "The normalized frame payload of the uplink message.\nThis field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).\nIf the message processor is a custom script, there is no uplink normalizer script and the decoded output is valid\nnormalized payload, this field contains the decoded payload.",
"items": {
"type": "object"
},
"type": "array"
},
"normalized_payload_warnings": {
"description": "Warnings generated by the message processor while normalizing the decoded payload.",
"items": {
"type": "string"
},
"type": "array"
},
"packet_error_rate": {
"description": "Packet error rate of the recent uplinks in the current session.\nCalculated by the Network Server. The value is defined in the [0, 1] interval.",
"format": "float",
"type": "number"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"description": "A list of metadata for each antenna of each gateway that received this message.",
"items": {
"description": "Contains metadata for a received message. Each antenna that receives\na message corresponds to one RxMetadata.",
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_index": {
"format": "int64",
"type": "integer"
},
"channel_index": {
"description": "Index of the gateway channel that received the message.",
"format": "int64",
"type": "integer"
},
"channel_rssi": {
"description": "Received signal strength indicator of the channel (dBm).",
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"encrypted_fine_timestamp": {
"description": "Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "byte",
"type": "string"
},
"encrypted_fine_timestamp_key_id": {
"type": "string"
},
"fine_timestamp": {
"description": "Gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "uint64",
"type": "string"
},
"frequency_drift": {
"description": "Frequency drift in Hz between start and end of an LR-FHSS packet (signed).",
"format": "int32",
"type": "integer"
},
"frequency_offset": {
"description": "Frequency offset (Hz).",
"format": "int64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"gps_time": {
"description": "Timestamp at the end of the transmission, provided by the gateway.\nGuaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.",
"format": "date-time",
"type": "string"
},
"hopping_width": {
"description": "Hopping width; a number describing the number of steps of the LR-FHSS grid.",
"format": "int64",
"type": "integer"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"properties": {
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Timestamp at which the Gateway Server has received the message.",
"format": "date-time",
"type": "string"
},
"relay": {
"properties": {
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"description": "Received signal strength indicator (dBm).\nThis value equals `channel_rssi`.",
"format": "float",
"type": "number"
},
"rssi_standard_deviation": {
"description": "Standard deviation of the RSSI during preamble.",
"format": "float",
"type": "number"
},
"signal_rssi": {
"description": "Received signal strength indicator of the signal (dBm).",
"format": "float",
"type": "number"
},
"snr": {
"description": "Signal-to-noise ratio (dB).",
"format": "float",
"type": "number"
},
"time": {
"description": "Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Gateway concentrator timestamp when the Rx finished (microseconds).",
"format": "int64",
"type": "integer"
},
"uplink_token": {
"description": "Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this uplink.",
"format": "byte",
"type": "string"
},
"settings": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"uplink_normalized": {
"properties": {
"confirmed": {
"description": "Indicates whether the end device used confirmed data uplink.",
"type": "boolean"
},
"consumed_airtime": {
"description": "Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings.",
"type": "string"
},
"f_cnt": {
"description": "LoRaWAN FCntUp of the uplink message.",
"format": "int64",
"type": "integer"
},
"f_port": {
"description": "LoRaWAN FPort of the uplink message.",
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the uplink message.\nThis field is always decrypted with AppSKey.",
"format": "byte",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "End device location metadata, set by the Application Server while handling the message.",
"type": "object"
},
"network_ids": {
"description": "Identifies a Network Server.",
"properties": {
"cluster_address": {
"description": "Cluster address of the Network Server.",
"type": "string"
},
"cluster_id": {
"description": "Cluster identifier of the Network Server.",
"type": "string"
},
"net_id": {
"description": "LoRa Alliance NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"description": "LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"tenant_address": {
"description": "Optional tenant address for multi-tenant deployments.",
"type": "string"
},
"tenant_id": {
"description": "Optional tenant identifier for multi-tenant deployments.",
"type": "string"
}
},
"type": "object"
},
"normalized_payload": {
"description": "The normalized frame payload of the uplink message.\nThis field is set for each item in normalized_payload in the corresponding ApplicationUplink message.",
"type": "object"
},
"normalized_payload_warnings": {
"description": "This field is set to normalized_payload_warnings in the corresponding ApplicationUplink message.",
"items": {
"type": "string"
},
"type": "array"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"description": "A list of metadata for each antenna of each gateway that received this message.",
"items": {
"description": "Contains metadata for a received message. Each antenna that receives\na message corresponds to one RxMetadata.",
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_index": {
"format": "int64",
"type": "integer"
},
"channel_index": {
"description": "Index of the gateway channel that received the message.",
"format": "int64",
"type": "integer"
},
"channel_rssi": {
"description": "Received signal strength indicator of the channel (dBm).",
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"encrypted_fine_timestamp": {
"description": "Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "byte",
"type": "string"
},
"encrypted_fine_timestamp_key_id": {
"type": "string"
},
"fine_timestamp": {
"description": "Gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "uint64",
"type": "string"
},
"frequency_drift": {
"description": "Frequency drift in Hz between start and end of an LR-FHSS packet (signed).",
"format": "int32",
"type": "integer"
},
"frequency_offset": {
"description": "Frequency offset (Hz).",
"format": "int64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"gps_time": {
"description": "Timestamp at the end of the transmission, provided by the gateway.\nGuaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.",
"format": "date-time",
"type": "string"
},
"hopping_width": {
"description": "Hopping width; a number describing the number of steps of the LR-FHSS grid.",
"format": "int64",
"type": "integer"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"properties": {
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Timestamp at which the Gateway Server has received the message.",
"format": "date-time",
"type": "string"
},
"relay": {
"properties": {
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"description": "Received signal strength indicator (dBm).\nThis value equals `channel_rssi`.",
"format": "float",
"type": "number"
},
"rssi_standard_deviation": {
"description": "Standard deviation of the RSSI during preamble.",
"format": "float",
"type": "number"
},
"signal_rssi": {
"description": "Received signal strength indicator of the signal (dBm).",
"format": "float",
"type": "number"
},
"snr": {
"description": "Signal-to-noise ratio (dB).",
"format": "float",
"type": "number"
},
"time": {
"description": "Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Gateway concentrator timestamp when the Rx finished (microseconds).",
"format": "int64",
"type": "integer"
},
"uplink_token": {
"description": "Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this uplink.",
"format": "byte",
"type": "string"
},
"settings": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationDownlinkClassBC
Fields
Name | Type | Description |
---|---|---|
absolute_time |
string | 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. |
gateways |
object | 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. |
Schema
{
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationDownlinkConfirmedRetry
Fields
Name | Type | Description |
---|---|---|
attempt |
integer | The number of attempted confirmed downlink acknowledgements. |
max_attempts |
integer | The maximum number of confirmed downlink acknowledgement attempts. If null, the Application Server configuration is used instead. |
Schema
{
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
ApplicationPackageRegistrySetAssociationBody
Fields
Name | Type | Description |
---|---|---|
association |
object | |
field_mask |
string |
Schema
{
"association": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"data": {
"type": "object"
},
"ids": {
"properties": {
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"package_name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationPackageRegistrySetDefaultAssociationBody
Fields
Name | Type | Description |
---|---|---|
default |
object | |
field_mask |
string |
Schema
{
"default": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"data": {
"type": "object"
},
"ids": {
"properties": {
"application_ids": {
"type": "object"
}
},
"type": "object"
},
"package_name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationPubSubAWSIoTProvider
Fields
Name | Type | Description |
---|---|---|
access_key |
object | |
assume_role |
object | |
default |
object | |
endpoint_address |
string | The endpoint address to connect to. If the endpoint address is left empty, the integration will try to discover it. |
region |
string | The AWS region. |
Schema
{
"access_key": {
"properties": {
"access_key_id": {
"type": "string"
},
"secret_access_key": {
"type": "string"
},
"session_token": {
"type": "string"
}
},
"type": "object"
},
"assume_role": {
"properties": {
"arn": {
"type": "string"
},
"external_id": {
"type": "string"
},
"session_duration": {
"type": "string"
}
},
"type": "object"
},
"default": {
"properties": {
"stack_name": {
"description": "The stack name that is associated with the CloudFormation deployment of The Things Stack Enterprise integration.",
"type": "string"
}
},
"type": "object"
},
"endpoint_address": {
"description": "The endpoint address to connect to. If the endpoint address is left empty,\nthe integration will try to discover it.",
"type": "string"
},
"region": {
"description": "The AWS region.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationPubSubMQTTProvider
Fields
Name | Type | Description |
---|---|---|
client_id |
string | |
headers |
object | HTTP headers to use on MQTT-over-Websocket connections. |
password |
string | |
publish_qos |
string | |
server_url |
string | |
subscribe_qos |
string | |
tls_ca |
string | The server Root CA certificate. PEM formatted. |
tls_client_cert |
string | The client certificate. PEM formatted. |
tls_client_key |
string | The client private key. PEM formatted. |
use_tls |
boolean | |
username |
string |
Schema
{
"client_id": {
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers to use on MQTT-over-Websocket connections.",
"type": "object"
},
"password": {
"type": "string"
},
"publish_qos": {
"default": "AT_MOST_ONCE",
"enum": [
"AT_MOST_ONCE",
"AT_LEAST_ONCE",
"EXACTLY_ONCE"
],
"type": "string"
},
"server_url": {
"type": "string"
},
"subscribe_qos": {
"default": "AT_MOST_ONCE",
"enum": [
"AT_MOST_ONCE",
"AT_LEAST_ONCE",
"EXACTLY_ONCE"
],
"type": "string"
},
"tls_ca": {
"description": "The server Root CA certificate. PEM formatted.",
"format": "byte",
"type": "string"
},
"tls_client_cert": {
"description": "The client certificate. PEM formatted.",
"format": "byte",
"type": "string"
},
"tls_client_key": {
"description": "The client private key. PEM formatted.",
"format": "byte",
"type": "string"
},
"use_tls": {
"type": "boolean"
},
"username": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationPubSubNATSProvider
Fields
Name | Type | Description |
---|---|---|
server_url |
string | The server connection URL. |
Schema
{
"server_url": {
"description": "The server connection URL.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookHealthWebhookHealthStatusHealthy
ApplicationWebhookHealthWebhookHealthStatusUnhealthy
Fields
Name | Type | Description |
---|---|---|
failed_attempts |
string | |
last_failed_attempt_at |
string | |
last_failed_attempt_details |
ErrorDetails |
Schema
{
"failed_attempts": {
"format": "uint64",
"type": "string"
},
"last_failed_attempt_at": {
"format": "date-time",
"type": "string"
},
"last_failed_attempt_details": {
"$ref": "#/definitions/v3ErrorDetails"
}
}
Show the schema of the message in JSON format.
AsConfigurationPubSub
Fields
Name | Type | Description |
---|---|---|
providers |
object |
Schema
{
"providers": {
"properties": {
"mqtt": {
"default": "ENABLED",
"description": " - ENABLED: No restrictions are in place.\n - WARNING: Warnings are being emitted that the provider will be deprecated in the future.\n - DISABLED: New integrations cannot be set up, and old ones do not start.",
"enum": [
"ENABLED",
"WARNING",
"DISABLED"
],
"type": "string"
},
"nats": {
"default": "ENABLED",
"description": " - ENABLED: No restrictions are in place.\n - WARNING: Warnings are being emitted that the provider will be deprecated in the future.\n - DISABLED: New integrations cannot be set up, and old ones do not start.",
"enum": [
"ENABLED",
"WARNING",
"DISABLED"
],
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AsSetLinkBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
field_mask |
string | |
link |
object |
Schema
{
"application_ids": {
"type": "object"
},
"field_mask": {
"type": "string"
},
"link": {
"properties": {
"default_formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nLeave empty for the using the Application Server's default setting.",
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AuthInfoResponseAPIKeyAccess
Fields
Name | Type | Description |
---|---|---|
api_key |
object | |
entity_ids |
object | EntityIdentifiers contains one of the possible entity identifiers. |
Schema
{
"api_key": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"id": {
"description": "Immutable and unique public identifier for the API key.\nGenerated by the Access Server.",
"type": "string"
},
"key": {
"description": "Immutable and unique secret value of the API key.\nGenerated by the Access Server.",
"type": "string"
},
"name": {
"description": "User-defined (friendly) name for the API key.",
"type": "string"
},
"rights": {
"description": "Rights that are granted to this API key.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"entity_ids": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AuthenticationProviderOIDC
Fields
Name | Type | Description |
---|---|---|
client_id |
string | |
client_secret |
string | |
provider_url |
string |
Schema
{
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"provider_url": {
"type": "string"
}
}
Show the schema of the message in JSON format.
AzureIoTHubServiceSubmitBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
events |
object |
Schema
{
"application_ids": {
"type": "object"
},
"events": {
"items": {
"properties": {
"body": {
"type": "object"
},
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"properties": {
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
BandDescriptionBandDataRate
Fields
Name | Type | Description |
---|---|---|
rate |
object |
Schema
{
"rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
BandDescriptionBeacon
Fields
Name | Type | Description |
---|---|---|
coding_rate |
string | |
data_rate_index |
string | |
frequencies |
string |
Schema
{
"coding_rate": {
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequencies": {
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
BandDescriptionDwellTime
Fields
Name | Type | Description |
---|---|---|
downlinks |
boolean | |
uplinks |
boolean |
Schema
{
"downlinks": {
"type": "boolean"
},
"uplinks": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
BandDescriptionRelayParametersRelayWORChannel
Fields
Name | Type | Description |
---|---|---|
ack_frequency |
string | |
data_rate_index |
string | |
frequency |
string |
Schema
{
"ack_frequency": {
"format": "uint64",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
BandDescriptionRx2Parameters
Fields
Name | Type | Description |
---|---|---|
data_rate_index |
string | |
frequency |
string |
Schema
{
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
BandDescriptionSubBandParameters
Fields
Name | Type | Description |
---|---|---|
duty_cycle |
number | |
max_eirp |
number | |
max_frequency |
string | |
min_frequency |
string |
Schema
{
"duty_cycle": {
"format": "float",
"type": "number"
},
"max_eirp": {
"format": "float",
"type": "number"
},
"max_frequency": {
"format": "uint64",
"type": "string"
},
"min_frequency": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
BatchUpdateEndDeviceLastSeenRequestEndDeviceLastSeenUpdate
Fields
Name | Type | Description |
---|---|---|
ids |
object | |
last_seen_at |
string |
Schema
{
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"last_seen_at": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
BillingAWSSaaSMarketplace
Fields
Name | Type | Description |
---|---|---|
customer_identifier |
string | |
product_code |
string |
Schema
{
"customer_identifier": {
"type": "string"
},
"product_code": {
"type": "string"
}
}
Show the schema of the message in JSON format.
BillingStripe
Fields
Name | Type | Description |
---|---|---|
customer_id |
string | |
plan_id |
string | |
subscription_id |
string | |
subscription_item_id |
string |
Schema
{
"customer_id": {
"type": "string"
},
"plan_id": {
"type": "string"
},
"subscription_id": {
"type": "string"
},
"subscription_item_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
CUPSRedirectionClientTLS
Fields
Name | Type | Description |
---|---|---|
cert |
string | PEM encoded Client Certificate. |
key |
string | PEM encoded Client Private Key. |
Schema
{
"cert": {
"description": "PEM encoded Client Certificate.",
"format": "byte",
"type": "string"
},
"key": {
"description": "PEM encoded Client Private Key.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
ChannelSteeringSettingsLoRaNarrowMode
ClusterAlertRoutingServer
Fields
Name | Type | Description |
---|---|---|
routing |
object |
Schema
{
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ClusterAlertRoutingServerRouting
Fields
Name | Type | Description |
---|---|---|
enabled |
boolean |
Schema
{
"enabled": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ClusterApplicationServer
Fields
Name | Type | Description |
---|---|---|
webhooks |
object |
Schema
{
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ClusterApplicationServerWebhooks
Fields
Name | Type | Description |
---|---|---|
queue |
object |
Schema
{
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ClusterApplicationServerWebhooksQueue
Fields
Name | Type | Description |
---|---|---|
enabled |
boolean |
Schema
{
"enabled": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ClusterGatewayServer
Fields
Name | Type | Description |
---|---|---|
mtls_authentication |
object |
Schema
{
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServer
Fields
Name | Type | Description |
---|---|---|
admin_rights |
object | |
application_limits |
object | |
email |
object | |
end_device_picture |
object | |
organization_limits |
object | |
profile_picture |
object | |
user_limits |
object | |
user_login |
object | |
user_registration |
object | |
user_rights |
object |
Schema
{
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerAdminRights
Fields
Name | Type | Description |
---|---|---|
all |
boolean |
Schema
{
"all": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerApplicationLimits
Fields
Name | Type | Description |
---|---|---|
end_devices |
string |
Schema
{
"end_devices": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerEmail
Fields
Name | Type | Description |
---|---|---|
network |
object |
Schema
{
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerEndDevicePicture
Fields
Name | Type | Description |
---|---|---|
disable_upload |
boolean |
Schema
{
"disable_upload": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerOrganizationLimits
Fields
Name | Type | Description |
---|---|---|
applications |
string | |
clients |
string | |
gateways |
string |
Schema
{
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerProfilePicture
Fields
Name | Type | Description |
---|---|---|
disable_upload |
boolean | |
use_gravatar |
boolean |
Schema
{
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerUserLimits
Fields
Name | Type | Description |
---|---|---|
applications |
string | |
clients |
string | |
gateways |
string | |
organizations |
string |
Schema
{
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerUserLogin
Fields
Name | Type | Description |
---|---|---|
disable_credentials_login |
boolean |
Schema
{
"disable_credentials_login": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerUserRegistration
Fields
Name | Type | Description |
---|---|---|
admin_approval |
object | |
contact_info_validation |
object | |
enabled |
boolean | |
invitation |
object | |
password_requirements |
object |
Schema
{
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerUserRegistrationAdminApproval
Fields
Name | Type | Description |
---|---|---|
required |
boolean |
Schema
{
"required": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerUserRegistrationContactInfoValidation
Fields
Name | Type | Description |
---|---|---|
required |
boolean |
Schema
{
"required": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerUserRegistrationInvitation
Fields
Name | Type | Description |
---|---|---|
required |
boolean | |
token_ttl |
string |
Schema
{
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerUserRegistrationPasswordRequirements
Fields
Name | Type | Description |
---|---|---|
max_length |
integer | |
min_digits |
integer | |
min_length |
integer | |
min_special |
integer | |
min_uppercase |
integer |
Schema
{
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
ClusterIdentityServerUserRights
Fields
Name | Type | Description |
---|---|---|
create_applications |
boolean | |
create_clients |
boolean | |
create_gateways |
boolean | |
create_organizations |
boolean | |
update_name |
boolean | |
update_primary_email_address |
boolean |
Schema
{
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ClusterJoinServer
Fields
Name | Type | Description |
---|---|---|
join_eui_prefixes |
string |
Schema
{
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ClusterNetworkOperationsCenter
Fields
Name | Type | Description |
---|---|---|
access |
object |
Schema
{
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ClusterNetworkOperationsCenterAccess
Fields
Name | Type | Description |
---|---|---|
extended |
boolean |
Schema
{
"extended": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ClusterNetworkServer
Fields
Name | Type | Description |
---|---|---|
cooldown_window |
string | |
deduplication_window |
string | |
dev_addr_prefixes |
string | |
net_id |
string | |
ns_id |
string |
Schema
{
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
CompliancesCompliance
Fields
Name | Type | Description |
---|---|---|
body |
string | |
norm |
string | |
standard |
string | |
version |
string |
Schema
{
"body": {
"type": "string"
},
"norm": {
"type": "string"
},
"standard": {
"type": "string"
},
"version": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ConcentratorConfigFSKChannel
Fields
Name | Type | Description |
---|---|---|
frequency |
string | Frequency (Hz). |
radio |
integer |
Schema
{
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"radio": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
ConcentratorConfigLBTConfiguration
Fields
Name | Type | Description |
---|---|---|
rssi_offset |
number | Received signal strength offset (dBm). |
rssi_target |
number | Received signal strength (dBm). |
scan_time |
string |
Schema
{
"rssi_offset": {
"description": "Received signal strength offset (dBm).",
"format": "float",
"type": "number"
},
"rssi_target": {
"description": "Received signal strength (dBm).",
"format": "float",
"type": "number"
},
"scan_time": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ConcentratorConfigLoRaStandardChannel
Fields
Name | Type | Description |
---|---|---|
bandwidth |
integer | Bandwidth (Hz). |
frequency |
string | Frequency (Hz). |
radio |
integer | |
spreading_factor |
integer |
Schema
{
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"radio": {
"format": "int64",
"type": "integer"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
ConfigurationCluster
Fields
Name | Type | Description |
---|---|---|
ars |
object | |
as |
object | |
gs |
object | |
is |
object | |
js |
object | |
noc |
object | |
ns |
object | |
ui |
object |
Schema
{
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ConfigurationPacketBroker
Fields
Name | Type | Description |
---|---|---|
listed |
boolean | Indicates whether the Home Network is publicly listed. |
Schema
{
"listed": {
"description": "Indicates whether the Home Network is publicly listed.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ConfigurationUI
Fields
Name | Type | Description |
---|---|---|
branding_base_url |
string |
Schema
{
"branding_base_url": {
"type": "string"
}
}
Show the schema of the message in JSON format.
DownlinkMessageMessageMACPayload
Fields
Name | Type | Description |
---|---|---|
f_port |
integer | |
full_f_cnt |
integer |
Schema
{
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
DownlinkMessageMessageMHDR
Fields
Name | Type | Description |
---|---|---|
m_type |
string |
Schema
{
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
DynamicModeChannelSteeringSettings
Fields
Name | Type | Description |
---|---|---|
disabled |
object | Configuration options for cases in which ADR is not supposed to steer the end device to another set of channels. |
lora_narrow |
object | Configuration options for LoRa narrow channels steering. The narrow mode attempts to steer the end device towards using the LoRa modulated, 125kHz bandwidth channels. |
Schema
{
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
}
Show the schema of the message in JSON format.
DynamicModeChannelSteeringSettingsDisabledMode
DynamicModeOverrides
Fields
Name | Type | Description |
---|---|---|
data_rate_0 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_1 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_10 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_11 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_12 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_13 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_14 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_15 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_2 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_3 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_4 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_5 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_6 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_7 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_8 |
object | EXPERIMENTAL: Data rate index override settings. |
data_rate_9 |
object | EXPERIMENTAL: Data rate index override settings. |
Schema
{
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
DynamicModePerDataRateIndexOverride
Fields
Name | Type | Description |
---|---|---|
max_nb_trans |
integer | Maximum number of retransmissions. If unset, the default value from Network Server configuration will be used. |
min_nb_trans |
integer | Minimum number of retransmissions. If unset, the default value from Network Server configuration will be used. |
Schema
{
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
EmailNetwork
Fields
Name | Type | Description |
---|---|---|
branding_base_url |
string |
Schema
{
"branding_base_url": {
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceClaimingServerAuthorizeApplicationBody
Fields
Name | Type | Description |
---|---|---|
api_key |
string | |
application_ids |
object |
Schema
{
"api_key": {
"type": "string"
},
"application_ids": {
"type": "object"
}
}
Show the schema of the message in JSON format.
EndDeviceModelBattery
Fields
Name | Type | Description |
---|---|---|
replaceable |
boolean | Whether the device battery can be replaced. |
type |
string | Battery type. |
Schema
{
"replaceable": {
"description": "Whether the device battery can be replaced.",
"type": "boolean"
},
"type": {
"description": "Battery type.",
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceModelCompliances
Fields
Name | Type | Description |
---|---|---|
radio_equipment |
object | List of radio equipment standards the device is compliant with. |
safety |
object | List of safety standards the device is compliant with. |
Schema
{
"radio_equipment": {
"description": "List of radio equipment standards the device is compliant with.",
"items": {
"properties": {
"body": {
"type": "string"
},
"norm": {
"type": "string"
},
"standard": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"safety": {
"description": "List of safety standards the device is compliant with.",
"items": {
"properties": {
"body": {
"type": "string"
},
"norm": {
"type": "string"
},
"standard": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
EndDeviceModelDimensions
Fields
Name | Type | Description |
---|---|---|
diameter |
number | Device diameter (mm). |
height |
number | Device height (mm). |
length |
number | Device length (mm). |
width |
number | Device width (mm). |
Schema
{
"diameter": {
"description": "Device diameter (mm).",
"format": "float",
"type": "number"
},
"height": {
"description": "Device height (mm).",
"format": "float",
"type": "number"
},
"length": {
"description": "Device length (mm).",
"format": "float",
"type": "number"
},
"width": {
"description": "Device width (mm).",
"format": "float",
"type": "number"
}
}
Show the schema of the message in JSON format.
EndDeviceModelFirmwareVersion
Fields
Name | Type | Description |
---|---|---|
numeric |
integer | Numeric firmware revision number. |
profiles |
object | Device profiles for each supported region (band). |
supported_hardware_versions |
string | Hardware versions supported by this firmware version. |
version |
string | Firmware version string. |
Schema
{
"numeric": {
"description": "Numeric firmware revision number.",
"format": "int64",
"type": "integer"
},
"profiles": {
"additionalProperties": {
"properties": {
"codec_id": {
"description": "Payload formatter codec identifier, as defined in the Device Repository.",
"type": "string"
},
"lorawan_certified": {
"description": "Whether the device is LoRaWAN certified.",
"type": "boolean"
},
"profile_id": {
"description": "Profile identifier, as defined in the Device Repository.",
"type": "string"
},
"vendor_id": {
"description": "Vendor ID of the profile, as defined in the Device Repository.\nIf this value is set, the profile is loaded from this vendor's folder.\nIf this value is not set, the profile is loaded from the current (end device's) vendor.",
"type": "string"
}
},
"type": "object"
},
"description": "Device profiles for each supported region (band).",
"type": "object"
},
"supported_hardware_versions": {
"description": "Hardware versions supported by this firmware version.",
"items": {
"type": "string"
},
"type": "array"
},
"version": {
"description": "Firmware version string.",
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceModelHardwareVersion
Fields
Name | Type | Description |
---|---|---|
numeric |
integer | Numberic hardware revision number. |
part_number |
string | Hardware part number. |
version |
string | Hardware version string. |
Schema
{
"numeric": {
"description": "Numberic hardware revision number.",
"format": "int64",
"type": "integer"
},
"part_number": {
"description": "Hardware part number.",
"type": "string"
},
"version": {
"description": "Hardware version string.",
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceModelOperatingConditions
Fields
Name | Type | Description |
---|---|---|
relative_humidity |
object | |
temperature |
object |
Schema
{
"relative_humidity": {
"properties": {
"max": {
"description": "Max value of operating conditions range.",
"format": "float",
"type": "number"
},
"min": {
"description": "Min value of operating conditions range.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"temperature": {
"properties": {
"max": {
"description": "Max value of operating conditions range.",
"format": "float",
"type": "number"
},
"min": {
"description": "Min value of operating conditions range.",
"format": "float",
"type": "number"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
EndDeviceModelPhotos
Fields
Name | Type | Description |
---|---|---|
main |
string | Main device photo. |
other |
string | List of other device photos. |
Schema
{
"main": {
"description": "Main device photo.",
"type": "string"
},
"other": {
"description": "List of other device photos.",
"items": {
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
EndDeviceModelReseller
Fields
Name | Type | Description |
---|---|---|
name |
string | Reseller name. |
region |
string | Reseller regions. |
url |
string | Reseller URL. |
Schema
{
"name": {
"description": "Reseller name.",
"type": "string"
},
"region": {
"description": "Reseller regions.",
"items": {
"type": "string"
},
"type": "array"
},
"url": {
"description": "Reseller URL.",
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceModelVideos
Fields
Name | Type | Description |
---|---|---|
main |
string | Link to main device video. |
other |
string | Links to other device videos. |
Schema
{
"main": {
"description": "Link to main device video.",
"type": "string"
},
"other": {
"description": "Links to other device videos.",
"items": {
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
EntityCountingEntityCountingType
Supported values
ALL
ONLY_ACTIVATED
Default: ALL
EventAuthentication
Fields
Name | Type | Description |
---|---|---|
token_id |
string | The ID of the token that was used. |
token_type |
string | The type of token that was used. Common types are APIKey, AccessToken and SessionToken. |
type |
string | The type of authentication that was used. This is typically a bearer token. |
Schema
{
"token_id": {
"description": "The ID of the token that was used.",
"type": "string"
},
"token_type": {
"description": "The type of token that was used. Common types are APIKey, AccessToken and SessionToken.",
"type": "string"
},
"type": {
"description": "The type of authentication that was used. This is typically a bearer token.",
"type": "string"
}
}
Show the schema of the message in JSON format.
FirmwareVersionProfile
Fields
Name | Type | Description |
---|---|---|
codec_id |
string | Payload formatter codec identifier, as defined in the Device Repository. |
lorawan_certified |
boolean | Whether the device is LoRaWAN certified. |
profile_id |
string | Profile identifier, as defined in the Device Repository. |
vendor_id |
string | Vendor ID of the profile, as defined in the Device Repository. If this value is set, the profile is loaded from this vendor's folder. If this value is not set, the profile is loaded from the current (end device's) vendor. |
Schema
{
"codec_id": {
"description": "Payload formatter codec identifier, as defined in the Device Repository.",
"type": "string"
},
"lorawan_certified": {
"description": "Whether the device is LoRaWAN certified.",
"type": "boolean"
},
"profile_id": {
"description": "Profile identifier, as defined in the Device Repository.",
"type": "string"
},
"vendor_id": {
"description": "Vendor ID of the profile, as defined in the Device Repository.\nIf this value is set, the profile is loaded from this vendor's folder.\nIf this value is not set, the profile is loaded from the current (end device's) vendor.",
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayClaimingServerAuthorizeGatewayBody
Fields
Name | Type | Description |
---|---|---|
api_key |
string | |
gateway_ids |
object |
Schema
{
"api_key": {
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayConnectionStatsRoundTripTimes
Fields
Name | Type | Description |
---|---|---|
count |
integer | |
max |
string | |
median |
string | |
min |
string |
Schema
{
"count": {
"format": "int64",
"type": "integer"
},
"max": {
"type": "string"
},
"median": {
"type": "string"
},
"min": {
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayConnectionStatsSubBand
Fields
Name | Type | Description |
---|---|---|
downlink_utilization |
number | Utilization rate of the available duty-cycle. This value should not exceed downlink_utilization_limit. |
downlink_utilization_limit |
number | Duty-cycle limit of the sub-band as a fraction of time. |
max_frequency |
string | |
min_frequency |
string |
Schema
{
"downlink_utilization": {
"description": "Utilization rate of the available duty-cycle. This value should not exceed downlink_utilization_limit.",
"format": "float",
"type": "number"
},
"downlink_utilization_limit": {
"description": "Duty-cycle limit of the sub-band as a fraction of time.",
"format": "float",
"type": "number"
},
"max_frequency": {
"format": "uint64",
"type": "string"
},
"min_frequency": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayLRFHSS
Fields
Name | Type | Description |
---|---|---|
supported |
boolean | The gateway supports the LR-FHSS uplink channels. |
Schema
{
"supported": {
"description": "The gateway supports the LR-FHSS uplink channels.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
GatewayRadioTxConfiguration
Fields
Name | Type | Description |
---|---|---|
max_frequency |
string | |
min_frequency |
string | |
notch_frequency |
string |
Schema
{
"max_frequency": {
"format": "uint64",
"type": "string"
},
"min_frequency": {
"format": "uint64",
"type": "string"
},
"notch_frequency": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayServerMTLSAuthentication
Fields
Name | Type | Description |
---|---|---|
client_ca_pool |
string | PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate. |
Schema
{
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
GenerateEndDeviceQRCodeRequestImage
Fields
Name | Type | Description |
---|---|---|
image_size |
integer | Requested QR code image dimension in pixels. |
Schema
{
"image_size": {
"description": "Requested QR code image dimension in pixels.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
GetClaimStatusResponseVendorSpecific
Fields
Name | Type | Description |
---|---|---|
data |
object | Vendor Specific data in JSON format. |
organization_unique_identifier |
integer |
Schema
{
"data": {
"description": "Vendor Specific data in JSON format.",
"type": "object"
},
"organization_unique_identifier": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
GetPhyVersionsResponseVersionInfo
Fields
Name | Type | Description |
---|---|---|
band_id |
string | |
phy_versions |
string |
Schema
{
"band_id": {
"type": "string"
},
"phy_versions": {
"items": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GetTemplateRequestEndDeviceProfileIdentifiers
Fields
Name | Type | Description |
---|---|---|
vendor_id |
integer | VendorID managed by the LoRa Alliance, as defined in TR005. |
vendor_profile_id |
integer | ID of the LoRaWAN end device profile assigned by the vendor. |
Schema
{
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
IsConfigurationAdminRestrictions
Fields
Name | Type | Description |
---|---|---|
managed_fields_updates |
boolean | managed-fields-updates disables the ability of an admin user to update fields which are administered by the billing providers. The restrictions are ignored if a tenant admin key is used. |
Schema
{
"managed_fields_updates": {
"description": "managed-fields-updates disables the ability of an admin user to update fields which are administered by the\nbilling providers. The restrictions are ignored if a tenant admin key is used.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
IsConfigurationCollaboratorRights
Fields
Name | Type | Description |
---|---|---|
set_others_as_contacts |
boolean |
Schema
{
"set_others_as_contacts": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
IsConfigurationNetworkLimits
Fields
Name | Type | Description |
---|---|---|
applications |
string | The maximum total number of applications in the network. |
clients |
string | The maximum total number of clients in the network. |
gateways |
string | The maximum total number of gateways in the network. |
organizations |
string | The maximum total number of organizations in the network. |
users |
string | The maximum total number of users in the network. |
Schema
{
"applications": {
"description": "The maximum total number of applications in the network.",
"format": "uint64",
"type": "string"
},
"clients": {
"description": "The maximum total number of clients in the network.",
"format": "uint64",
"type": "string"
},
"gateways": {
"description": "The maximum total number of gateways in the network.",
"format": "uint64",
"type": "string"
},
"organizations": {
"description": "The maximum total number of organizations in the network.",
"format": "uint64",
"type": "string"
},
"users": {
"description": "The maximum total number of users in the network.",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
IsConfigurationTenantRegistration
Fields
Name | Type | Description |
---|---|---|
contact_info_validation |
object |
Schema
{
"contact_info_validation": {
"properties": {
"token_ttl": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
IsConfigurationTenantRegistrationContactInfoValidation
Fields
Name | Type | Description |
---|---|---|
token_ttl |
string |
Schema
{
"token_ttl": {
"type": "string"
}
}
Show the schema of the message in JSON format.
JsEndDeviceRegistryProvisionBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
from_data |
object | |
list |
object | |
provisioner_id |
string | ID of the provisioner service as configured in the Join Server. |
provisioning_data |
string | Vendor-specific provisioning data. |
range |
object |
Schema
{
"application_ids": {
"type": "object"
},
"from_data": {
"properties": {
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"list": {
"properties": {
"end_device_ids": {
"items": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"provisioner_id": {
"description": "ID of the provisioner service as configured in the Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data.",
"format": "byte",
"type": "string"
},
"range": {
"properties": {
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"start_dev_eui": {
"description": "DevEUI to start issuing from.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ListBandsResponseVersionedBandDescription
Fields
Name | Type | Description |
---|---|---|
band |
object |
Schema
{
"band": {
"additionalProperties": {
"properties": {
"adr_ack_limit": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
},
"beacon": {
"properties": {
"coding_rate": {
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequencies": {
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"boot_dwell_time": {
"properties": {
"downlinks": {
"type": "boolean"
},
"uplinks": {
"type": "boolean"
}
},
"type": "object"
},
"cf_list_type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
},
"data_rates": {
"additionalProperties": {
"properties": {
"rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "object"
},
"default_max_eirp": {
"format": "float",
"type": "number"
},
"default_rx2_parameters": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_channels": {
"items": {
"properties": {
"frequency": {
"format": "uint64",
"type": "string"
},
"max_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"freq_multiplier": {
"format": "uint64",
"type": "string"
},
"id": {
"type": "string"
},
"implements_cf_list": {
"type": "boolean"
},
"join_accept_delay_1": {
"type": "string"
},
"join_accept_delay_2": {
"type": "string"
},
"max_adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_downlink_channels": {
"format": "int64",
"type": "integer"
},
"max_fcnt_gap": {
"format": "uint64",
"type": "string"
},
"max_retransmit_timeout": {
"type": "string"
},
"max_uplink_channels": {
"format": "int64",
"type": "integer"
},
"min_retransmit_timeout": {
"type": "string"
},
"ping_slot_frequencies": {
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"receive_delay_1": {
"type": "string"
},
"receive_delay_2": {
"type": "string"
},
"relay": {
"properties": {
"wor_channels": {
"items": {
"properties": {
"ack_frequency": {
"format": "uint64",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"relay_forward_delay": {
"type": "string"
},
"relay_receive_delay": {
"type": "string"
},
"sub_bands": {
"items": {
"properties": {
"duty_cycle": {
"format": "float",
"type": "number"
},
"max_eirp": {
"format": "float",
"type": "number"
},
"max_frequency": {
"format": "uint64",
"type": "string"
},
"min_frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"supports_dynamic_adr": {
"type": "boolean"
},
"tx_offset": {
"items": {
"format": "float",
"type": "number"
},
"type": "array"
},
"tx_param_setup_req_support": {
"type": "boolean"
},
"uplink_channels": {
"items": {
"properties": {
"frequency": {
"format": "uint64",
"type": "string"
},
"max_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACCommandADRParamSetupReq
Fields
Name | Type | Description |
---|---|---|
adr_ack_delay_exponent |
string | |
adr_ack_limit_exponent |
string |
Schema
{
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandBeaconFreqAns
Fields
Name | Type | Description |
---|---|---|
frequency_ack |
boolean |
Schema
{
"frequency_ack": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACCommandBeaconFreqReq
Fields
Name | Type | Description |
---|---|---|
frequency |
string | Frequency of the Class B beacons (Hz). |
Schema
{
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandBeaconTimingAns
Fields
Name | Type | Description |
---|---|---|
channel_index |
integer | |
delay |
integer | (uint16) See LoRaWAN specification. |
Schema
{
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
MACCommandDLChannelAns
Fields
Name | Type | Description |
---|---|---|
channel_index_ack |
boolean | |
frequency_ack |
boolean |
Schema
{
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACCommandDLChannelReq
Fields
Name | Type | Description |
---|---|---|
channel_index |
integer | |
frequency |
string | Downlink channel frequency (Hz). |
Schema
{
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandDevStatusAns
Fields
Name | Type | Description |
---|---|---|
battery |
integer | 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. |
margin |
integer | SNR of the last downlink (dB; [-32, +31]). |
Schema
{
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
}
Show the schema of the message in JSON format.
MACCommandDeviceModeConf
Fields
Name | Type | Description |
---|---|---|
class |
string |
Schema
{
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandDeviceModeInd
Fields
Name | Type | Description |
---|---|---|
class |
string |
Schema
{
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandDeviceTimeAns
Fields
Name | Type | Description |
---|---|---|
time |
string |
Schema
{
"time": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandDutyCycleReq
Fields
Name | Type | Description |
---|---|---|
max_duty_cycle |
string | - DUTY_CYCLE_1: 100%. - DUTY_CYCLE_2: 50%. - DUTY_CYCLE_4: 25%. - DUTY_CYCLE_8: 12.5%. - DUTY_CYCLE_16: 6.25%. - DUTY_CYCLE_32: 3.125%. - DUTY_CYCLE_64: 1.5625%. - DUTY_CYCLE_128: Roughly 0.781%. - DUTY_CYCLE_256: Roughly 0.390%. - DUTY_CYCLE_512: Roughly 0.195%. - DUTY_CYCLE_1024: Roughly 0.098%. - DUTY_CYCLE_2048: Roughly 0.049%. - DUTY_CYCLE_4096: Roughly 0.024%. - DUTY_CYCLE_8192: Roughly 0.012%. - DUTY_CYCLE_16384: Roughly 0.006%. - DUTY_CYCLE_32768: Roughly 0.003%. |
Schema
{
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandForceRejoinReq
Fields
Name | Type | Description |
---|---|---|
data_rate_index |
string | |
max_retries |
integer | |
period_exponent |
string | - REJOIN_PERIOD_0: Every 32 to 64 seconds. - REJOIN_PERIOD_1: Every 64 to 96 seconds. - REJOIN_PERIOD_2: Every 128 to 160 seconds. - REJOIN_PERIOD_3: Every 256 to 288 seconds. - REJOIN_PERIOD_4: Every 512 to 544 seconds. - REJOIN_PERIOD_5: Every 1024 to 1056 seconds. - REJOIN_PERIOD_6: Every 2048 to 2080 seconds. - REJOIN_PERIOD_7: Every 4096 to 4128 seconds. |
rejoin_type |
string | - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters. - SESSION: Equivalent to the initial JoinRequest. - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters. |
Schema
{
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandLinkADRAns
Fields
Name | Type | Description |
---|---|---|
channel_mask_ack |
boolean | |
data_rate_index_ack |
boolean | |
tx_power_index_ack |
boolean |
Schema
{
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACCommandLinkADRReq
Fields
Name | Type | Description |
---|---|---|
channel_mask |
boolean | |
channel_mask_control |
integer | |
data_rate_index |
string | |
nb_trans |
integer | |
tx_power_index |
integer |
Schema
{
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
MACCommandLinkCheckAns
Fields
Name | Type | Description |
---|---|---|
gateway_count |
integer | |
margin |
integer | Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor. |
Schema
{
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
MACCommandNewChannelAns
Fields
Name | Type | Description |
---|---|---|
data_rate_ack |
boolean | |
frequency_ack |
boolean |
Schema
{
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACCommandNewChannelReq
Fields
Name | Type | Description |
---|---|---|
channel_index |
integer | |
frequency |
string | Channel frequency (Hz). |
max_data_rate_index |
string | |
min_data_rate_index |
string |
Schema
{
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandPingSlotChannelAns
Fields
Name | Type | Description |
---|---|---|
data_rate_index_ack |
boolean | |
frequency_ack |
boolean |
Schema
{
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACCommandPingSlotChannelReq
Fields
Name | Type | Description |
---|---|---|
data_rate_index |
string | |
frequency |
string | Ping slot channel frequency (Hz). |
Schema
{
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandPingSlotInfoReq
Fields
Name | Type | Description |
---|---|---|
period |
string | - PING_EVERY_1S: Every second. - PING_EVERY_2S: Every 2 seconds. - PING_EVERY_4S: Every 4 seconds. - PING_EVERY_8S: Every 8 seconds. - PING_EVERY_16S: Every 16 seconds. - PING_EVERY_32S: Every 32 seconds. - PING_EVERY_64S: Every 64 seconds. - PING_EVERY_128S: Every 128 seconds. |
Schema
{
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandRejoinParamSetupAns
Fields
Name | Type | Description |
---|---|---|
max_time_exponent_ack |
boolean |
Schema
{
"max_time_exponent_ack": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACCommandRejoinParamSetupReq
Fields
Name | Type | Description |
---|---|---|
max_count_exponent |
string | |
max_time_exponent |
string | - REJOIN_TIME_0: Every ~17.1 minutes. - REJOIN_TIME_1: Every ~34.1 minutes. - REJOIN_TIME_2: Every ~1.1 hours. - REJOIN_TIME_3: Every ~2.3 hours. - REJOIN_TIME_4: Every ~4.6 hours. - REJOIN_TIME_5: Every ~9.1 hours. - REJOIN_TIME_6: Every ~18.2 hours. - REJOIN_TIME_7: Every ~1.5 days. - REJOIN_TIME_8: Every ~3.0 days. - REJOIN_TIME_9: Every ~6.1 days. - REJOIN_TIME_10: Every ~12.1 days. - REJOIN_TIME_11: Every ~3.5 weeks. - REJOIN_TIME_12: Every ~1.6 months. - REJOIN_TIME_13: Every ~3.2 months. - REJOIN_TIME_14: Every ~6.4 months. - REJOIN_TIME_15: Every ~1.1 year. |
Schema
{
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandRekeyConf
Fields
Name | Type | Description |
---|---|---|
minor_version |
string |
Schema
{
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandRekeyInd
Fields
Name | Type | Description |
---|---|---|
minor_version |
string |
Schema
{
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandRelayConfAns
Fields
Name | Type | Description |
---|---|---|
cad_periodicity_ack |
boolean | |
default_channel_index_ack |
boolean | |
second_channel_ack_offset_ack |
boolean | |
second_channel_data_rate_index_ack |
boolean | |
second_channel_frequency_ack |
boolean | |
second_channel_index_ack |
boolean |
Schema
{
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACCommandRelayConfReq
Fields
Name | Type | Description |
---|---|---|
configuration |
object |
Schema
{
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACCommandRelayConfReqConfiguration
Fields
Name | Type | Description |
---|---|---|
cad_periodicity |
string | |
default_channel_index |
integer | |
second_channel |
object |
Schema
{
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACCommandRelayConfigureFwdLimitAns
MACCommandRelayConfigureFwdLimitReq
Fields
Name | Type | Description |
---|---|---|
global_uplink_limits |
object | |
join_request_limits |
object | |
notify_limits |
object | |
overall_limits |
object | |
reset_limit_counter |
string |
Schema
{
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandRelayCtrlUplinkListAns
Fields
Name | Type | Description |
---|---|---|
rule_index_ack |
boolean | |
w_f_cnt |
integer |
Schema
{
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
MACCommandRelayCtrlUplinkListReq
Fields
Name | Type | Description |
---|---|---|
action |
string | |
rule_index |
integer |
Schema
{
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
MACCommandRelayEndDeviceConfAns
Fields
Name | Type | Description |
---|---|---|
backoff_ack |
boolean | |
second_channel_data_rate_index_ack |
boolean | |
second_channel_frequency_ack |
boolean | |
second_channel_index_ack |
boolean |
Schema
{
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACCommandRelayEndDeviceConfReq
Fields
Name | Type | Description |
---|---|---|
configuration |
object |
Schema
{
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACCommandRelayEndDeviceConfReqConfiguration
Fields
Name | Type | Description |
---|---|---|
always |
object | |
backoff |
integer | |
dynamic |
object | |
end_device_controlled |
object | |
second_channel |
object | |
serving_device_id |
string |
Schema
{
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandRelayNotifyNewEndDeviceReq
Fields
Name | Type | Description |
---|---|---|
dev_addr |
string | |
rssi |
integer | |
snr |
integer |
Schema
{
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
}
Show the schema of the message in JSON format.
MACCommandRelayUpdateUplinkListAns
MACCommandRelayUpdateUplinkListReq
Fields
Name | Type | Description |
---|---|---|
dev_addr |
string | |
device_id |
string | |
forward_limits |
object | |
root_wor_s_key |
string | |
rule_index |
integer | |
session_key_id |
string | |
w_f_cnt |
integer |
Schema
{
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
MACCommandResetConf
Fields
Name | Type | Description |
---|---|---|
minor_version |
string |
Schema
{
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandResetInd
Fields
Name | Type | Description |
---|---|---|
minor_version |
string |
Schema
{
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandRxParamSetupAns
Fields
Name | Type | Description |
---|---|---|
rx1_data_rate_offset_ack |
boolean | |
rx2_data_rate_index_ack |
boolean | |
rx2_frequency_ack |
boolean |
Schema
{
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACCommandRxParamSetupReq
Fields
Name | Type | Description |
---|---|---|
rx1_data_rate_offset |
string | |
rx2_data_rate_index |
string | |
rx2_frequency |
string | Rx2 frequency (Hz). |
Schema
{
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandRxTimingSetupReq
Fields
Name | Type | Description |
---|---|---|
delay |
string | - RX_DELAY_0: 1 second. - RX_DELAY_1: 1 second. - RX_DELAY_2: 2 seconds. - RX_DELAY_3: 3 seconds. - RX_DELAY_4: 4 seconds. - RX_DELAY_5: 5 seconds. - RX_DELAY_6: 6 seconds. - RX_DELAY_7: 7 seconds. - RX_DELAY_8: 8 seconds. - RX_DELAY_9: 9 seconds. - RX_DELAY_10: 10 seconds. - RX_DELAY_11: 11 seconds. - RX_DELAY_12: 12 seconds. - RX_DELAY_13: 13 seconds. - RX_DELAY_14: 14 seconds. - RX_DELAY_15: 15 seconds. |
Schema
{
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACCommandTxParamSetupReq
Fields
Name | Type | Description |
---|---|---|
downlink_dwell_time |
boolean | |
max_eirp_index |
string | - DEVICE_EIRP_8: 8 dBm. - DEVICE_EIRP_10: 10 dBm. - DEVICE_EIRP_12: 12 dBm. - DEVICE_EIRP_13: 13 dBm. - DEVICE_EIRP_14: 14 dBm. - DEVICE_EIRP_16: 16 dBm. - DEVICE_EIRP_18: 18 dBm. - DEVICE_EIRP_20: 20 dBm. - DEVICE_EIRP_21: 21 dBm. - DEVICE_EIRP_24: 24 dBm. - DEVICE_EIRP_26: 26 dBm. - DEVICE_EIRP_27: 27 dBm. - DEVICE_EIRP_29: 29 dBm. - DEVICE_EIRP_30: 30 dBm. - DEVICE_EIRP_33: 33 dBm. - DEVICE_EIRP_36: 36 dBm. |
uplink_dwell_time |
boolean |
Schema
{
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACStateDataRateRange
Fields
Name | Type | Description |
---|---|---|
max_data_rate_index |
string | |
min_data_rate_index |
string |
Schema
{
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACStateDataRateRanges
Fields
Name | Type | Description |
---|---|---|
ranges |
object |
Schema
{
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
MACStateDownlinkMessageMessage
Fields
Name | Type | Description |
---|---|---|
m_hdr |
object | |
mac_payload |
object |
Schema
{
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACStateJoinAccept
Fields
Name | Type | Description |
---|---|---|
correlation_ids |
string | |
dev_addr |
string | |
keys |
object | 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. |
net_id |
string | |
payload |
string | Payload of the join-accept received from Join Server. |
request |
object |
Schema
{
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACStateUplinkMessageRxMetadata
Fields
Name | Type | Description |
---|---|---|
channel_rssi |
number | |
downlink_path_constraint |
string | - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server. - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected. - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path. |
gateway_ids |
object | |
packet_broker |
object | |
relay |
object | |
snr |
number | |
uplink_token |
string |
Schema
{
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
MACStateUplinkMessageTxSettings
Fields
Name | Type | Description |
---|---|---|
data_rate |
object |
Schema
{
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MQTTProviderQoS
Supported values
AT_MOST_ONCE
AT_LEAST_ONCE
EXACTLY_ONCE
Default: AT_MOST_ONCE
ManagedGatewayConfigurationServiceScanWiFiAccessPointsBody
Fields
Name | Type | Description |
---|---|---|
eui |
string | Secondary identifier, which can only be used in specific requests. |
Schema
{
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
ManagedGatewayConfigurationServiceStreamEventsBody
Fields
Name | Type | Description |
---|---|---|
eui |
string | Secondary identifier, which can only be used in specific requests. |
Schema
{
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
MeteringDataTenantMeteringData
Fields
Name | Type | Description |
---|---|---|
tenant_id |
object | |
totals |
object |
Schema
{
"tenant_id": {
"properties": {
"tenant_id": {
"type": "string"
}
},
"type": "object"
},
"totals": {
"properties": {
"activated_end_devices": {
"format": "uint64",
"type": "string"
},
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"end_devices": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
},
"users": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationChannelsLoRaPerformanceBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"application_ids": {
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationChannelsPacketCountBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"application_ids": {
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationChannelsUtilizationBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"application_ids": {
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationDataRatesPacketCountBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"application_ids": {
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationEndDevicesActiveMetricsBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_window |
object | Request for data in a specific time window. |
Schema
{
"application_ids": {
"type": "object"
},
"time_window": {
"description": "Request for data in a specific time window.",
"properties": {
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationEventForwardCountBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"application_ids": {
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationGatewaysSeenBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_window |
object | Request for data in a specific time window. |
Schema
{
"application_ids": {
"type": "object"
},
"time_window": {
"description": "Request for data in a specific time window.",
"properties": {
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationStatisticsBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_window |
object | Request for data in a specific time window. |
Schema
{
"application_ids": {
"type": "object"
},
"time_window": {
"description": "Request for data in a specific time window.",
"properties": {
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationWebhookFailureBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"application_ids": {
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationWebhookFailureToForwardRatioBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_window |
object | Request for data in a specific time window. |
Schema
{
"application_ids": {
"type": "object"
},
"time_window": {
"description": "Request for data in a specific time window.",
"properties": {
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryApplicationWebhookFailureTopFiveBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"application_ids": {
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryEndDeviceChannelsLoRaPerformanceBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryEndDeviceChannelsPacketCountBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryEndDeviceChannelsUtilizationBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryEndDeviceDataRatesPacketCountBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryEndDeviceLastSeenBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryEndDevicePacketErrorRateBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryEndDeviceSessionStartBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryGatewayChannelsLoRaPerformanceBody
Fields
Name | Type | Description |
---|---|---|
gateway_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryGatewayChannelsPacketCountBody
Fields
Name | Type | Description |
---|---|---|
gateway_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryGatewayChannelsUtilizationBody
Fields
Name | Type | Description |
---|---|---|
gateway_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryGatewayConnectionEventsBody
Fields
Name | Type | Description |
---|---|---|
event_type |
object | |
gateway_time_window |
object | Request for gateway data in a specific time window. |
Schema
{
"event_type": {
"properties": {
"value": {
"default": "GATEWAY_CONNECTION_EVENT_TYPE_CONNECT",
"description": "Gateway connection event type.\n\n - GATEWAY_CONNECTION_EVENT_TYPE_CONNECT: The gateway connects.\n - GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT: The gateway disconnects.\n - GATEWAY_CONNECTION_EVENT_TYPE_STATS: The gateway connection statistics are updated.",
"enum": [
"GATEWAY_CONNECTION_EVENT_TYPE_CONNECT",
"GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT",
"GATEWAY_CONNECTION_EVENT_TYPE_STATS"
],
"type": "string"
}
},
"type": "object"
},
"gateway_time_window": {
"description": "Request for gateway data in a specific time window.",
"properties": {
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_window": {
"description": "Request for data in a specific time window.",
"properties": {
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryGatewayDataRatesPacketCountBody
Fields
Name | Type | Description |
---|---|---|
gateway_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryGatewayRTTStatisticsBody
Fields
Name | Type | Description |
---|---|---|
gateway_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryGatewayTopNetworksSeenBody
Fields
Name | Type | Description |
---|---|---|
gateway_time_window |
object | Request for gateway data in a specific time window. |
Schema
{
"gateway_time_window": {
"description": "Request for gateway data in a specific time window.",
"properties": {
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_window": {
"description": "Request for data in a specific time window.",
"properties": {
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryGatewayTrafficRatesBody
Fields
Name | Type | Description |
---|---|---|
gateway_ids |
object | |
time_bucket |
object | Request for data using aggregates by time buckets with a specified interval. |
Schema
{
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_bucket": {
"description": "Request for data using aggregates by time buckets with a specified interval.",
"properties": {
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocQueryGatewayUptimeBody
Fields
Name | Type | Description |
---|---|---|
gateway_ids |
object | |
time_window |
object | Request for data in a specific time window. |
Schema
{
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"time_window": {
"description": "Request for data in a specific time window.",
"properties": {
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NotificationServiceUpdateStatusBody
Fields
Name | Type | Description |
---|---|---|
ids |
string | The IDs of the notifications to update the status of. |
receiver_ids |
object | The IDs of the receiving user. |
status |
string |
Schema
{
"ids": {
"description": "The IDs of the notifications to update the status of.",
"items": {
"type": "string"
},
"type": "array"
},
"receiver_ids": {
"description": "The IDs of the receiving user.",
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"title": "The IDs of the receiving user.",
"type": "object"
},
"status": {
"default": "NOTIFICATION_STATUS_UNSEEN",
"enum": [
"NOTIFICATION_STATUS_UNSEEN",
"NOTIFICATION_STATUS_SEEN",
"NOTIFICATION_STATUS_ARCHIVED"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
NsEndDeviceRegistryResetFactoryDefaultsBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
field_mask |
string | 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. |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the end device fields that should be returned.\nSee the API reference for which fields can be returned by the different services.",
"type": "string"
}
}
Show the schema of the message in JSON format.
NsRelayConfigurationServiceCreateRelayBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | End device identifiers of the relay. |
settings |
object | RelaySettings represent the settings of a relay. This is used internally by the Network Server. |
Schema
{
"end_device_ids": {
"description": "End device identifiers of the relay.",
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"title": "End device identifiers of the relay.",
"type": "object"
},
"settings": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NsRelayConfigurationServiceCreateRelayUplinkForwardingRuleBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | End device identifiers of the relay. |
index |
integer | Index of the uplink forwarding rule. |
rule |
object |
Schema
{
"end_device_ids": {
"description": "End device identifiers of the relay.",
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"title": "End device identifiers of the relay.",
"type": "object"
},
"index": {
"description": "Index of the uplink forwarding rule.",
"format": "int64",
"type": "integer"
},
"rule": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NsRelayConfigurationServiceUpdateRelayBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | End device identifiers of the relay. |
field_mask |
string | Field mask of the fields to update. |
settings |
object | RelaySettings represent the settings of a relay. This is used internally by the Network Server. |
Schema
{
"end_device_ids": {
"description": "End device identifiers of the relay.",
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"title": "End device identifiers of the relay.",
"type": "object"
},
"field_mask": {
"description": "Field mask of the fields to update.",
"type": "string"
},
"settings": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NsRelayConfigurationServiceUpdateRelayUplinkForwardingRuleBody
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | End device identifiers of the relay. |
field_mask |
string | Field mask of the fields to update. |
rule |
object |
Schema
{
"end_device_ids": {
"description": "End device identifiers of the relay.",
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"title": "End device identifiers of the relay.",
"type": "object"
},
"field_mask": {
"description": "Field mask of the fields to update.",
"type": "string"
},
"rule": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
OperatingConditionsLimits
Fields
Name | Type | Description |
---|---|---|
max |
number | Max value of operating conditions range. |
min |
number | Min value of operating conditions range. |
Schema
{
"max": {
"description": "Max value of operating conditions range.",
"format": "float",
"type": "number"
},
"min": {
"description": "Min value of operating conditions range.",
"format": "float",
"type": "number"
}
}
Show the schema of the message in JSON format.
PacketErrorRatesTimeBucketsPacketErrorRate
Fields
Name | Type | Description |
---|---|---|
packet_error_rate |
number | |
time |
string |
Schema
{
"packet_error_rate": {
"format": "float",
"type": "number"
},
"time": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
PbaSetHomeNetworkRoutingPolicyBody
Fields
Name | Type | Description |
---|---|---|
downlink |
object | |
home_network_id |
object | Packet Broker identifier of the Home Network. |
uplink |
object |
Schema
{
"downlink": {
"properties": {
"application_data": {
"description": "Allow downlink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_accept": {
"description": "Allow join-accept messages.",
"type": "boolean"
},
"mac_data": {
"description": "Allow downlink messages with FPort of 0.",
"type": "boolean"
}
},
"type": "object"
},
"home_network_id": {
"description": "Packet Broker identifier of the Home Network.",
"title": "Packet Broker identifier of the Home Network.",
"type": "object"
},
"uplink": {
"properties": {
"application_data": {
"description": "Forward uplink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_request": {
"description": "Forward join-request messages.",
"type": "boolean"
},
"localization": {
"description": "Forward gateway location, RSSI, SNR and fine timestamp.",
"type": "boolean"
},
"mac_data": {
"description": "Forward uplink messages with FPort of 0.",
"type": "boolean"
},
"signal_quality": {
"description": "Forward RSSI and SNR.",
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
PictureEmbedded
Fields
Name | Type | Description |
---|---|---|
data |
string | Picture data. A data URI can be constructed as follows: `data:<mime_type>;base64,<data>`. |
mime_type |
string | MIME type of the picture. |
Schema
{
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ProvisionEndDevicesRequestIdentifiersFromData
Fields
Name | Type | Description |
---|---|---|
join_eui |
string |
Schema
{
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
ProvisionEndDevicesRequestIdentifiersList
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
join_eui |
string |
Schema
{
"end_device_ids": {
"items": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
ProvisionEndDevicesRequestIdentifiersRange
Fields
Name | Type | Description |
---|---|---|
join_eui |
string | |
start_dev_eui |
string | DevEUI to start issuing from. |
Schema
{
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"start_dev_eui": {
"description": "DevEUI to start issuing from.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
PubSubProviders
Fields
Name | Type | Description |
---|---|---|
mqtt |
string | - ENABLED: No restrictions are in place. - WARNING: Warnings are being emitted that the provider will be deprecated in the future. - DISABLED: New integrations cannot be set up, and old ones do not start. |
nats |
string | - ENABLED: No restrictions are in place. - WARNING: Warnings are being emitted that the provider will be deprecated in the future. - DISABLED: New integrations cannot be set up, and old ones do not start. |
Schema
{
"mqtt": {
"default": "ENABLED",
"description": " - ENABLED: No restrictions are in place.\n - WARNING: Warnings are being emitted that the provider will be deprecated in the future.\n - DISABLED: New integrations cannot be set up, and old ones do not start.",
"enum": [
"ENABLED",
"WARNING",
"DISABLED"
],
"type": "string"
},
"nats": {
"default": "ENABLED",
"description": " - ENABLED: No restrictions are in place.\n - WARNING: Warnings are being emitted that the provider will be deprecated in the future.\n - DISABLED: New integrations cannot be set up, and old ones do not start.",
"enum": [
"ENABLED",
"WARNING",
"DISABLED"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
PubSubProvidersStatus
Supported values
Name | Description |
---|---|
ENABLED |
No restrictions are in place. |
WARNING |
Warnings are being emitted that the provider will be deprecated in the future. |
DISABLED |
New integrations cannot be set up, and old ones do not start. |
QueueRetry
Fields
Name | Type | Description |
---|---|---|
base_delay |
string | |
delay_factor |
number | |
jitter_factor |
number | |
max_attempts |
string | |
max_delay |
string |
Schema
{
"base_delay": {
"type": "string"
},
"delay_factor": {
"format": "double",
"type": "number"
},
"jitter_factor": {
"format": "double",
"type": "number"
},
"max_attempts": {
"format": "int64",
"type": "string"
},
"max_delay": {
"type": "string"
}
}
Show the schema of the message in JSON format.
TenantAccessResendAdminValidationBody
Fields
Name | Type | Description |
---|---|---|
tenant_ids |
object |
Schema
{
"tenant_ids": {
"type": "object"
}
}
Show the schema of the message in JSON format.
TrafficRatesTimeBucketsDirection
Fields
Name | Type | Description |
---|---|---|
rate |
number | |
time |
string |
Schema
{
"rate": {
"format": "float",
"type": "number"
},
"time": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
TxAcknowledgmentResult
Supported values
SUCCESS
UNKNOWN_ERROR
TOO_LATE
TOO_EARLY
COLLISION_PACKET
COLLISION_BEACON
TX_FREQ
TX_POWER
GPS_UNLOCKED
Default: SUCCESS
TxSettingsDownlink
Fields
Name | Type | Description |
---|---|---|
antenna_index |
integer | Index of the antenna on which the uplink was received and/or downlink must be sent. |
invert_polarization |
boolean | Invert LoRa polarization; false for LoRaWAN uplink, true for downlink. |
tx_power |
number | Transmission power (dBm). Only on downlink. |
Schema
{
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
}
Show the schema of the message in JSON format.
UplinkMessageRxMetadataPacketBrokerMetadata
UplinkMessageRxMetadataRelayMetadata
UserConsolePreferencesDashboardLayouts
Fields
Name | Type | Description |
---|---|---|
api_key |
string | DashboardLayout is a set of possible layout values to be used in the Console. |
application |
string | DashboardLayout is a set of possible layout values to be used in the Console. |
collaborator |
string | DashboardLayout is a set of possible layout values to be used in the Console. |
end_device |
string | DashboardLayout is a set of possible layout values to be used in the Console. |
gateway |
string | DashboardLayout is a set of possible layout values to be used in the Console. |
organization |
string | DashboardLayout is a set of possible layout values to be used in the Console. |
overview |
string | DashboardLayout is a set of possible layout values to be used in the Console. |
user |
string | DashboardLayout is a set of possible layout values to be used in the Console. |
Schema
{
"api_key": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"application": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"collaborator": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"end_device": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"gateway": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"organization": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"overview": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"user": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
UserConsolePreferencesSortBy
Fields
Name | Type | Description |
---|---|---|
api_key |
string | |
application |
string | |
collaborator |
string | |
end_device |
string | |
gateway |
string | |
organization |
string | |
user |
string |
Schema
{
"api_key": {
"type": "string"
},
"application": {
"type": "string"
},
"collaborator": {
"type": "string"
},
"end_device": {
"type": "string"
},
"gateway": {
"type": "string"
},
"organization": {
"type": "string"
},
"user": {
"type": "string"
}
}
Show the schema of the message in JSON format.
UserRegistryUpdatePasswordBody
Fields
Name | Type | Description |
---|---|---|
new |
string | |
old |
string | |
revoke_all_access |
boolean | Revoke active sessions and access tokens of user if true. To be used if credentials are suspected to be compromised. |
user_ids |
object |
Schema
{
"new": {
"type": "string"
},
"old": {
"type": "string"
},
"revoke_all_access": {
"description": "Revoke active sessions and access tokens of user if true. To be used if credentials are suspected to be compromised.",
"type": "boolean"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
googlerpcStatus
Fields
Name | Type | Description |
---|---|---|
code |
integer | |
details |
object | |
message |
string |
Schema
{
"code": {
"format": "int32",
"type": "integer"
},
"details": {
"items": {
"additionalProperties": {},
"description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }",
"properties": {
"@type": {
"description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message": {
"type": "string"
}
}
Show the schema of the message in JSON format.
lorawanBoolValue
Fields
Name | Type | Description |
---|---|---|
value |
boolean |
Schema
{
"value": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
lorawanConfiguration
Fields
Name | Type | Description |
---|---|---|
clusters |
object | Configuration per cluster (by ID). |
default_cluster |
object | |
pb |
object |
Schema
{
"clusters": {
"additionalProperties": {
"properties": {
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"description": "Configuration per cluster (by ID).",
"type": "object"
},
"default_cluster": {
"properties": {
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"pb": {
"properties": {
"listed": {
"description": "Indicates whether the Home Network is publicly listed.",
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
lorawanContactInfoValidation
Fields
Name | Type | Description |
---|---|---|
contact_info |
object | |
created_at |
string | |
entity |
object | EntityIdentifiers contains one of the possible entity identifiers. |
expires_at |
string | |
id |
string | |
token |
string | |
updated_at |
string |
Schema
{
"contact_info": {
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"entity": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"id": {
"type": "string"
},
"token": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
lorawanDownlinkMessage
Fields
Name | Type | Description |
---|---|---|
correlation_ids |
string | |
end_device_ids |
object | |
payload |
object | |
raw_payload |
string | |
request |
object | 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. |
scheduled |
object | TxSettings contains the settings for a transmission. This message is used on both uplink and downlink. On downlink, this is a scheduled transmission. |
session_key_id |
string |
Schema
{
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"request": {
"description": "TxRequest is a request for transmission.\nIf sent to a roaming partner, this request is used to generate the DLMetadata Object (see Backend Interfaces 1.0, Table 22).\nIf the gateway has a scheduler, this request is sent to the gateway, in the order of gateway_ids.\nOtherwise, the Gateway Server attempts to schedule the request and creates the TxSettings.",
"properties": {
"absolute_time": {
"description": "Time when the downlink message should be transmitted.\nThis value is only valid for class C downlink; class A downlink uses uplink tokens and class B downlink is scheduled on ping slots.\nThis requires the gateway to have GPS time sychronization.\nIf the absolute time is not set, the first available time will be used that does not conflict or violate regional limitations.",
"format": "date-time",
"type": "string"
},
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"downlink_paths": {
"description": "Downlink paths used to select a gateway for downlink.\nIn class A, the downlink paths are required to only contain uplink tokens.\nIn class B and C, the downlink paths may contain uplink tokens and fixed gateways antenna identifiers.",
"items": {
"properties": {
"fixed": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"frequency_plan_id": {
"description": "Frequency plan ID from which the frequencies in this message are retrieved.",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"rx1_data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx1_frequency": {
"description": "Frequency (Hz) for Rx1.",
"format": "uint64",
"type": "string"
},
"rx2_data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"rx2_frequency": {
"description": "Frequency (Hz) for Rx2.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"scheduled": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
lorawanGatewayIdentifiers
Fields
Name | Type | Description |
---|---|---|
eui |
string | Secondary identifier, which can only be used in specific requests. |
gateway_id |
string |
Schema
{
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
lorawanInvitation
Fields
Name | Type | Description |
---|---|---|
accepted_at |
string | |
accepted_by |
object | |
created_at |
string | |
email |
string | |
expires_at |
string | |
token |
string | |
updated_at |
string |
Schema
{
"accepted_at": {
"format": "date-time",
"type": "string"
},
"accepted_by": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"email": {
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"token": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
lorawanLocation
Fields
Name | Type | Description |
---|---|---|
accuracy |
integer | The accuracy of the location (meters). |
altitude |
integer | The altitude (meters), where 0 is the mean sea level. |
latitude |
number | The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative. |
longitude |
number | The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative. |
source |
string | - SOURCE_UNKNOWN: The source of the location is not known or not set. - SOURCE_GPS: The location is determined by GPS. - SOURCE_REGISTRY: The location is set in and updated from a registry. - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation. - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation. - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation. - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation. - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation. - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources. More estimation methods can be added. |
Schema
{
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
lorawanMACPayload
Fields
Name | Type | Description |
---|---|---|
decoded_payload |
object | |
f_hdr |
object | |
f_port |
integer | |
frm_payload |
string | |
full_f_cnt |
integer | Full 32-bit FCnt value. Used internally by Network Server. |
Schema
{
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
lorawanMHDR
Fields
Name | Type | Description |
---|---|---|
m_type |
string | |
major |
string |
Schema
{
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
lorawanMessage
Fields
Name | Type | Description |
---|---|---|
join_accept_payload |
object | |
join_request_payload |
object | |
m_hdr |
object | |
mac_payload |
object | |
mic |
string | |
rejoin_request_payload |
object |
Schema
{
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
lorawanPacketBrokerMetadata
Fields
Name | Type | Description |
---|---|---|
forwarder_cluster_id |
string | Forwarder Cluster ID of the Packet Broker Forwarder. |
forwarder_gateway_eui |
string | Forwarder gateway EUI. |
forwarder_gateway_id |
string | Forwarder gateway ID. |
forwarder_net_id |
string | LoRa Alliance NetID of the Packet Broker Forwarder Member. |
forwarder_tenant_id |
string | Tenant ID managed by the Packet Broker Forwarder Member. |
home_network_cluster_id |
string | Home Network Cluster ID of the Packet Broker Home Network. |
home_network_net_id |
string | LoRa Alliance NetID of the Packet Broker Home Network Member. |
home_network_tenant_id |
string | Tenant ID managed by the Packet Broker Home Network Member. This value is empty if it cannot be determined by the Packet Broker Router. |
hops |
object | Hops that the message passed. Each Packet Broker Router service appends an entry. |
message_id |
string | Message identifier generated by Packet Broker Router. |
Schema
{
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
}
Show the schema of the message in JSON format.
lorawanRelayMetadata
Fields
Name | Type | Description |
---|---|---|
device_id |
string | End device identifiers of the relay. |
wor_channel |
string |
Schema
{
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
lorawanRelayParameters
Fields
Name | Type | Description |
---|---|---|
served |
object | |
serving |
object |
Schema
{
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
lorawanRelayWORChannel
Supported values
RELAY_WOR_CHANNEL_DEFAULT
RELAY_WOR_CHANNEL_SECONDARY
Default: RELAY_WOR_CHANNEL_DEFAULT
lorawanRxMetadata
Fields
Name | Type | Description |
---|---|---|
advanced |
object | |
antenna_index |
integer | |
channel_index |
integer | Index of the gateway channel that received the message. |
channel_rssi |
number | Received signal strength indicator of the channel (dBm). |
downlink_path_constraint |
string | - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server. - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected. - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path. |
encrypted_fine_timestamp |
string | Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds). |
encrypted_fine_timestamp_key_id |
string | |
fine_timestamp |
string | Gateway's internal fine timestamp when the Rx finished (nanoseconds). |
frequency_drift |
integer | Frequency drift in Hz between start and end of an LR-FHSS packet (signed). |
frequency_offset |
string | Frequency offset (Hz). |
gateway_ids |
object | |
gps_time |
string | 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. |
hopping_width |
integer | Hopping width; a number describing the number of steps of the LR-FHSS grid. |
location |
object | |
packet_broker |
object | |
received_at |
string | Timestamp at which the Gateway Server has received the message. |
relay |
object | |
rssi |
number | Received signal strength indicator (dBm). This value equals `channel_rssi`. |
rssi_standard_deviation |
number | Standard deviation of the RSSI during preamble. |
signal_rssi |
number | Received signal strength indicator of the signal (dBm). |
snr |
number | Signal-to-noise ratio (dB). |
time |
string | Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined. |
timestamp |
integer | Gateway concentrator timestamp when the Rx finished (microseconds). |
uplink_token |
string | Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS. |
Schema
{
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_index": {
"format": "int64",
"type": "integer"
},
"channel_index": {
"description": "Index of the gateway channel that received the message.",
"format": "int64",
"type": "integer"
},
"channel_rssi": {
"description": "Received signal strength indicator of the channel (dBm).",
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"encrypted_fine_timestamp": {
"description": "Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "byte",
"type": "string"
},
"encrypted_fine_timestamp_key_id": {
"type": "string"
},
"fine_timestamp": {
"description": "Gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "uint64",
"type": "string"
},
"frequency_drift": {
"description": "Frequency drift in Hz between start and end of an LR-FHSS packet (signed).",
"format": "int32",
"type": "integer"
},
"frequency_offset": {
"description": "Frequency offset (Hz).",
"format": "int64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"gps_time": {
"description": "Timestamp at the end of the transmission, provided by the gateway.\nGuaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.",
"format": "date-time",
"type": "string"
},
"hopping_width": {
"description": "Hopping width; a number describing the number of steps of the LR-FHSS grid.",
"format": "int64",
"type": "integer"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"properties": {
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Timestamp at which the Gateway Server has received the message.",
"format": "date-time",
"type": "string"
},
"relay": {
"properties": {
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"description": "Received signal strength indicator (dBm).\nThis value equals `channel_rssi`.",
"format": "float",
"type": "number"
},
"rssi_standard_deviation": {
"description": "Standard deviation of the RSSI during preamble.",
"format": "float",
"type": "number"
},
"signal_rssi": {
"description": "Received signal strength indicator of the signal (dBm).",
"format": "float",
"type": "number"
},
"snr": {
"description": "Signal-to-noise ratio (dB).",
"format": "float",
"type": "number"
},
"time": {
"description": "Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Gateway concentrator timestamp when the Rx finished (microseconds).",
"format": "int64",
"type": "integer"
},
"uplink_token": {
"description": "Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
lorawanTxSettings
Fields
Name | Type | Description |
---|---|---|
concentrator_timestamp |
string | 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. |
data_rate |
object | |
downlink |
object | Transmission settings for downlink. |
enable_crc |
boolean | Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled. |
frequency |
string | Frequency (Hz). |
time |
string | 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. |
timestamp |
integer | 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. |
Schema
{
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
lorawanUplinkMessage
Fields
Name | Type | Description |
---|---|---|
consumed_airtime |
string | Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the RawPayload size and the transmission settings. |
correlation_ids |
string | |
crc_status |
boolean | 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. |
device_channel_index |
integer | Index of the device channel that received the message. Set by Network Server. |
payload |
object | |
raw_payload |
string | |
received_at |
string | Server time when a component received the message. The Gateway Server and Network Server set this value to their local server time of reception. |
rx_metadata |
object | |
settings |
object | TxSettings contains the settings for a transmission. This message is used on both uplink and downlink. On downlink, this is a scheduled transmission. |
Schema
{
"consumed_airtime": {
"description": "Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the RawPayload size and the transmission settings.",
"type": "string"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"crc_status": {
"description": "Cyclic Redundancy Check (CRC) status of demodulating the frame.\nIf unset, the modulation does not support CRC or the gateway did not provide a CRC status.\nIf set to false, this message should not be processed.",
"type": "boolean"
},
"device_channel_index": {
"description": "Index of the device channel that received the message.\nSet by Network Server.",
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"received_at": {
"description": "Server time when a component received the message.\nThe Gateway Server and Network Server set this value to their local server time of reception.",
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"description": "Contains metadata for a received message. Each antenna that receives\na message corresponds to one RxMetadata.",
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_index": {
"format": "int64",
"type": "integer"
},
"channel_index": {
"description": "Index of the gateway channel that received the message.",
"format": "int64",
"type": "integer"
},
"channel_rssi": {
"description": "Received signal strength indicator of the channel (dBm).",
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"encrypted_fine_timestamp": {
"description": "Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "byte",
"type": "string"
},
"encrypted_fine_timestamp_key_id": {
"type": "string"
},
"fine_timestamp": {
"description": "Gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "uint64",
"type": "string"
},
"frequency_drift": {
"description": "Frequency drift in Hz between start and end of an LR-FHSS packet (signed).",
"format": "int32",
"type": "integer"
},
"frequency_offset": {
"description": "Frequency offset (Hz).",
"format": "int64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"gps_time": {
"description": "Timestamp at the end of the transmission, provided by the gateway.\nGuaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.",
"format": "date-time",
"type": "string"
},
"hopping_width": {
"description": "Hopping width; a number describing the number of steps of the LR-FHSS grid.",
"format": "int64",
"type": "integer"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"properties": {
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Timestamp at which the Gateway Server has received the message.",
"format": "date-time",
"type": "string"
},
"relay": {
"properties": {
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"description": "Received signal strength indicator (dBm).\nThis value equals `channel_rssi`.",
"format": "float",
"type": "number"
},
"rssi_standard_deviation": {
"description": "Standard deviation of the RSSI during preamble.",
"format": "float",
"type": "number"
},
"signal_rssi": {
"description": "Received signal strength indicator of the signal (dBm).",
"format": "float",
"type": "number"
},
"snr": {
"description": "Signal-to-noise ratio (dB).",
"format": "float",
"type": "number"
},
"time": {
"description": "Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Gateway concentrator timestamp when the Rx finished (microseconds).",
"format": "int64",
"type": "integer"
},
"uplink_token": {
"description": "Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
protobufAny
Fields
Name | Type | Description |
---|---|---|
@type |
string | A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics. |
Schema
{
"@type": {
"description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
"type": "string"
}
}
Show the schema of the message in JSON format.
protobufNullValue
Supported values
Name | Description |
---|---|
NULL_VALUE |
Null value. |
ADRAckDelayExponent
Supported values
ADR_ACK_DELAY_1
ADR_ACK_DELAY_2
ADR_ACK_DELAY_4
ADR_ACK_DELAY_8
ADR_ACK_DELAY_16
ADR_ACK_DELAY_32
ADR_ACK_DELAY_64
ADR_ACK_DELAY_128
ADR_ACK_DELAY_256
ADR_ACK_DELAY_512
ADR_ACK_DELAY_1024
ADR_ACK_DELAY_2048
ADR_ACK_DELAY_4096
ADR_ACK_DELAY_8192
ADR_ACK_DELAY_16384
ADR_ACK_DELAY_32768
Default: ADR_ACK_DELAY_1
ADRAckDelayExponentValue
Fields
Name | Type | Description |
---|---|---|
value |
string |
Schema
{
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
ADRAckLimitExponent
Supported values
ADR_ACK_LIMIT_1
ADR_ACK_LIMIT_2
ADR_ACK_LIMIT_4
ADR_ACK_LIMIT_8
ADR_ACK_LIMIT_16
ADR_ACK_LIMIT_32
ADR_ACK_LIMIT_64
ADR_ACK_LIMIT_128
ADR_ACK_LIMIT_256
ADR_ACK_LIMIT_512
ADR_ACK_LIMIT_1024
ADR_ACK_LIMIT_2048
ADR_ACK_LIMIT_4096
ADR_ACK_LIMIT_8192
ADR_ACK_LIMIT_16384
ADR_ACK_LIMIT_32768
Default: ADR_ACK_LIMIT_1
ADRAckLimitExponentValue
Fields
Name | Type | Description |
---|---|---|
value |
string |
Schema
{
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
ADRSettings
Fields
Name | Type | Description |
---|---|---|
disabled |
object | Configuration options for cases in which ADR is to be disabled completely. |
dynamic |
object | Configuration options for dynamic ADR. |
static |
object | Configuration options for static ADR. |
Schema
{
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ADRSettingsDisabledMode
APIKey
Fields
Name | Type | Description |
---|---|---|
created_at |
string | |
expires_at |
string | |
id |
string | Immutable and unique public identifier for the API key. Generated by the Access Server. |
key |
string | Immutable and unique secret value of the API key. Generated by the Access Server. |
name |
string | User-defined (friendly) name for the API key. |
rights |
string | Rights that are granted to this API key. |
updated_at |
string |
Schema
{
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"id": {
"description": "Immutable and unique public identifier for the API key.\nGenerated by the Access Server.",
"type": "string"
},
"key": {
"description": "Immutable and unique secret value of the API key.\nGenerated by the Access Server.",
"type": "string"
},
"name": {
"description": "User-defined (friendly) name for the API key.",
"type": "string"
},
"rights": {
"description": "Rights that are granted to this API key.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
APIKeys
Fields
Name | Type | Description |
---|---|---|
api_keys |
object |
Schema
{
"api_keys": {
"items": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"id": {
"description": "Immutable and unique public identifier for the API key.\nGenerated by the Access Server.",
"type": "string"
},
"key": {
"description": "Immutable and unique secret value of the API key.\nGenerated by the Access Server.",
"type": "string"
},
"name": {
"description": "User-defined (friendly) name for the API key.",
"type": "string"
},
"rights": {
"description": "Rights that are granted to this API key.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
AggregatedDutyCycle
Supported values
Name | Description |
---|---|
DUTY_CYCLE_1 |
100%. |
DUTY_CYCLE_2 |
50%. |
DUTY_CYCLE_4 |
25%. |
DUTY_CYCLE_8 |
12.5%. |
DUTY_CYCLE_16 |
6.25%. |
DUTY_CYCLE_32 |
3.125%. |
DUTY_CYCLE_64 |
1.5625%. |
DUTY_CYCLE_128 |
Roughly 0.781%. |
DUTY_CYCLE_256 |
Roughly 0.390%. |
DUTY_CYCLE_512 |
Roughly 0.195%. |
DUTY_CYCLE_1024 |
Roughly 0.098%. |
DUTY_CYCLE_2048 |
Roughly 0.049%. |
DUTY_CYCLE_4096 |
Roughly 0.024%. |
DUTY_CYCLE_8192 |
Roughly 0.012%. |
DUTY_CYCLE_16384 |
Roughly 0.006%. |
DUTY_CYCLE_32768 |
Roughly 0.003%. |
AggregatedDutyCycleValue
Fields
Name | Type | Description |
---|---|---|
value |
string | - DUTY_CYCLE_1: 100%. - DUTY_CYCLE_2: 50%. - DUTY_CYCLE_4: 25%. - DUTY_CYCLE_8: 12.5%. - DUTY_CYCLE_16: 6.25%. - DUTY_CYCLE_32: 3.125%. - DUTY_CYCLE_64: 1.5625%. - DUTY_CYCLE_128: Roughly 0.781%. - DUTY_CYCLE_256: Roughly 0.390%. - DUTY_CYCLE_512: Roughly 0.195%. - DUTY_CYCLE_1024: Roughly 0.098%. - DUTY_CYCLE_2048: Roughly 0.049%. - DUTY_CYCLE_4096: Roughly 0.024%. - DUTY_CYCLE_8192: Roughly 0.012%. - DUTY_CYCLE_16384: Roughly 0.006%. - DUTY_CYCLE_32768: Roughly 0.003%. |
Schema
{
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
AlertNotificationProfile
Fields
Name | Type | Description |
---|---|---|
created_at |
string | |
description |
string | |
ids |
object | |
is_default |
boolean | Whether this profile is the default alert notification profile for the network. |
name |
string | |
receivers_ids |
object | List of receivers that will be notified when an alert is triggered for this profile. |
updated_at |
string |
Schema
{
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"type": "string"
},
"ids": {
"properties": {
"profile_id": {
"type": "string"
}
},
"type": "object"
},
"is_default": {
"description": "Whether this profile is the default alert notification profile for the network.",
"type": "boolean"
},
"name": {
"type": "string"
},
"receivers_ids": {
"description": "List of receivers that will be notified when an alert is triggered for this profile.",
"items": {
"properties": {
"receiver_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
AlertNotificationProfileIdentifiers
Fields
Name | Type | Description |
---|---|---|
profile_id |
string |
Schema
{
"profile_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
AlertNotificationProfileRegistryUpdateBody
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | |
profile |
object |
Schema
{
"field_mask": {
"type": "string"
},
"profile": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"type": "string"
},
"ids": {
"description": "The identifiers of the profile. These are public and can be seen by any authenticated user in the network.",
"title": "The identifiers of the profile. These are public and can be seen by any authenticated user in the network.",
"type": "object"
},
"is_default": {
"description": "Whether this profile is the default alert notification profile for the network.",
"type": "boolean"
},
"name": {
"type": "string"
},
"receivers_ids": {
"description": "List of receivers that will be notified when an alert is triggered for this profile.",
"items": {
"properties": {
"receiver_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AlertNotificationProfiles
Fields
Name | Type | Description |
---|---|---|
profiles |
object |
Schema
{
"profiles": {
"items": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"type": "string"
},
"ids": {
"properties": {
"profile_id": {
"type": "string"
}
},
"type": "object"
},
"is_default": {
"description": "Whether this profile is the default alert notification profile for the network.",
"type": "boolean"
},
"name": {
"type": "string"
},
"receivers_ids": {
"description": "List of receivers that will be notified when an alert is triggered for this profile.",
"items": {
"properties": {
"receiver_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
AlertNotificationReceiver
Fields
Name | Type | Description |
---|---|---|
created_at |
string | |
email |
object | |
ids |
object | |
name |
string | |
sms |
object | |
updated_at |
string | |
webhook |
object |
Schema
{
"created_at": {
"format": "date-time",
"type": "string"
},
"email": {
"properties": {
"recipient": {
"type": "string"
}
},
"type": "object"
},
"ids": {
"properties": {
"receiver_id": {
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"sms": {
"properties": {
"phone_number": {
"description": "According to the international phone numbering plan (ITU-T E. 164)\nphone numbers cannot contain less than 7 digits and more than 15 digits.\nThe validation is done via an regex and accounts for the '+' formating character.",
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"webhook": {
"properties": {
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"url": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AlertNotificationReceiverEmail
Fields
Name | Type | Description |
---|---|---|
recipient |
string |
Schema
{
"recipient": {
"type": "string"
}
}
Show the schema of the message in JSON format.
AlertNotificationReceiverIdentifiers
Fields
Name | Type | Description |
---|---|---|
receiver_id |
string |
Schema
{
"receiver_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
AlertNotificationReceiverRegistryUpdateBody
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | |
receiver |
object |
Schema
{
"field_mask": {
"type": "string"
},
"receiver": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"email": {
"properties": {
"recipient": {
"type": "string"
}
},
"type": "object"
},
"ids": {
"description": "The identifiers of the receiver. These can be seen by any admin user in the network.",
"title": "The identifiers of the receiver. These can be seen by any admin user in the network.",
"type": "object"
},
"name": {
"type": "string"
},
"sms": {
"properties": {
"phone_number": {
"description": "According to the international phone numbering plan (ITU-T E. 164)\nphone numbers cannot contain less than 7 digits and more than 15 digits.\nThe validation is done via an regex and accounts for the '+' formating character.",
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"webhook": {
"properties": {
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AlertNotificationReceivers
Fields
Name | Type | Description |
---|---|---|
receivers |
object |
Schema
{
"receivers": {
"items": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"email": {
"properties": {
"recipient": {
"type": "string"
}
},
"type": "object"
},
"ids": {
"properties": {
"receiver_id": {
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"sms": {
"properties": {
"phone_number": {
"description": "According to the international phone numbering plan (ITU-T E. 164)\nphone numbers cannot contain less than 7 digits and more than 15 digits.\nThe validation is done via an regex and accounts for the '+' formating character.",
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"webhook": {
"properties": {
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
AppAsDownlinkQueuePushBody
Fields
Name | Type | Description |
---|---|---|
downlinks |
object | |
end_device_ids |
object |
Schema
{
"downlinks": {
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AppAsDownlinkQueueReplaceBody
Fields
Name | Type | Description |
---|---|---|
downlinks |
object | |
end_device_ids |
object |
Schema
{
"downlinks": {
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"end_device_ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AppSKeyResponse
Fields
Name | Type | Description |
---|---|---|
app_s_key |
object |
Schema
{
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
Application
Fields
Name | Type | Description |
---|---|---|
administrative_contact |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
application_server_address |
string | The address of the Application Server where this application is supposed to be registered. If set, this fields indicates where end devices for this application should 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. |
attributes |
object | Key-value attributes for this application. Typically used for organizing applications or for storing integration-specific data. |
contact_info |
object | Contact information for this application. Typically used to indicate who to contact with technical/security questions about the application. This field is deprecated. Use administrative_contact and technical_contact instead. |
created_at |
string | When the application was created. This information is public and can be seen by any authenticated user in the network. |
deleted_at |
string | When the application was deleted. This information is public and can be seen by any authenticated user in the network. |
description |
string | A description for the application. |
dev_eui_counter |
integer | |
end_device_limit |
string | The limit of the number of end devices that can be registered for this application. This field can only be modified by admins. |
ids |
object | |
join_server_address |
string | The address of the Join Server where this application is supposed to be registered. If set, this fields indicates where end devices for this application should 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. |
name |
string | The name of the application. |
network_server_address |
string | The address of the Network Server where this application is supposed to be registered. If set, this fields indicates where end devices for this application should 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. |
technical_contact |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
updated_at |
string | When the application was last updated. This information is public and can be seen by any authenticated user in the network. |
Schema
{
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"application_server_address": {
"description": "The address of the Application Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this application. Typically used for organizing applications or for storing integration-specific data.",
"type": "object"
},
"contact_info": {
"description": "Contact information for this application. Typically used to indicate who to contact with technical/security questions about the application.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the application was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the application was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the application.",
"type": "string"
},
"dev_eui_counter": {
"format": "int64",
"type": "integer"
},
"end_device_limit": {
"description": "The limit of the number of end devices that can be registered for this application.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"name": {
"description": "The name of the application.",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the application was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationAccessCreateAPIKeyBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
expires_at |
string | |
name |
string | |
rights |
string |
Schema
{
"application_ids": {
"type": "object"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationAccessSetCollaboratorBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
collaborator |
object |
Schema
{
"application_ids": {
"type": "object"
},
"collaborator": {
"properties": {
"ids": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationAccessUpdateAPIKeyBody
Fields
Name | Type | Description |
---|---|---|
api_key |
object | |
application_ids |
object | |
field_mask |
string | The names of the api key fields that should be updated. |
Schema
{
"api_key": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"key": {
"description": "Immutable and unique secret value of the API key.\nGenerated by the Access Server.",
"type": "string"
},
"name": {
"description": "User-defined (friendly) name for the API key.",
"type": "string"
},
"rights": {
"description": "Rights that are granted to this API key.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"application_ids": {
"type": "object"
},
"field_mask": {
"description": "The names of the api key fields that should be updated.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationActivationSettingRegistrySetBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
field_mask |
string | |
settings |
object |
Schema
{
"application_ids": {
"type": "object"
},
"field_mask": {
"type": "string"
},
"settings": {
"properties": {
"application_server_id": {
"description": "The AS-ID of the Application Server to use.",
"type": "string"
},
"home_net_id": {
"description": "Home NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"kek": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"kek_label": {
"description": "The KEK label to use for wrapping application keys.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationActivationSettings
Fields
Name | Type | Description |
---|---|---|
application_server_id |
string | The AS-ID of the Application Server to use. |
home_net_id |
string | Home NetID. |
kek |
object | |
kek_label |
string | The KEK label to use for wrapping application keys. |
Schema
{
"application_server_id": {
"description": "The AS-ID of the Application Server to use.",
"type": "string"
},
"home_net_id": {
"description": "Home NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"kek": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"kek_label": {
"description": "The KEK label to use for wrapping application keys.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationDownlink
Fields
Name | Type | Description |
---|---|---|
class_b_c |
object | |
confirmed |
boolean | |
confirmed_retry |
object | |
correlation_ids |
string | |
decoded_payload |
object | 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. |
decoded_payload_warnings |
string | Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink). |
f_cnt |
integer | |
f_port |
integer | |
frm_payload |
string | The frame payload of the downlink message. The payload is encrypted if the skip_payload_crypto field of the EndDevice is true. |
priority |
string | |
session_key_id |
string | Join Server issued identifier for the session keys used by this downlink. |
Schema
{
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationDownlinkFailed
Fields
Name | Type | Description |
---|---|---|
downlink |
object | |
error |
ErrorDetails |
Schema
{
"downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"error": {
"$ref": "#/definitions/v3ErrorDetails"
}
}
Show the schema of the message in JSON format.
ApplicationDownlinks
Fields
Name | Type | Description |
---|---|---|
downlinks |
object |
Schema
{
"downlinks": {
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationEndDeviceStatistic
Fields
Name | Type | Description |
---|---|---|
best_channel_rssi |
number | |
best_gateway_ids |
object | |
end_device_ids |
object | |
last_packet_error_rate |
number | |
last_seen |
string | |
packet_count |
string |
Schema
{
"best_channel_rssi": {
"format": "float",
"type": "number"
},
"best_gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"last_packet_error_rate": {
"format": "float",
"type": "number"
},
"last_seen": {
"format": "date-time",
"type": "string"
},
"packet_count": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationEndDeviceStatistics
Fields
Name | Type | Description |
---|---|---|
stats |
object |
Schema
{
"stats": {
"items": {
"description": "Application end devices statistic.",
"properties": {
"best_channel_rssi": {
"format": "float",
"type": "number"
},
"best_gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"last_packet_error_rate": {
"format": "float",
"type": "number"
},
"last_seen": {
"format": "date-time",
"type": "string"
},
"packet_count": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationEventForwardCount
Fields
Name | Type | Description |
---|---|---|
count |
object | Application Server forwarded events count per event name. |
time |
string |
Schema
{
"count": {
"additionalProperties": {
"format": "uint64",
"type": "string"
},
"description": "Application Server forwarded events count per event name.",
"type": "object"
},
"time": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationEventsForwardCount
Fields
Name | Type | Description |
---|---|---|
event_forward_count |
object |
Schema
{
"event_forward_count": {
"items": {
"properties": {
"count": {
"additionalProperties": {
"format": "uint64",
"type": "string"
},
"description": "Application Server forwarded events count per event name.",
"type": "object"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationGatewaysSeen
Fields
Name | Type | Description |
---|---|---|
gateways |
object |
Schema
{
"gateways": {
"items": {
"properties": {
"best_channel_rssi": {
"format": "float",
"type": "number"
},
"gateway_id": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_count": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationIdentifiers
Fields
Name | Type | Description |
---|---|---|
application_id |
string |
Schema
{
"application_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationInvalidatedDownlinks
Fields
Name | Type | Description |
---|---|---|
downlinks |
object | |
last_f_cnt_down |
integer | |
session_key_id |
string |
Schema
{
"downlinks": {
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"last_f_cnt_down": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationJoinAccept
Fields
Name | Type | Description |
---|---|---|
app_s_key |
object | |
invalidated_downlinks |
object | Downlink messages in the queue that got invalidated because of the session change. |
pending_session |
boolean | Indicates whether the security context refers to the pending session, i.e. when this join-accept is an answer to a rejoin-request. |
received_at |
string | Server time when the Network Server received the message. |
session_key_id |
string | Join Server issued identifier for the session keys negotiated in this join. |
Schema
{
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"invalidated_downlinks": {
"description": "Downlink messages in the queue that got invalidated because of the session change.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"pending_session": {
"description": "Indicates whether the security context refers to the pending session, i.e. when this join-accept is an answer to a\nrejoin-request.",
"type": "boolean"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys negotiated in this join.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationLink
Fields
Name | Type | Description |
---|---|---|
default_formatters |
object | |
skip_payload_crypto |
boolean | Skip decryption of uplink payloads and encryption of downlink payloads. Leave empty for the using the Application Server's default setting. |
Schema
{
"default_formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nLeave empty for the using the Application Server's default setting.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ApplicationLinkStats
Fields
Name | Type | Description |
---|---|---|
downlink_count |
string | Number of downlink messages forwarded. |
last_downlink_forwarded_at |
string | Timestamp when the last downlink message has been forwarded to a Network Server. |
last_up_received_at |
string | Timestamp when the last upstream message has been received from a Network Server. This can be a join-accept, uplink message or downlink message event. |
linked_at |
string | |
network_server_address |
string | |
up_count |
string | Number of upstream messages received. |
Schema
{
"downlink_count": {
"description": "Number of downlink messages forwarded.",
"format": "uint64",
"type": "string"
},
"last_downlink_forwarded_at": {
"description": "Timestamp when the last downlink message has been forwarded to a Network Server.",
"format": "date-time",
"type": "string"
},
"last_up_received_at": {
"description": "Timestamp when the last upstream message has been received from a Network Server.\nThis can be a join-accept, uplink message or downlink message event.",
"format": "date-time",
"type": "string"
},
"linked_at": {
"format": "date-time",
"type": "string"
},
"network_server_address": {
"type": "string"
},
"up_count": {
"description": "Number of upstream messages received.",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationLocation
Fields
Name | Type | Description |
---|---|---|
attributes |
object | |
location |
object | |
service |
string |
Schema
{
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"service": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationPackage
Fields
Name | Type | Description |
---|---|---|
default_f_port |
integer | |
name |
string |
Schema
{
"default_f_port": {
"format": "int64",
"type": "integer"
},
"name": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationPackageAssociation
Fields
Name | Type | Description |
---|---|---|
created_at |
string | |
data |
object | |
ids |
object | |
package_name |
string | |
updated_at |
string |
Schema
{
"created_at": {
"format": "date-time",
"type": "string"
},
"data": {
"type": "object"
},
"ids": {
"properties": {
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"package_name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationPackageAssociationIdentifiers
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
f_port |
integer |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
ApplicationPackageAssociations
Fields
Name | Type | Description |
---|---|---|
associations |
object |
Schema
{
"associations": {
"items": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"data": {
"type": "object"
},
"ids": {
"properties": {
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"package_name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationPackageDefaultAssociation
Fields
Name | Type | Description |
---|---|---|
created_at |
string | |
data |
object | |
ids |
object | |
package_name |
string | |
updated_at |
string |
Schema
{
"created_at": {
"format": "date-time",
"type": "string"
},
"data": {
"type": "object"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"package_name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationPackageDefaultAssociationIdentifiers
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
f_port |
integer |
Schema
{
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
ApplicationPackageDefaultAssociations
Fields
Name | Type | Description |
---|---|---|
defaults |
object |
Schema
{
"defaults": {
"items": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"data": {
"type": "object"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"package_name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationPackages
Fields
Name | Type | Description |
---|---|---|
packages |
object |
Schema
{
"packages": {
"items": {
"properties": {
"default_f_port": {
"format": "int64",
"type": "integer"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationPubSub
Fields
Name | Type | Description |
---|---|---|
aws_iot |
object | |
base_topic |
string | Base topic name to which the messages topic is appended. |
created_at |
string | |
downlink_ack |
object | |
downlink_failed |
object | |
downlink_nack |
object | |
downlink_push |
object | |
downlink_queue_invalidated |
object | |
downlink_queued |
object | |
downlink_replace |
object | |
downlink_sent |
object | |
format |
string | The format to use for the body. Supported values depend on the Application Server configuration. |
ids |
object | |
join_accept |
object | |
location_solved |
object | |
mqtt |
object | The MQTT provider settings. |
nats |
object | The NATS provider settings. |
service_data |
object | |
updated_at |
string | |
uplink_message |
object | |
uplink_normalized |
object |
Schema
{
"aws_iot": {
"properties": {
"access_key": {
"properties": {
"access_key_id": {
"type": "string"
},
"secret_access_key": {
"type": "string"
},
"session_token": {
"type": "string"
}
},
"type": "object"
},
"assume_role": {
"properties": {
"arn": {
"type": "string"
},
"external_id": {
"type": "string"
},
"session_duration": {
"type": "string"
}
},
"type": "object"
},
"default": {
"properties": {
"stack_name": {
"description": "The stack name that is associated with the CloudFormation deployment of The Things Stack Enterprise integration.",
"type": "string"
}
},
"type": "object"
},
"endpoint_address": {
"description": "The endpoint address to connect to. If the endpoint address is left empty,\nthe integration will try to discover it.",
"type": "string"
},
"region": {
"description": "The AWS region.",
"type": "string"
}
},
"type": "object"
},
"base_topic": {
"description": "Base topic name to which the messages topic is appended.",
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"downlink_ack": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_failed": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_nack": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_push": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_queue_invalidated": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_queued": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_replace": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_sent": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"format": {
"description": "The format to use for the body.\nSupported values depend on the Application Server configuration.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"pub_sub_id": {
"type": "string"
}
},
"type": "object"
},
"join_accept": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"location_solved": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"mqtt": {
"description": "The MQTT provider settings.",
"properties": {
"client_id": {
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers to use on MQTT-over-Websocket connections.",
"type": "object"
},
"password": {
"type": "string"
},
"publish_qos": {
"default": "AT_MOST_ONCE",
"enum": [
"AT_MOST_ONCE",
"AT_LEAST_ONCE",
"EXACTLY_ONCE"
],
"type": "string"
},
"server_url": {
"type": "string"
},
"subscribe_qos": {
"default": "AT_MOST_ONCE",
"enum": [
"AT_MOST_ONCE",
"AT_LEAST_ONCE",
"EXACTLY_ONCE"
],
"type": "string"
},
"tls_ca": {
"description": "The server Root CA certificate. PEM formatted.",
"format": "byte",
"type": "string"
},
"tls_client_cert": {
"description": "The client certificate. PEM formatted.",
"format": "byte",
"type": "string"
},
"tls_client_key": {
"description": "The client private key. PEM formatted.",
"format": "byte",
"type": "string"
},
"use_tls": {
"type": "boolean"
},
"username": {
"type": "string"
}
},
"type": "object"
},
"nats": {
"description": "The NATS provider settings.",
"properties": {
"server_url": {
"description": "The server connection URL.",
"type": "string"
}
},
"type": "object"
},
"service_data": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"uplink_message": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"uplink_normalized": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationPubSubFormats
Fields
Name | Type | Description |
---|---|---|
formats |
object | Format and description. |
Schema
{
"formats": {
"additionalProperties": {
"type": "string"
},
"description": "Format and description.",
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationPubSubIdentifiers
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
pub_sub_id |
string |
Schema
{
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"pub_sub_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationPubSubMessage
Fields
Name | Type | Description |
---|---|---|
topic |
string | The topic on which the Application Server publishes or receives the messages. |
Schema
{
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationPubSubRegistrySetBody
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | |
pubsub |
object |
Schema
{
"field_mask": {
"type": "string"
},
"pubsub": {
"properties": {
"aws_iot": {
"properties": {
"access_key": {
"properties": {
"access_key_id": {
"type": "string"
},
"secret_access_key": {
"type": "string"
},
"session_token": {
"type": "string"
}
},
"type": "object"
},
"assume_role": {
"properties": {
"arn": {
"type": "string"
},
"external_id": {
"type": "string"
},
"session_duration": {
"type": "string"
}
},
"type": "object"
},
"default": {
"properties": {
"stack_name": {
"description": "The stack name that is associated with the CloudFormation deployment of The Things Stack Enterprise integration.",
"type": "string"
}
},
"type": "object"
},
"endpoint_address": {
"description": "The endpoint address to connect to. If the endpoint address is left empty,\nthe integration will try to discover it.",
"type": "string"
},
"region": {
"description": "The AWS region.",
"type": "string"
}
},
"type": "object"
},
"base_topic": {
"description": "Base topic name to which the messages topic is appended.",
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"downlink_ack": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_failed": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_nack": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_push": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_queue_invalidated": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_queued": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_replace": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_sent": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"format": {
"description": "The format to use for the body.\nSupported values depend on the Application Server configuration.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"type": "object"
},
"pub_sub_id": {
"type": "string"
}
},
"type": "object"
},
"join_accept": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"location_solved": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"mqtt": {
"description": "The MQTT provider settings.",
"properties": {
"client_id": {
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers to use on MQTT-over-Websocket connections.",
"type": "object"
},
"password": {
"type": "string"
},
"publish_qos": {
"default": "AT_MOST_ONCE",
"enum": [
"AT_MOST_ONCE",
"AT_LEAST_ONCE",
"EXACTLY_ONCE"
],
"type": "string"
},
"server_url": {
"type": "string"
},
"subscribe_qos": {
"default": "AT_MOST_ONCE",
"enum": [
"AT_MOST_ONCE",
"AT_LEAST_ONCE",
"EXACTLY_ONCE"
],
"type": "string"
},
"tls_ca": {
"description": "The server Root CA certificate. PEM formatted.",
"format": "byte",
"type": "string"
},
"tls_client_cert": {
"description": "The client certificate. PEM formatted.",
"format": "byte",
"type": "string"
},
"tls_client_key": {
"description": "The client private key. PEM formatted.",
"format": "byte",
"type": "string"
},
"use_tls": {
"type": "boolean"
},
"username": {
"type": "string"
}
},
"type": "object"
},
"nats": {
"description": "The NATS provider settings.",
"properties": {
"server_url": {
"description": "The server connection URL.",
"type": "string"
}
},
"type": "object"
},
"service_data": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"uplink_message": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"uplink_normalized": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationPubSubs
Fields
Name | Type | Description |
---|---|---|
pubsubs |
object |
Schema
{
"pubsubs": {
"items": {
"properties": {
"aws_iot": {
"properties": {
"access_key": {
"properties": {
"access_key_id": {
"type": "string"
},
"secret_access_key": {
"type": "string"
},
"session_token": {
"type": "string"
}
},
"type": "object"
},
"assume_role": {
"properties": {
"arn": {
"type": "string"
},
"external_id": {
"type": "string"
},
"session_duration": {
"type": "string"
}
},
"type": "object"
},
"default": {
"properties": {
"stack_name": {
"description": "The stack name that is associated with the CloudFormation deployment of The Things Stack Enterprise integration.",
"type": "string"
}
},
"type": "object"
},
"endpoint_address": {
"description": "The endpoint address to connect to. If the endpoint address is left empty,\nthe integration will try to discover it.",
"type": "string"
},
"region": {
"description": "The AWS region.",
"type": "string"
}
},
"type": "object"
},
"base_topic": {
"description": "Base topic name to which the messages topic is appended.",
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"downlink_ack": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_failed": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_nack": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_push": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_queue_invalidated": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_queued": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_replace": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"downlink_sent": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"format": {
"description": "The format to use for the body.\nSupported values depend on the Application Server configuration.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"pub_sub_id": {
"type": "string"
}
},
"type": "object"
},
"join_accept": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"location_solved": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"mqtt": {
"description": "The MQTT provider settings.",
"properties": {
"client_id": {
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers to use on MQTT-over-Websocket connections.",
"type": "object"
},
"password": {
"type": "string"
},
"publish_qos": {
"default": "AT_MOST_ONCE",
"enum": [
"AT_MOST_ONCE",
"AT_LEAST_ONCE",
"EXACTLY_ONCE"
],
"type": "string"
},
"server_url": {
"type": "string"
},
"subscribe_qos": {
"default": "AT_MOST_ONCE",
"enum": [
"AT_MOST_ONCE",
"AT_LEAST_ONCE",
"EXACTLY_ONCE"
],
"type": "string"
},
"tls_ca": {
"description": "The server Root CA certificate. PEM formatted.",
"format": "byte",
"type": "string"
},
"tls_client_cert": {
"description": "The client certificate. PEM formatted.",
"format": "byte",
"type": "string"
},
"tls_client_key": {
"description": "The client private key. PEM formatted.",
"format": "byte",
"type": "string"
},
"use_tls": {
"type": "boolean"
},
"username": {
"type": "string"
}
},
"type": "object"
},
"nats": {
"description": "The NATS provider settings.",
"properties": {
"server_url": {
"description": "The server connection URL.",
"type": "string"
}
},
"type": "object"
},
"service_data": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"uplink_message": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
},
"uplink_normalized": {
"properties": {
"topic": {
"description": "The topic on which the Application Server publishes or receives the messages.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationRegistryCreateBody
Fields
Name | Type | Description |
---|---|---|
application |
object | Application is the message that defines an Application in the network. |
collaborator |
object | Collaborator to grant all rights on the newly created application. |
Schema
{
"application": {
"description": "Application is the message that defines an Application in the network.",
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"application_server_address": {
"description": "The address of the Application Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this application. Typically used for organizing applications or for storing integration-specific data.",
"type": "object"
},
"contact_info": {
"description": "Contact information for this application. Typically used to indicate who to contact with technical/security questions about the application.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the application was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the application was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the application.",
"type": "string"
},
"dev_eui_counter": {
"format": "int64",
"type": "integer"
},
"end_device_limit": {
"description": "The limit of the number of end devices that can be registered for this application.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"name": {
"description": "The name of the application.",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the application was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"collaborator": {
"description": "Collaborator to grant all rights on the newly created application.",
"properties": {
"organization_ids": {
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"title": "Collaborator to grant all rights on the newly created application.",
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationRegistryUpdateBody
Fields
Name | Type | Description |
---|---|---|
application |
object | Application is the message that defines an Application in the network. |
field_mask |
string | The names of the application fields that should be updated. |
Schema
{
"application": {
"description": "Application is the message that defines an Application in the network.",
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"application_server_address": {
"description": "The address of the Application Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this application. Typically used for organizing applications or for storing integration-specific data.",
"type": "object"
},
"contact_info": {
"description": "Contact information for this application. Typically used to indicate who to contact with technical/security questions about the application.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the application was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the application was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the application.",
"type": "string"
},
"dev_eui_counter": {
"format": "int64",
"type": "integer"
},
"end_device_limit": {
"description": "The limit of the number of end devices that can be registered for this application.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"description": "The identifiers of the application. These are public and can be seen by any authenticated user in the network.",
"title": "The identifiers of the application. These are public and can be seen by any authenticated user in the network.",
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"name": {
"description": "The name of the application.",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the application was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the application fields that should be updated.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationServiceData
Fields
Name | Type | Description |
---|---|---|
data |
object | |
service |
string |
Schema
{
"data": {
"type": "object"
},
"service": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationUp
Fields
Name | Type | Description |
---|---|---|
correlation_ids |
string | |
downlink_ack |
object | |
downlink_failed |
object | |
downlink_nack |
object | |
downlink_queue_invalidated |
object | |
downlink_queued |
object | |
downlink_sent |
object | |
end_device_ids |
object | |
join_accept |
object | |
location_solved |
object | |
received_at |
string | Server time when the Application Server received the message. |
service_data |
object | |
simulated |
boolean | 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. |
uplink_message |
object | |
uplink_normalized |
object |
Schema
{
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"downlink_ack": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"downlink_failed": {
"properties": {
"downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"error": {
"$ref": "#/definitions/v3ErrorDetails"
}
},
"type": "object"
},
"downlink_nack": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"downlink_queue_invalidated": {
"properties": {
"downlinks": {
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"last_f_cnt_down": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"downlink_queued": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"downlink_sent": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_accept": {
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"invalidated_downlinks": {
"description": "Downlink messages in the queue that got invalidated because of the session change.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"pending_session": {
"description": "Indicates whether the security context refers to the pending session, i.e. when this join-accept is an answer to a\nrejoin-request.",
"type": "boolean"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys negotiated in this join.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"location_solved": {
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"service": {
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Server time when the Application Server received the message.",
"format": "date-time",
"type": "string"
},
"service_data": {
"properties": {
"data": {
"type": "object"
},
"service": {
"type": "string"
}
},
"type": "object"
},
"simulated": {
"description": "Signals if the message is coming from the Network Server or is simulated.\nThe Application Server automatically sets this field, and callers must not manually set it.",
"type": "boolean"
},
"uplink_message": {
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"confirmed": {
"description": "Indicates whether the end device used confirmed data uplink.",
"type": "boolean"
},
"consumed_airtime": {
"description": "Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings.",
"type": "string"
},
"decoded_payload": {
"description": "The decoded frame payload of the uplink message.\nThis field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while decoding the frm_payload.",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"description": "LoRaWAN FCntUp of the uplink message.",
"format": "int64",
"type": "integer"
},
"f_port": {
"description": "LoRaWAN FPort of the uplink message.",
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the uplink message.\nThe payload is still encrypted if the skip_payload_crypto field of the EndDevice\nis true, which is indicated by the presence of the app_s_key field.",
"format": "byte",
"type": "string"
},
"last_a_f_cnt_down": {
"description": "The last AFCntDown of the current session.\nThis field is only present if the skip_payload_crypto field of the EndDevice\nis true.\nCan be used with app_s_key to encrypt downlink payloads.",
"format": "int64",
"type": "integer"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "End device location metadata, set by the Application Server while handling the message.",
"type": "object"
},
"network_ids": {
"description": "Identifies a Network Server.",
"properties": {
"cluster_address": {
"description": "Cluster address of the Network Server.",
"type": "string"
},
"cluster_id": {
"description": "Cluster identifier of the Network Server.",
"type": "string"
},
"net_id": {
"description": "LoRa Alliance NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"description": "LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"tenant_address": {
"description": "Optional tenant address for multi-tenant deployments.",
"type": "string"
},
"tenant_id": {
"description": "Optional tenant identifier for multi-tenant deployments.",
"type": "string"
}
},
"type": "object"
},
"normalized_payload": {
"description": "The normalized frame payload of the uplink message.\nThis field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).\nIf the message processor is a custom script, there is no uplink normalizer script and the decoded output is valid\nnormalized payload, this field contains the decoded payload.",
"items": {
"type": "object"
},
"type": "array"
},
"normalized_payload_warnings": {
"description": "Warnings generated by the message processor while normalizing the decoded payload.",
"items": {
"type": "string"
},
"type": "array"
},
"packet_error_rate": {
"description": "Packet error rate of the recent uplinks in the current session.\nCalculated by the Network Server. The value is defined in the [0, 1] interval.",
"format": "float",
"type": "number"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"description": "A list of metadata for each antenna of each gateway that received this message.",
"items": {
"description": "Contains metadata for a received message. Each antenna that receives\na message corresponds to one RxMetadata.",
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_index": {
"format": "int64",
"type": "integer"
},
"channel_index": {
"description": "Index of the gateway channel that received the message.",
"format": "int64",
"type": "integer"
},
"channel_rssi": {
"description": "Received signal strength indicator of the channel (dBm).",
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"encrypted_fine_timestamp": {
"description": "Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "byte",
"type": "string"
},
"encrypted_fine_timestamp_key_id": {
"type": "string"
},
"fine_timestamp": {
"description": "Gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "uint64",
"type": "string"
},
"frequency_drift": {
"description": "Frequency drift in Hz between start and end of an LR-FHSS packet (signed).",
"format": "int32",
"type": "integer"
},
"frequency_offset": {
"description": "Frequency offset (Hz).",
"format": "int64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"gps_time": {
"description": "Timestamp at the end of the transmission, provided by the gateway.\nGuaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.",
"format": "date-time",
"type": "string"
},
"hopping_width": {
"description": "Hopping width; a number describing the number of steps of the LR-FHSS grid.",
"format": "int64",
"type": "integer"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"properties": {
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Timestamp at which the Gateway Server has received the message.",
"format": "date-time",
"type": "string"
},
"relay": {
"properties": {
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"description": "Received signal strength indicator (dBm).\nThis value equals `channel_rssi`.",
"format": "float",
"type": "number"
},
"rssi_standard_deviation": {
"description": "Standard deviation of the RSSI during preamble.",
"format": "float",
"type": "number"
},
"signal_rssi": {
"description": "Received signal strength indicator of the signal (dBm).",
"format": "float",
"type": "number"
},
"snr": {
"description": "Signal-to-noise ratio (dB).",
"format": "float",
"type": "number"
},
"time": {
"description": "Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Gateway concentrator timestamp when the Rx finished (microseconds).",
"format": "int64",
"type": "integer"
},
"uplink_token": {
"description": "Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this uplink.",
"format": "byte",
"type": "string"
},
"settings": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"uplink_normalized": {
"properties": {
"confirmed": {
"description": "Indicates whether the end device used confirmed data uplink.",
"type": "boolean"
},
"consumed_airtime": {
"description": "Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings.",
"type": "string"
},
"f_cnt": {
"description": "LoRaWAN FCntUp of the uplink message.",
"format": "int64",
"type": "integer"
},
"f_port": {
"description": "LoRaWAN FPort of the uplink message.",
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the uplink message.\nThis field is always decrypted with AppSKey.",
"format": "byte",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "End device location metadata, set by the Application Server while handling the message.",
"type": "object"
},
"network_ids": {
"description": "Identifies a Network Server.",
"properties": {
"cluster_address": {
"description": "Cluster address of the Network Server.",
"type": "string"
},
"cluster_id": {
"description": "Cluster identifier of the Network Server.",
"type": "string"
},
"net_id": {
"description": "LoRa Alliance NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"description": "LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"tenant_address": {
"description": "Optional tenant address for multi-tenant deployments.",
"type": "string"
},
"tenant_id": {
"description": "Optional tenant identifier for multi-tenant deployments.",
"type": "string"
}
},
"type": "object"
},
"normalized_payload": {
"description": "The normalized frame payload of the uplink message.\nThis field is set for each item in normalized_payload in the corresponding ApplicationUplink message.",
"type": "object"
},
"normalized_payload_warnings": {
"description": "This field is set to normalized_payload_warnings in the corresponding ApplicationUplink message.",
"items": {
"type": "string"
},
"type": "array"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"description": "A list of metadata for each antenna of each gateway that received this message.",
"items": {
"description": "Contains metadata for a received message. Each antenna that receives\na message corresponds to one RxMetadata.",
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_index": {
"format": "int64",
"type": "integer"
},
"channel_index": {
"description": "Index of the gateway channel that received the message.",
"format": "int64",
"type": "integer"
},
"channel_rssi": {
"description": "Received signal strength indicator of the channel (dBm).",
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"encrypted_fine_timestamp": {
"description": "Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "byte",
"type": "string"
},
"encrypted_fine_timestamp_key_id": {
"type": "string"
},
"fine_timestamp": {
"description": "Gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "uint64",
"type": "string"
},
"frequency_drift": {
"description": "Frequency drift in Hz between start and end of an LR-FHSS packet (signed).",
"format": "int32",
"type": "integer"
},
"frequency_offset": {
"description": "Frequency offset (Hz).",
"format": "int64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"gps_time": {
"description": "Timestamp at the end of the transmission, provided by the gateway.\nGuaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.",
"format": "date-time",
"type": "string"
},
"hopping_width": {
"description": "Hopping width; a number describing the number of steps of the LR-FHSS grid.",
"format": "int64",
"type": "integer"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"properties": {
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Timestamp at which the Gateway Server has received the message.",
"format": "date-time",
"type": "string"
},
"relay": {
"properties": {
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"description": "Received signal strength indicator (dBm).\nThis value equals `channel_rssi`.",
"format": "float",
"type": "number"
},
"rssi_standard_deviation": {
"description": "Standard deviation of the RSSI during preamble.",
"format": "float",
"type": "number"
},
"signal_rssi": {
"description": "Received signal strength indicator of the signal (dBm).",
"format": "float",
"type": "number"
},
"snr": {
"description": "Signal-to-noise ratio (dB).",
"format": "float",
"type": "number"
},
"time": {
"description": "Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Gateway concentrator timestamp when the Rx finished (microseconds).",
"format": "int64",
"type": "integer"
},
"uplink_token": {
"description": "Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this uplink.",
"format": "byte",
"type": "string"
},
"settings": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationUplink
Fields
Name | Type | Description |
---|---|---|
app_s_key |
object | |
confirmed |
boolean | Indicates whether the end device used confirmed data uplink. |
consumed_airtime |
string | Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings. |
decoded_payload |
object | 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). |
decoded_payload_warnings |
string | Warnings generated by the message processor while decoding the frm_payload. |
f_cnt |
integer | LoRaWAN FCntUp of the uplink message. |
f_port |
integer | LoRaWAN FPort of the uplink message. |
frm_payload |
string | 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. |
last_a_f_cnt_down |
integer | 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. |
locations |
object | End device location metadata, set by the Application Server while handling the message. |
network_ids |
object | Identifies a Network Server. |
normalized_payload |
object | 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. |
normalized_payload_warnings |
string | Warnings generated by the message processor while normalizing the decoded payload. |
packet_error_rate |
number | 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. |
received_at |
string | Server time when the Network Server received the message. |
rx_metadata |
object | A list of metadata for each antenna of each gateway that received this message. |
session_key_id |
string | Join Server issued identifier for the session keys used by this uplink. |
settings |
object | TxSettings contains the settings for a transmission. This message is used on both uplink and downlink. On downlink, this is a scheduled transmission. |
version_ids |
object | Identifies an end device model with version information. |
Schema
{
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"confirmed": {
"description": "Indicates whether the end device used confirmed data uplink.",
"type": "boolean"
},
"consumed_airtime": {
"description": "Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings.",
"type": "string"
},
"decoded_payload": {
"description": "The decoded frame payload of the uplink message.\nThis field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while decoding the frm_payload.",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"description": "LoRaWAN FCntUp of the uplink message.",
"format": "int64",
"type": "integer"
},
"f_port": {
"description": "LoRaWAN FPort of the uplink message.",
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the uplink message.\nThe payload is still encrypted if the skip_payload_crypto field of the EndDevice\nis true, which is indicated by the presence of the app_s_key field.",
"format": "byte",
"type": "string"
},
"last_a_f_cnt_down": {
"description": "The last AFCntDown of the current session.\nThis field is only present if the skip_payload_crypto field of the EndDevice\nis true.\nCan be used with app_s_key to encrypt downlink payloads.",
"format": "int64",
"type": "integer"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "End device location metadata, set by the Application Server while handling the message.",
"type": "object"
},
"network_ids": {
"description": "Identifies a Network Server.",
"properties": {
"cluster_address": {
"description": "Cluster address of the Network Server.",
"type": "string"
},
"cluster_id": {
"description": "Cluster identifier of the Network Server.",
"type": "string"
},
"net_id": {
"description": "LoRa Alliance NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"description": "LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"tenant_address": {
"description": "Optional tenant address for multi-tenant deployments.",
"type": "string"
},
"tenant_id": {
"description": "Optional tenant identifier for multi-tenant deployments.",
"type": "string"
}
},
"type": "object"
},
"normalized_payload": {
"description": "The normalized frame payload of the uplink message.\nThis field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).\nIf the message processor is a custom script, there is no uplink normalizer script and the decoded output is valid\nnormalized payload, this field contains the decoded payload.",
"items": {
"type": "object"
},
"type": "array"
},
"normalized_payload_warnings": {
"description": "Warnings generated by the message processor while normalizing the decoded payload.",
"items": {
"type": "string"
},
"type": "array"
},
"packet_error_rate": {
"description": "Packet error rate of the recent uplinks in the current session.\nCalculated by the Network Server. The value is defined in the [0, 1] interval.",
"format": "float",
"type": "number"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"description": "A list of metadata for each antenna of each gateway that received this message.",
"items": {
"description": "Contains metadata for a received message. Each antenna that receives\na message corresponds to one RxMetadata.",
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_index": {
"format": "int64",
"type": "integer"
},
"channel_index": {
"description": "Index of the gateway channel that received the message.",
"format": "int64",
"type": "integer"
},
"channel_rssi": {
"description": "Received signal strength indicator of the channel (dBm).",
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"encrypted_fine_timestamp": {
"description": "Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "byte",
"type": "string"
},
"encrypted_fine_timestamp_key_id": {
"type": "string"
},
"fine_timestamp": {
"description": "Gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "uint64",
"type": "string"
},
"frequency_drift": {
"description": "Frequency drift in Hz between start and end of an LR-FHSS packet (signed).",
"format": "int32",
"type": "integer"
},
"frequency_offset": {
"description": "Frequency offset (Hz).",
"format": "int64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"gps_time": {
"description": "Timestamp at the end of the transmission, provided by the gateway.\nGuaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.",
"format": "date-time",
"type": "string"
},
"hopping_width": {
"description": "Hopping width; a number describing the number of steps of the LR-FHSS grid.",
"format": "int64",
"type": "integer"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"properties": {
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Timestamp at which the Gateway Server has received the message.",
"format": "date-time",
"type": "string"
},
"relay": {
"properties": {
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"description": "Received signal strength indicator (dBm).\nThis value equals `channel_rssi`.",
"format": "float",
"type": "number"
},
"rssi_standard_deviation": {
"description": "Standard deviation of the RSSI during preamble.",
"format": "float",
"type": "number"
},
"signal_rssi": {
"description": "Received signal strength indicator of the signal (dBm).",
"format": "float",
"type": "number"
},
"snr": {
"description": "Signal-to-noise ratio (dB).",
"format": "float",
"type": "number"
},
"time": {
"description": "Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Gateway concentrator timestamp when the Rx finished (microseconds).",
"format": "int64",
"type": "integer"
},
"uplink_token": {
"description": "Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this uplink.",
"format": "byte",
"type": "string"
},
"settings": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationUplinkNormalized
Fields
Name | Type | Description |
---|---|---|
confirmed |
boolean | Indicates whether the end device used confirmed data uplink. |
consumed_airtime |
string | Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings. |
f_cnt |
integer | LoRaWAN FCntUp of the uplink message. |
f_port |
integer | LoRaWAN FPort of the uplink message. |
frm_payload |
string | The frame payload of the uplink message. This field is always decrypted with AppSKey. |
locations |
object | End device location metadata, set by the Application Server while handling the message. |
network_ids |
object | Identifies a Network Server. |
normalized_payload |
object | The normalized frame payload of the uplink message. This field is set for each item in normalized_payload in the corresponding ApplicationUplink message. |
normalized_payload_warnings |
string | This field is set to normalized_payload_warnings in the corresponding ApplicationUplink message. |
received_at |
string | Server time when the Network Server received the message. |
rx_metadata |
object | A list of metadata for each antenna of each gateway that received this message. |
session_key_id |
string | Join Server issued identifier for the session keys used by this uplink. |
settings |
object | TxSettings contains the settings for a transmission. This message is used on both uplink and downlink. On downlink, this is a scheduled transmission. |
version_ids |
object | Identifies an end device model with version information. |
Schema
{
"confirmed": {
"description": "Indicates whether the end device used confirmed data uplink.",
"type": "boolean"
},
"consumed_airtime": {
"description": "Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings.",
"type": "string"
},
"f_cnt": {
"description": "LoRaWAN FCntUp of the uplink message.",
"format": "int64",
"type": "integer"
},
"f_port": {
"description": "LoRaWAN FPort of the uplink message.",
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the uplink message.\nThis field is always decrypted with AppSKey.",
"format": "byte",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "End device location metadata, set by the Application Server while handling the message.",
"type": "object"
},
"network_ids": {
"description": "Identifies a Network Server.",
"properties": {
"cluster_address": {
"description": "Cluster address of the Network Server.",
"type": "string"
},
"cluster_id": {
"description": "Cluster identifier of the Network Server.",
"type": "string"
},
"net_id": {
"description": "LoRa Alliance NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"description": "LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"tenant_address": {
"description": "Optional tenant address for multi-tenant deployments.",
"type": "string"
},
"tenant_id": {
"description": "Optional tenant identifier for multi-tenant deployments.",
"type": "string"
}
},
"type": "object"
},
"normalized_payload": {
"description": "The normalized frame payload of the uplink message.\nThis field is set for each item in normalized_payload in the corresponding ApplicationUplink message.",
"type": "object"
},
"normalized_payload_warnings": {
"description": "This field is set to normalized_payload_warnings in the corresponding ApplicationUplink message.",
"items": {
"type": "string"
},
"type": "array"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"description": "A list of metadata for each antenna of each gateway that received this message.",
"items": {
"description": "Contains metadata for a received message. Each antenna that receives\na message corresponds to one RxMetadata.",
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_index": {
"format": "int64",
"type": "integer"
},
"channel_index": {
"description": "Index of the gateway channel that received the message.",
"format": "int64",
"type": "integer"
},
"channel_rssi": {
"description": "Received signal strength indicator of the channel (dBm).",
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"encrypted_fine_timestamp": {
"description": "Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "byte",
"type": "string"
},
"encrypted_fine_timestamp_key_id": {
"type": "string"
},
"fine_timestamp": {
"description": "Gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "uint64",
"type": "string"
},
"frequency_drift": {
"description": "Frequency drift in Hz between start and end of an LR-FHSS packet (signed).",
"format": "int32",
"type": "integer"
},
"frequency_offset": {
"description": "Frequency offset (Hz).",
"format": "int64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"gps_time": {
"description": "Timestamp at the end of the transmission, provided by the gateway.\nGuaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.",
"format": "date-time",
"type": "string"
},
"hopping_width": {
"description": "Hopping width; a number describing the number of steps of the LR-FHSS grid.",
"format": "int64",
"type": "integer"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"properties": {
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Timestamp at which the Gateway Server has received the message.",
"format": "date-time",
"type": "string"
},
"relay": {
"properties": {
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"description": "Received signal strength indicator (dBm).\nThis value equals `channel_rssi`.",
"format": "float",
"type": "number"
},
"rssi_standard_deviation": {
"description": "Standard deviation of the RSSI during preamble.",
"format": "float",
"type": "number"
},
"signal_rssi": {
"description": "Received signal strength indicator of the signal (dBm).",
"format": "float",
"type": "number"
},
"snr": {
"description": "Signal-to-noise ratio (dB).",
"format": "float",
"type": "number"
},
"time": {
"description": "Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Gateway concentrator timestamp when the Rx finished (microseconds).",
"format": "int64",
"type": "integer"
},
"uplink_token": {
"description": "Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this uplink.",
"format": "byte",
"type": "string"
},
"settings": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationWebhook
Fields
Name | Type | Description |
---|---|---|
base_url |
string | Base URL to which the message's path is appended. |
created_at |
string | |
downlink_ack |
object | |
downlink_api_key |
string | The API key to be used for downlink queue operations. The field is provided for convenience reasons, and can contain API keys with additional rights (albeit this is discouraged). |
downlink_failed |
object | |
downlink_nack |
object | |
downlink_queue_invalidated |
object | |
downlink_queued |
object | |
downlink_sent |
object | |
field_mask |
string | |
format |
string | The format to use for the body. Supported values depend on the Application Server configuration. |
headers |
object | HTTP headers to use. |
health_status |
object | |
ids |
object | |
join_accept |
object | |
location_solved |
object | |
paused |
boolean | Set to temporarily pause forwarding uplink data to this end point and receiving downlinks from this end point. |
queue |
object | |
service_data |
object | |
template_fields |
object | The value of the fields used by the template. Maps field.id to the value. |
template_ids |
object | |
updated_at |
string | |
uplink_message |
object | |
uplink_normalized |
object |
Schema
{
"base_url": {
"description": "Base URL to which the message's path is appended.",
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"downlink_ack": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_api_key": {
"description": "The API key to be used for downlink queue operations.\nThe field is provided for convenience reasons, and can contain API keys with additional rights (albeit this is discouraged).",
"type": "string"
},
"downlink_failed": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_nack": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_queue_invalidated": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_queued": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_sent": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"type": "string"
},
"format": {
"description": "The format to use for the body.\nSupported values depend on the Application Server configuration.",
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers to use.",
"type": "object"
},
"health_status": {
"properties": {
"healthy": {
"type": "object"
},
"unhealthy": {
"properties": {
"failed_attempts": {
"format": "uint64",
"type": "string"
},
"last_failed_attempt_at": {
"format": "date-time",
"type": "string"
},
"last_failed_attempt_details": {
"description": "Error details that are communicated over gRPC (and HTTP) APIs.\nThe messages (for translation) are stored as \"error:\u003cnamespace\u003e:\u003cname\u003e\".",
"properties": {
"attributes": {
"description": "Attributes that should be filled into the message format. Any extra attributes\ncan be displayed as error details.",
"type": "object"
},
"cause": {
"$ref": "#/definitions/v3ErrorDetails",
"description": "The error that caused this error."
},
"code": {
"description": "The status code of the error.",
"format": "int64",
"type": "integer"
},
"correlation_id": {
"description": "The correlation ID of the error can be used to correlate the error to stack\ntraces the network may (or may not) store about recent errors.",
"type": "string"
},
"details": {
"description": "The details of the error.",
"items": {
"additionalProperties": {},
"description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }",
"properties": {
"@type": {
"description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_format": {
"description": "The default (fallback) message format that should be used for the error.\nThis is also used if the client does not have a translation for the error.",
"type": "string"
},
"name": {
"description": "Name of the error.",
"type": "string"
},
"namespace": {
"description": "Namespace of the error (typically the package name in The Things Stack).",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"webhook_id": {
"type": "string"
}
},
"type": "object"
},
"join_accept": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"location_solved": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"paused": {
"description": "Set to temporarily pause forwarding uplink data to this end point and receiving downlinks from this end point.",
"type": "boolean"
},
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
},
"service_data": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"template_fields": {
"additionalProperties": {
"type": "string"
},
"description": "The value of the fields used by the template. Maps field.id to the value.",
"type": "object"
},
"template_ids": {
"properties": {
"template_id": {
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"uplink_message": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"uplink_normalized": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookFailureByStatusCodeCount
Fields
Name | Type | Description |
---|---|---|
time |
string | |
totals |
object |
Schema
{
"time": {
"format": "date-time",
"type": "string"
},
"totals": {
"additionalProperties": {
"format": "uint64",
"type": "string"
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookFailureCount
Fields
Name | Type | Description |
---|---|---|
time |
string | |
total |
string |
Schema
{
"time": {
"format": "date-time",
"type": "string"
},
"total": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookFailureToForwardRatio
Fields
Name | Type | Description |
---|---|---|
webhook_failure_to_forward_ratio |
number |
Schema
{
"webhook_failure_to_forward_ratio": {
"format": "float",
"type": "number"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookFailuresByStatusCodeCount
Fields
Name | Type | Description |
---|---|---|
counts |
object |
Schema
{
"counts": {
"items": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
},
"totals": {
"additionalProperties": {
"format": "uint64",
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookFailuresCount
Fields
Name | Type | Description |
---|---|---|
webhook_failure |
object |
Schema
{
"webhook_failure": {
"items": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
},
"total": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookFormats
Fields
Name | Type | Description |
---|---|---|
formats |
object | Format and description. |
Schema
{
"formats": {
"additionalProperties": {
"type": "string"
},
"description": "Format and description.",
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookHealth
Fields
Name | Type | Description |
---|---|---|
healthy |
object | |
unhealthy |
object |
Schema
{
"healthy": {
"type": "object"
},
"unhealthy": {
"properties": {
"failed_attempts": {
"format": "uint64",
"type": "string"
},
"last_failed_attempt_at": {
"format": "date-time",
"type": "string"
},
"last_failed_attempt_details": {
"$ref": "#/definitions/v3ErrorDetails"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookIdentifiers
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
webhook_id |
string |
Schema
{
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"webhook_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookMessage
Fields
Name | Type | Description |
---|---|---|
path |
string | Path to append to the base URL. |
Schema
{
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookQueue
Fields
Name | Type | Description |
---|---|---|
enabled |
boolean |
Schema
{
"enabled": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookRegistrySetBody
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | |
webhook |
object |
Schema
{
"field_mask": {
"type": "string"
},
"webhook": {
"properties": {
"base_url": {
"description": "Base URL to which the message's path is appended.",
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"downlink_ack": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_api_key": {
"description": "The API key to be used for downlink queue operations.\nThe field is provided for convenience reasons, and can contain API keys with additional rights (albeit this is discouraged).",
"type": "string"
},
"downlink_failed": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_nack": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_queue_invalidated": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_queued": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_sent": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"type": "string"
},
"format": {
"description": "The format to use for the body.\nSupported values depend on the Application Server configuration.",
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers to use.",
"type": "object"
},
"health_status": {
"properties": {
"healthy": {
"type": "object"
},
"unhealthy": {
"properties": {
"failed_attempts": {
"format": "uint64",
"type": "string"
},
"last_failed_attempt_at": {
"format": "date-time",
"type": "string"
},
"last_failed_attempt_details": {
"$ref": "#/definitions/v3ErrorDetails"
}
},
"type": "object"
}
},
"type": "object"
},
"ids": {
"properties": {
"application_ids": {
"type": "object"
},
"webhook_id": {
"type": "string"
}
},
"type": "object"
},
"join_accept": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"location_solved": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"paused": {
"description": "Set to temporarily pause forwarding uplink data to this end point and receiving downlinks from this end point.",
"type": "boolean"
},
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
},
"service_data": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"template_fields": {
"additionalProperties": {
"type": "string"
},
"description": "The value of the fields used by the template. Maps field.id to the value.",
"type": "object"
},
"template_ids": {
"properties": {
"template_id": {
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"uplink_message": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"uplink_normalized": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookTemplate
Fields
Name | Type | Description |
---|---|---|
base_url |
string | The base URL of the template. Can contain template fields, in RFC 6570 format. |
create_downlink_api_key |
boolean | Control the creation of the downlink queue operations API key. |
description |
string | |
documentation_url |
string | |
downlink_ack |
object | |
downlink_failed |
object | |
downlink_nack |
object | |
downlink_queue_invalidated |
object | |
downlink_queued |
object | |
downlink_sent |
object | |
field_mask |
string | |
fields |
object | |
format |
string | |
headers |
object | The HTTP headers used by the template. Both the key and the value can contain template fields. |
ids |
object | |
info_url |
string | |
join_accept |
object | |
location_solved |
object | |
logo_url |
string | |
name |
string | |
service_data |
object | |
uplink_message |
object | |
uplink_normalized |
object |
Schema
{
"base_url": {
"description": "The base URL of the template. Can contain template fields, in RFC 6570 format.",
"type": "string"
},
"create_downlink_api_key": {
"description": "Control the creation of the downlink queue operations API key.",
"type": "boolean"
},
"description": {
"type": "string"
},
"documentation_url": {
"type": "string"
},
"downlink_ack": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"downlink_failed": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"downlink_nack": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"downlink_queue_invalidated": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"downlink_queued": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"downlink_sent": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"type": "string"
},
"fields": {
"items": {
"description": "ApplicationWebhookTemplateField represents a custom field that needs to be filled by the user in order to use the template.\nA field can be an API key, an username or password, or any custom platform specific field (such as region).\nThe fields are meant to be replaced inside the URLs and headers when the webhook is created.",
"properties": {
"default_value": {
"type": "string"
},
"description": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"optional": {
"type": "boolean"
},
"secret": {
"description": "Secret decides if the field should be shown in plain-text or should stay hidden.",
"type": "boolean"
}
},
"type": "object"
},
"type": "array"
},
"format": {
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "The HTTP headers used by the template. Both the key and the value can contain template fields.",
"type": "object"
},
"ids": {
"properties": {
"template_id": {
"type": "string"
}
},
"type": "object"
},
"info_url": {
"type": "string"
},
"join_accept": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"location_solved": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"logo_url": {
"type": "string"
},
"name": {
"type": "string"
},
"service_data": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"uplink_message": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"uplink_normalized": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookTemplateField
Fields
Name | Type | Description |
---|---|---|
default_value |
string | |
description |
string | |
id |
string | |
name |
string | |
optional |
boolean | |
secret |
boolean | Secret decides if the field should be shown in plain-text or should stay hidden. |
Schema
{
"default_value": {
"type": "string"
},
"description": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"optional": {
"type": "boolean"
},
"secret": {
"description": "Secret decides if the field should be shown in plain-text or should stay hidden.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookTemplateIdentifiers
Fields
Name | Type | Description |
---|---|---|
template_id |
string |
Schema
{
"template_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookTemplateMessage
Fields
Name | Type | Description |
---|---|---|
path |
string | Path to append to the base URL. Can contain template fields, in RFC 6570 format. |
Schema
{
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ApplicationWebhookTemplates
Fields
Name | Type | Description |
---|---|---|
templates |
object |
Schema
{
"templates": {
"items": {
"properties": {
"base_url": {
"description": "The base URL of the template. Can contain template fields, in RFC 6570 format.",
"type": "string"
},
"create_downlink_api_key": {
"description": "Control the creation of the downlink queue operations API key.",
"type": "boolean"
},
"description": {
"type": "string"
},
"documentation_url": {
"type": "string"
},
"downlink_ack": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"downlink_failed": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"downlink_nack": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"downlink_queue_invalidated": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"downlink_queued": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"downlink_sent": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"type": "string"
},
"fields": {
"items": {
"description": "ApplicationWebhookTemplateField represents a custom field that needs to be filled by the user in order to use the template.\nA field can be an API key, an username or password, or any custom platform specific field (such as region).\nThe fields are meant to be replaced inside the URLs and headers when the webhook is created.",
"properties": {
"default_value": {
"type": "string"
},
"description": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"optional": {
"type": "boolean"
},
"secret": {
"description": "Secret decides if the field should be shown in plain-text or should stay hidden.",
"type": "boolean"
}
},
"type": "object"
},
"type": "array"
},
"format": {
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "The HTTP headers used by the template. Both the key and the value can contain template fields.",
"type": "object"
},
"ids": {
"properties": {
"template_id": {
"type": "string"
}
},
"type": "object"
},
"info_url": {
"type": "string"
},
"join_accept": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"location_solved": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"logo_url": {
"type": "string"
},
"name": {
"type": "string"
},
"service_data": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"uplink_message": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
},
"uplink_normalized": {
"properties": {
"path": {
"description": "Path to append to the base URL. Can contain template fields, in RFC 6570 format.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationWebhooks
Fields
Name | Type | Description |
---|---|---|
webhooks |
object |
Schema
{
"webhooks": {
"items": {
"properties": {
"base_url": {
"description": "Base URL to which the message's path is appended.",
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"downlink_ack": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_api_key": {
"description": "The API key to be used for downlink queue operations.\nThe field is provided for convenience reasons, and can contain API keys with additional rights (albeit this is discouraged).",
"type": "string"
},
"downlink_failed": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_nack": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_queue_invalidated": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_queued": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"downlink_sent": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"type": "string"
},
"format": {
"description": "The format to use for the body.\nSupported values depend on the Application Server configuration.",
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers to use.",
"type": "object"
},
"health_status": {
"properties": {
"healthy": {
"type": "object"
},
"unhealthy": {
"properties": {
"failed_attempts": {
"format": "uint64",
"type": "string"
},
"last_failed_attempt_at": {
"format": "date-time",
"type": "string"
},
"last_failed_attempt_details": {
"description": "Error details that are communicated over gRPC (and HTTP) APIs.\nThe messages (for translation) are stored as \"error:\u003cnamespace\u003e:\u003cname\u003e\".",
"properties": {
"attributes": {
"description": "Attributes that should be filled into the message format. Any extra attributes\ncan be displayed as error details.",
"type": "object"
},
"cause": {
"$ref": "#/definitions/v3ErrorDetails",
"description": "The error that caused this error."
},
"code": {
"description": "The status code of the error.",
"format": "int64",
"type": "integer"
},
"correlation_id": {
"description": "The correlation ID of the error can be used to correlate the error to stack\ntraces the network may (or may not) store about recent errors.",
"type": "string"
},
"details": {
"description": "The details of the error.",
"items": {
"additionalProperties": {},
"description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }",
"properties": {
"@type": {
"description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_format": {
"description": "The default (fallback) message format that should be used for the error.\nThis is also used if the client does not have a translation for the error.",
"type": "string"
},
"name": {
"description": "Name of the error.",
"type": "string"
},
"namespace": {
"description": "Namespace of the error (typically the package name in The Things Stack).",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"webhook_id": {
"type": "string"
}
},
"type": "object"
},
"join_accept": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"location_solved": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"paused": {
"description": "Set to temporarily pause forwarding uplink data to this end point and receiving downlinks from this end point.",
"type": "boolean"
},
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
},
"service_data": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"template_fields": {
"additionalProperties": {
"type": "string"
},
"description": "The value of the fields used by the template. Maps field.id to the value.",
"type": "object"
},
"template_ids": {
"properties": {
"template_id": {
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"uplink_message": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
},
"uplink_normalized": {
"properties": {
"path": {
"description": "Path to append to the base URL.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
Applications
Fields
Name | Type | Description |
---|---|---|
applications |
object |
Schema
{
"applications": {
"items": {
"description": "Application is the message that defines an Application in the network.",
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"application_server_address": {
"description": "The address of the Application Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this application. Typically used for organizing applications or for storing integration-specific data.",
"type": "object"
},
"contact_info": {
"description": "Contact information for this application. Typically used to indicate who to contact with technical/security questions about the application.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the application was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the application was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the application.",
"type": "string"
},
"dev_eui_counter": {
"format": "int64",
"type": "integer"
},
"end_device_limit": {
"description": "The limit of the number of end devices that can be registered for this application.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"name": {
"description": "The name of the application.",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this application is supposed to be registered.\nIf set, this fields indicates where end devices for this application should be registered.\n\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the application was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationsActiveMetrics
Fields
Name | Type | Description |
---|---|---|
application_ids |
object |
Schema
{
"application_ids": {
"items": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ApplicationsStatistic
Fields
Name | Type | Description |
---|---|---|
active_devices |
integer | |
application_ids |
object | |
average_packet_error_rate |
number |
Schema
{
"active_devices": {
"format": "int64",
"type": "integer"
},
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"average_packet_error_rate": {
"format": "float",
"type": "number"
}
}
Show the schema of the message in JSON format.
ApplicationsStatistics
Fields
Name | Type | Description |
---|---|---|
stats |
object |
Schema
{
"stats": {
"items": {
"description": "Applications statistic.",
"properties": {
"active_devices": {
"format": "int64",
"type": "integer"
},
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"average_packet_error_rate": {
"format": "float",
"type": "number"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ArsConfiguration
Fields
Name | Type | Description |
---|---|---|
routing |
object |
Schema
{
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ArsConfigurationRouting
Fields
Name | Type | Description |
---|---|---|
enabled |
boolean |
Schema
{
"enabled": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
AsConfiguration
Fields
Name | Type | Description |
---|---|---|
pubsub |
object | |
webhooks |
object |
Schema
{
"pubsub": {
"properties": {
"providers": {
"properties": {
"mqtt": {
"default": "ENABLED",
"description": " - ENABLED: No restrictions are in place.\n - WARNING: Warnings are being emitted that the provider will be deprecated in the future.\n - DISABLED: New integrations cannot be set up, and old ones do not start.",
"enum": [
"ENABLED",
"WARNING",
"DISABLED"
],
"type": "string"
},
"nats": {
"default": "ENABLED",
"description": " - ENABLED: No restrictions are in place.\n - WARNING: Warnings are being emitted that the provider will be deprecated in the future.\n - DISABLED: New integrations cannot be set up, and old ones do not start.",
"enum": [
"ENABLED",
"WARNING",
"DISABLED"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
},
"retry": {
"properties": {
"base_delay": {
"type": "string"
},
"delay_factor": {
"format": "double",
"type": "number"
},
"jitter_factor": {
"format": "double",
"type": "number"
},
"max_attempts": {
"format": "int64",
"type": "string"
},
"max_delay": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"unhealthy_attempts_threshold": {
"format": "int64",
"type": "string"
},
"unhealthy_retry_interval": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AsConfigurationWebhooks
Fields
Name | Type | Description |
---|---|---|
queue |
object | |
unhealthy_attempts_threshold |
string | |
unhealthy_retry_interval |
string |
Schema
{
"queue": {
"properties": {
"enabled": {
"type": "boolean"
},
"retry": {
"properties": {
"base_delay": {
"type": "string"
},
"delay_factor": {
"format": "double",
"type": "number"
},
"jitter_factor": {
"format": "double",
"type": "number"
},
"max_attempts": {
"format": "int64",
"type": "string"
},
"max_delay": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"unhealthy_attempts_threshold": {
"format": "int64",
"type": "string"
},
"unhealthy_retry_interval": {
"type": "string"
}
}
Show the schema of the message in JSON format.
AsConfigurationWebhooksQueue
Fields
Name | Type | Description |
---|---|---|
enabled |
boolean | |
retry |
object |
Schema
{
"enabled": {
"type": "boolean"
},
"retry": {
"properties": {
"base_delay": {
"type": "string"
},
"delay_factor": {
"format": "double",
"type": "number"
},
"jitter_factor": {
"format": "double",
"type": "number"
},
"max_attempts": {
"format": "int64",
"type": "string"
},
"max_delay": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AsEndDeviceRegistrySetBody
Fields
Name | Type | Description |
---|---|---|
end_device |
object | 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. |
field_mask |
string | 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. |
Schema
{
"end_device": {
"description": "Defines an End Device registration and its state on the network.\nThe persistence of the EndDevice is divided between the Network Server, Application Server and Join Server.\nSDKs are responsible for combining (if desired) the three.",
"properties": {
"activated_at": {
"description": "Timestamp when the device has been activated. Stored in the Entity Registry.\nThis field is set by the Application Server when an end device sends\nits first uplink.\nThe Application Server will use the field in order to avoid repeated\ncalls to the Entity Registry.\nThe field cannot be unset once set.",
"format": "date-time",
"type": "string"
},
"application_server_address": {
"description": "The address of the Application Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"application_server_id": {
"description": "The AS-ID of the Application Server to use.\nStored in Join Server.",
"type": "string"
},
"application_server_kek_label": {
"description": "The KEK label of the Application Server to use for wrapping the application session key.\nStored in Join Server.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "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.",
"type": "object"
},
"battery_percentage": {
"description": "Latest-known battery percentage of the device.\nReceived via the DevStatus MAC command at last_dev_status_received_at or earlier.\nStored in Network Server.",
"format": "float",
"type": "number"
},
"claim_authentication_code": {
"description": "Authentication code for end devices.",
"properties": {
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "Description of the device. Stored in Entity Registry.",
"type": "string"
},
"downlink_margin": {
"description": "Demodulation signal-to-noise ratio (dB).\nReceived via the DevStatus MAC command at last_dev_status_received_at.\nStored in Network Server.",
"format": "int32",
"type": "integer"
},
"formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"frequency_plan_id": {
"description": "ID of the frequency plan used by this device.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this device is supposed to be registered.\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"last_dev_nonce": {
"description": "Last DevNonce used.\nThis field is only used for devices using LoRaWAN version 1.1 and later.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_dev_status_received_at": {
"description": "Time when last DevStatus MAC command was received.\nStored in Network Server.",
"format": "date-time",
"type": "string"
},
"last_join_nonce": {
"description": "Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_0": {
"description": "Last Rejoin counter value used (type 0/2).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_1": {
"description": "Last Rejoin counter value used (type 1).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_seen_at": {
"description": "Timestamp when a device uplink has been last observed.\nThis field is set by the Application Server and stored in the Identity Server.",
"format": "date-time",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "Location of the device. Stored in Entity Registry.",
"type": "object"
},
"lora_alliance_profile_ids": {
"properties": {
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lorawan_phy_version": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"mac_settings": {
"properties": {
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"max_frequency": {
"description": "Maximum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"min_frequency": {
"description": "Minimum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"multicast": {
"description": "Indicates whether this device represents a multicast group.",
"type": "boolean"
},
"name": {
"description": "Friendly name of the device. Stored in Entity Registry.",
"type": "string"
},
"net_id": {
"description": "Home NetID. Stored in Join Server.",
"example": "000013",
"format": "string",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"network_server_kek_label": {
"description": "The KEK label of the Network Server to use for wrapping network session keys.\nStored in Join Server.",
"type": "string"
},
"pending_mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"pending_session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"power_state": {
"default": "POWER_UNKNOWN",
"description": "Power state of the device.",
"enum": [
"POWER_UNKNOWN",
"POWER_BATTERY",
"POWER_EXTERNAL"
],
"type": "string"
},
"provisioner_id": {
"description": "ID of the provisioner. Stored in Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data. Stored in Join Server.",
"type": "object"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server,\nwhich sets them on the Network Server.\nThis field is deprecated and is always set equal to session.queued_application_downlinks.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resets_join_nonces": {
"description": "Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"root_keys": {
"description": "Root keys for a LoRaWAN device.\nThese are stored on the Join Server.",
"properties": {
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
},
"type": "object"
},
"serial_number": {
"type": "string"
},
"service_profile_id": {
"description": "Default service profile. Stored in Entity Registry.",
"type": "string"
},
"session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field is deprecated, use skip_payload_crypto_override instead.",
"type": "boolean"
},
"skip_payload_crypto_override": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field overrides the application-level setting.",
"type": "boolean"
},
"supports_class_b": {
"description": "Whether the device supports class B.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_class_c": {
"description": "Whether the device supports class C.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_join": {
"description": "The device supports join (it's OTAA).\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"used_dev_nonces": {
"description": "Used DevNonces sorted in ascending order.\nThis field is only used for devices using LoRaWAN versions preceding 1.1.\nStored in Join Server.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the end device fields that should be updated.\nSee the API reference for which fields can be set on the different services.",
"type": "string"
}
}
Show the schema of the message in JSON format.
AuthInfoResponse
Fields
Name | Type | Description |
---|---|---|
api_key |
object | |
gateway_token |
object | |
is_admin |
boolean | |
oauth_access_token |
object | |
universal_rights |
object | |
user_session |
object |
Schema
{
"api_key": {
"properties": {
"api_key": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"id": {
"description": "Immutable and unique public identifier for the API key.\nGenerated by the Access Server.",
"type": "string"
},
"key": {
"description": "Immutable and unique secret value of the API key.\nGenerated by the Access Server.",
"type": "string"
},
"name": {
"description": "User-defined (friendly) name for the API key.",
"type": "string"
},
"rights": {
"description": "Rights that are granted to this API key.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"entity_ids": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gateway_token": {
"properties": {
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"is_admin": {
"type": "boolean"
},
"oauth_access_token": {
"properties": {
"access_token": {
"type": "string"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"id": {
"type": "string"
},
"refresh_token": {
"type": "string"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"user_session_id": {
"type": "string"
}
},
"type": "object"
},
"universal_rights": {
"properties": {
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"user_session": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"session_id": {
"type": "string"
},
"session_secret": {
"description": "The session secret is used to compose an authorization key and is never returned.",
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AuthInfoResponseGatewayToken
Fields
Name | Type | Description |
---|---|---|
gateway_ids |
object | |
rights |
string |
Schema
{
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
AuthenticationProvider
Fields
Name | Type | Description |
---|---|---|
allow_registrations |
boolean | |
allowed_email_domains |
string | Allowed email domains for this provider. If this field is set, only emails with the specified domains will be allowed to login. The server also skips checking the `email_verified` field of the claims token. We highly recommend admins of such providers to not allow users to change their email addresses with the provider due to lack of verification. |
configuration |
object | |
created_at |
string | |
ids |
object | |
name |
string | |
updated_at |
string |
Schema
{
"allow_registrations": {
"type": "boolean"
},
"allowed_email_domains": {
"description": "Allowed email domains for this provider.\nIf this field is set, only emails with the specified domains will be allowed to login.\nThe server also skips checking the `email_verified` field of the claims token.\nWe highly recommend admins of such providers to not allow\nusers to change their email addresses with the provider due to lack of verification.",
"items": {
"type": "string"
},
"type": "array"
},
"configuration": {
"properties": {
"oidc": {
"properties": {
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"provider_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"ids": {
"properties": {
"provider_id": {
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
AuthenticationProviderConfiguration
Fields
Name | Type | Description |
---|---|---|
oidc |
object |
Schema
{
"oidc": {
"properties": {
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"provider_url": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AuthenticationProviderIdentifiers
Fields
Name | Type | Description |
---|---|---|
provider_id |
string |
Schema
{
"provider_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
AuthenticationProviderRegistryUpdateBody
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | |
provider |
object |
Schema
{
"field_mask": {
"type": "string"
},
"provider": {
"properties": {
"allow_registrations": {
"type": "boolean"
},
"allowed_email_domains": {
"description": "Allowed email domains for this provider.\nIf this field is set, only emails with the specified domains will be allowed to login.\nThe server also skips checking the `email_verified` field of the claims token.\nWe highly recommend admins of such providers to not allow\nusers to change their email addresses with the provider due to lack of verification.",
"items": {
"type": "string"
},
"type": "array"
},
"configuration": {
"properties": {
"oidc": {
"properties": {
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"provider_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"ids": {
"type": "object"
},
"name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
AuthenticationProviders
Fields
Name | Type | Description |
---|---|---|
providers |
object |
Schema
{
"providers": {
"items": {
"properties": {
"allow_registrations": {
"type": "boolean"
},
"allowed_email_domains": {
"description": "Allowed email domains for this provider.\nIf this field is set, only emails with the specified domains will be allowed to login.\nThe server also skips checking the `email_verified` field of the claims token.\nWe highly recommend admins of such providers to not allow\nusers to change their email addresses with the provider due to lack of verification.",
"items": {
"type": "string"
},
"type": "array"
},
"configuration": {
"properties": {
"oidc": {
"properties": {
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"provider_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"ids": {
"properties": {
"provider_id": {
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
AzureIoTHubEvent
Fields
Name | Type | Description |
---|---|---|
body |
object | |
end_device_ids |
object | |
properties |
object |
Schema
{
"body": {
"type": "object"
},
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"properties": {
"type": "object"
}
}
Show the schema of the message in JSON format.
BandDescription
Fields
Name | Type | Description |
---|---|---|
adr_ack_limit |
string | |
beacon |
object | |
boot_dwell_time |
object | |
cf_list_type |
string | |
data_rates |
object | |
default_max_eirp |
number | |
default_rx2_parameters |
object | |
downlink_channels |
object | |
freq_multiplier |
string | |
id |
string | |
implements_cf_list |
boolean | |
join_accept_delay_1 |
string | |
join_accept_delay_2 |
string | |
max_adr_data_rate_index |
string | |
max_downlink_channels |
integer | |
max_fcnt_gap |
string | |
max_retransmit_timeout |
string | |
max_uplink_channels |
integer | |
min_retransmit_timeout |
string | |
ping_slot_frequencies |
string | |
receive_delay_1 |
string | |
receive_delay_2 |
string | |
relay |
object | |
relay_forward_delay |
string | |
relay_receive_delay |
string | |
sub_bands |
object | |
supports_dynamic_adr |
boolean | |
tx_offset |
number | |
tx_param_setup_req_support |
boolean | |
uplink_channels |
object |
Schema
{
"adr_ack_limit": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
},
"beacon": {
"properties": {
"coding_rate": {
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequencies": {
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"boot_dwell_time": {
"properties": {
"downlinks": {
"type": "boolean"
},
"uplinks": {
"type": "boolean"
}
},
"type": "object"
},
"cf_list_type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
},
"data_rates": {
"additionalProperties": {
"properties": {
"rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "object"
},
"default_max_eirp": {
"format": "float",
"type": "number"
},
"default_rx2_parameters": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_channels": {
"items": {
"properties": {
"frequency": {
"format": "uint64",
"type": "string"
},
"max_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"freq_multiplier": {
"format": "uint64",
"type": "string"
},
"id": {
"type": "string"
},
"implements_cf_list": {
"type": "boolean"
},
"join_accept_delay_1": {
"type": "string"
},
"join_accept_delay_2": {
"type": "string"
},
"max_adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_downlink_channels": {
"format": "int64",
"type": "integer"
},
"max_fcnt_gap": {
"format": "uint64",
"type": "string"
},
"max_retransmit_timeout": {
"type": "string"
},
"max_uplink_channels": {
"format": "int64",
"type": "integer"
},
"min_retransmit_timeout": {
"type": "string"
},
"ping_slot_frequencies": {
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"receive_delay_1": {
"type": "string"
},
"receive_delay_2": {
"type": "string"
},
"relay": {
"properties": {
"wor_channels": {
"items": {
"properties": {
"ack_frequency": {
"format": "uint64",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"relay_forward_delay": {
"type": "string"
},
"relay_receive_delay": {
"type": "string"
},
"sub_bands": {
"items": {
"properties": {
"duty_cycle": {
"format": "float",
"type": "number"
},
"max_eirp": {
"format": "float",
"type": "number"
},
"max_frequency": {
"format": "uint64",
"type": "string"
},
"min_frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"supports_dynamic_adr": {
"type": "boolean"
},
"tx_offset": {
"items": {
"format": "float",
"type": "number"
},
"type": "array"
},
"tx_param_setup_req_support": {
"type": "boolean"
},
"uplink_channels": {
"items": {
"properties": {
"frequency": {
"format": "uint64",
"type": "string"
},
"max_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
BandDescriptionChannel
Fields
Name | Type | Description |
---|---|---|
frequency |
string | |
max_data_rate |
string | |
min_data_rate |
string |
Schema
{
"frequency": {
"format": "uint64",
"type": "string"
},
"max_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
BandDescriptionRelayParameters
Fields
Name | Type | Description |
---|---|---|
wor_channels |
object |
Schema
{
"wor_channels": {
"items": {
"properties": {
"ack_frequency": {
"format": "uint64",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
BatchGetGatewayConnectionStatsRequest
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | The names of the gateway stats fields that should be returned. This mask will be applied on each entry returned. |
gateway_ids |
object |
Schema
{
"field_mask": {
"description": "The names of the gateway stats fields that should be returned.\nThis mask will be applied on each entry returned.",
"type": "string"
},
"gateway_ids": {
"items": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
BatchGetGatewayConnectionStatsResponse
Fields
Name | Type | Description |
---|---|---|
entries |
object | The map key is the gateway identifier. |
Schema
{
"entries": {
"additionalProperties": {
"description": "Connection stats as monitored by the Gateway Server.",
"properties": {
"connected_at": {
"format": "date-time",
"type": "string"
},
"disconnected_at": {
"format": "date-time",
"type": "string"
},
"downlink_count": {
"format": "uint64",
"type": "string"
},
"gateway_remote_address": {
"description": "Remote Address of the Gateway, as seen by the Gateway Server.",
"properties": {
"ip": {
"description": "IPv4 or IPv6 address.",
"type": "string"
}
},
"type": "object"
},
"last_downlink_received_at": {
"format": "date-time",
"type": "string"
},
"last_status": {
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_locations": {
"items": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"title": "Location of each gateway's antenna\n- if left out, server uses registry-set location as fallback",
"type": "array"
},
"boot_time": {
"format": "date-time",
"title": "Boot time of the gateway\n- can be left out to save bandwidth; old value will be kept",
"type": "string"
},
"ip": {
"description": "IP addresses of this gateway.\nRepeated addresses can be used to communicate addresses of multiple interfaces (LAN, Public IP, ...).",
"items": {
"type": "string"
},
"type": "array"
},
"metrics": {
"additionalProperties": {
"format": "float",
"type": "number"
},
"title": "Metrics\n- can be used for forwarding gateway metrics such as temperatures or performance metrics\n- map keys are written in snake_case",
"type": "object"
},
"time": {
"format": "date-time",
"title": "Current time of the gateway",
"type": "string"
},
"versions": {
"additionalProperties": {
"type": "string"
},
"title": "Versions of gateway subsystems\n- each field can be left out to save bandwidth; old value will be kept\n- map keys are written in snake_case\n- for example:\n firmware: \"2.0.4\"\n forwarder: \"v2-3.3.1\"\n fpga: \"48\"\n dsp: \"27\"\n hal: \"v2-3.5.0\"",
"type": "object"
}
},
"type": "object"
},
"last_status_received_at": {
"format": "date-time",
"type": "string"
},
"last_tx_acknowledgment_received_at": {
"format": "date-time",
"type": "string"
},
"last_uplink_received_at": {
"format": "date-time",
"type": "string"
},
"protocol": {
"title": "Protocol used to connect (for example, udp, mqtt, grpc)",
"type": "string"
},
"round_trip_times": {
"properties": {
"count": {
"format": "int64",
"type": "integer"
},
"max": {
"type": "string"
},
"median": {
"type": "string"
},
"min": {
"type": "string"
}
},
"type": "object"
},
"sub_bands": {
"description": "Statistics for each sub band.",
"items": {
"properties": {
"downlink_utilization": {
"description": "Utilization rate of the available duty-cycle. This value should not exceed downlink_utilization_limit.",
"format": "float",
"type": "number"
},
"downlink_utilization_limit": {
"description": "Duty-cycle limit of the sub-band as a fraction of time.",
"format": "float",
"type": "number"
},
"max_frequency": {
"format": "uint64",
"type": "string"
},
"min_frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"tx_acknowledgment_count": {
"format": "uint64",
"type": "string"
},
"uplink_count": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"description": "The map key is the gateway identifier.",
"type": "object"
}
}
Show the schema of the message in JSON format.
BatchGetTenantRegistryTotalsRequest
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | |
tenant_ids |
object |
Schema
{
"field_mask": {
"type": "string"
},
"tenant_ids": {
"items": {
"properties": {
"tenant_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
BatchGetTenantRegistryTotalsResponse
Fields
Name | Type | Description |
---|---|---|
totals |
object |
Schema
{
"totals": {
"items": {
"properties": {
"tenant_ids": {
"properties": {
"tenant_id": {
"type": "string"
}
},
"type": "object"
},
"totals": {
"properties": {
"activated_end_devices": {
"format": "uint64",
"type": "string"
},
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"end_devices": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
},
"users": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
BatchTenantRegistryTotals
Fields
Name | Type | Description |
---|---|---|
tenant_ids |
object | |
totals |
object |
Schema
{
"tenant_ids": {
"properties": {
"tenant_id": {
"type": "string"
}
},
"type": "object"
},
"totals": {
"properties": {
"activated_end_devices": {
"format": "uint64",
"type": "string"
},
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"end_devices": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
},
"users": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
BatchUnclaimEndDevicesResponse
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
failed |
object | End devices that could not be unclaimed. The key is the device ID. |
Schema
{
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"failed": {
"additionalProperties": {
"$ref": "#/definitions/v3ErrorDetails"
},
"description": "End devices that could not be unclaimed.\nThe key is the device ID.",
"type": "object"
}
}
Show the schema of the message in JSON format.
Billing
Fields
Name | Type | Description |
---|---|---|
aws_saas_marketplace |
object | |
counting |
object | |
stripe |
object |
Schema
{
"aws_saas_marketplace": {
"properties": {
"customer_identifier": {
"type": "string"
},
"product_code": {
"type": "string"
}
},
"type": "object"
},
"counting": {
"properties": {
"end_devices": {
"default": "ALL",
"enum": [
"ALL",
"ONLY_ACTIVATED"
],
"type": "string"
}
},
"type": "object"
},
"stripe": {
"properties": {
"customer_id": {
"type": "string"
},
"plan_id": {
"type": "string"
},
"subscription_id": {
"type": "string"
},
"subscription_item_id": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
BillingIdentifiers
Fields
Name | Type | Description |
---|---|---|
billing_id |
string |
Schema
{
"billing_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
CFList
Fields
Name | Type | Description |
---|---|---|
ch_masks |
boolean | 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. |
freq |
integer | Frequencies to be broadcasted, in hecto-Hz. These values are broadcasted as 24 bits unsigned integers. This field should not contain default values. |
type |
string |
Schema
{
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
CFListType
Supported values
FREQUENCIES
CHANNEL_MASKS
Default: FREQUENCIES
CUPSRedirection
Fields
Name | Type | Description |
---|---|---|
auth_token |
string | The Device Claiming Server will fill this field with a The Things Stack API Key. |
client_tls |
object | |
current_gateway_key |
string | The key set in the gateway to authenticate itself. |
target_cups_trust |
string | Optional PEM encoded CA Root certificate. If this field is empty, DCS will attempt to dial the Target CUPS server and fetch the CA. |
target_cups_uri |
string | CUPS URI for LoRa Basics Station CUPS redirection. |
Schema
{
"auth_token": {
"description": "The Device Claiming Server will fill this field with a The Things Stack API Key.",
"type": "string"
},
"client_tls": {
"properties": {
"cert": {
"description": "PEM encoded Client Certificate.",
"format": "byte",
"type": "string"
},
"key": {
"description": "PEM encoded Client Private Key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"current_gateway_key": {
"description": "The key set in the gateway to authenticate itself.",
"type": "string"
},
"target_cups_trust": {
"description": "Optional PEM encoded CA Root certificate. If this field is empty, DCS will attempt to dial the Target CUPS server and fetch the CA.",
"format": "byte",
"type": "string"
},
"target_cups_uri": {
"description": "CUPS URI for LoRa Basics Station CUPS redirection.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ChannelLoRaPerformance
Fields
Name | Type | Description |
---|---|---|
agg_lora_rssi |
object | Aggregated observed LoRa RSSI (channel RSSI adjusted for SNR) per frequency (Hz). |
time |
string |
Schema
{
"agg_lora_rssi": {
"additionalProperties": {
"format": "float",
"type": "number"
},
"description": "Aggregated observed LoRa RSSI (channel RSSI adjusted for SNR) per frequency (Hz).",
"type": "object"
},
"time": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
ChannelPacketCount
Fields
Name | Type | Description |
---|---|---|
count |
object | Packet counts per frequency (Hz). |
time |
string |
Schema
{
"count": {
"additionalProperties": {
"format": "uint64",
"type": "string"
},
"description": "Packet counts per frequency (Hz).",
"type": "object"
},
"time": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
ChannelUtilization
Fields
Name | Type | Description |
---|---|---|
time |
string | |
utilization |
object | Utilization (fraction of time) per frequency (Hz) that the channel is in use. |
Schema
{
"time": {
"format": "date-time",
"type": "string"
},
"utilization": {
"additionalProperties": {
"format": "float",
"type": "number"
},
"description": "Utilization (fraction of time) per frequency (Hz) that the channel is in use.",
"type": "object"
}
}
Show the schema of the message in JSON format.
ChannelsLoRaPerformance
Fields
Name | Type | Description |
---|---|---|
channels |
object |
Schema
{
"channels": {
"items": {
"description": "LoRa performance per channel.",
"properties": {
"agg_lora_rssi": {
"additionalProperties": {
"format": "float",
"type": "number"
},
"description": "Aggregated observed LoRa RSSI (channel RSSI adjusted for SNR) per frequency (Hz).",
"type": "object"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ChannelsPacketCount
Fields
Name | Type | Description |
---|---|---|
channels |
object |
Schema
{
"channels": {
"items": {
"description": "Packet count per channel.",
"properties": {
"count": {
"additionalProperties": {
"format": "uint64",
"type": "string"
},
"description": "Packet counts per frequency (Hz).",
"type": "object"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ChannelsUtilization
Fields
Name | Type | Description |
---|---|---|
channels |
object |
Schema
{
"channels": {
"items": {
"description": "Utilization per channel.",
"properties": {
"time": {
"format": "date-time",
"type": "string"
},
"utilization": {
"additionalProperties": {
"format": "float",
"type": "number"
},
"description": "Utilization (fraction of time) per frequency (Hz) that the channel is in use.",
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ClaimEndDeviceRequest
Fields
Name | Type | Description |
---|---|---|
authenticated_identifiers |
object | |
qr_code |
string | Raw QR code contents. |
target_application_ids |
object | |
target_device_id |
string | End device ID of the target end device. If empty, use the source device ID. |
Schema
{
"authenticated_identifiers": {
"properties": {
"authentication_code": {
"description": "Authentication code to prove ownership.\nIn the LoRa Alliance TR005 specification, this equals the OwnerToken.",
"type": "string"
},
"dev_eui": {
"description": "DevEUI of the device to claim.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "JoinEUI (or AppEUI) of the device to claim.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"qr_code": {
"description": "Raw QR code contents.",
"format": "byte",
"type": "string"
},
"target_application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"target_device_id": {
"description": "End device ID of the target end device. If empty, use the source device ID.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ClaimEndDeviceRequestAuthenticatedIdentifiers
Fields
Name | Type | Description |
---|---|---|
authentication_code |
string | Authentication code to prove ownership. In the LoRa Alliance TR005 specification, this equals the OwnerToken. |
dev_eui |
string | DevEUI of the device to claim. |
join_eui |
string | JoinEUI (or AppEUI) of the device to claim. |
Schema
{
"authentication_code": {
"description": "Authentication code to prove ownership.\nIn the LoRa Alliance TR005 specification, this equals the OwnerToken.",
"type": "string"
},
"dev_eui": {
"description": "DevEUI of the device to claim.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "JoinEUI (or AppEUI) of the device to claim.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
ClaimGatewayRequest
Fields
Name | Type | Description |
---|---|---|
authenticated_identifiers |
object | |
collaborator |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
cups_redirection |
object | DEPRECATED: This message is deprecated and will be removed in a future version of The Things Stack. |
qr_code |
string | |
target_frequency_plan_id |
string | Frequency plan ID of the target gateway. TODO: Remove this field (https://github.com/TheThingsIndustries/lorawan-stack/issues/4024) DEPRECATED: Use target_frequency_plan_ids instead. |
target_frequency_plan_ids |
string | Frequency plan IDs of the target gateway. |
target_gateway_id |
string | Gateway ID for the target gateway. This must be a unique value. If this is not set, the target ID for the target gateway will be set to `<gateway-eui>`. |
target_gateway_server_address |
string | Target Gateway Server Address for the target gateway. |
Schema
{
"authenticated_identifiers": {
"properties": {
"authentication_code": {
"format": "byte",
"type": "string"
},
"gateway_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"collaborator": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"cups_redirection": {
"description": "DEPRECATED: This message is deprecated and will be removed in a future version of The Things Stack.",
"properties": {
"auth_token": {
"description": "The Device Claiming Server will fill this field with a The Things Stack API Key.",
"type": "string"
},
"client_tls": {
"properties": {
"cert": {
"description": "PEM encoded Client Certificate.",
"format": "byte",
"type": "string"
},
"key": {
"description": "PEM encoded Client Private Key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"current_gateway_key": {
"description": "The key set in the gateway to authenticate itself.",
"type": "string"
},
"target_cups_trust": {
"description": "Optional PEM encoded CA Root certificate. If this field is empty, DCS will attempt to dial the Target CUPS server and fetch the CA.",
"format": "byte",
"type": "string"
},
"target_cups_uri": {
"description": "CUPS URI for LoRa Basics Station CUPS redirection.",
"type": "string"
}
},
"type": "object"
},
"qr_code": {
"format": "byte",
"type": "string"
},
"target_frequency_plan_id": {
"description": "Frequency plan ID of the target gateway.\nTODO: Remove this field (https://github.com/TheThingsIndustries/lorawan-stack/issues/4024)\nDEPRECATED: Use target_frequency_plan_ids instead.",
"type": "string"
},
"target_frequency_plan_ids": {
"description": "Frequency plan IDs of the target gateway.",
"items": {
"type": "string"
},
"type": "array"
},
"target_gateway_id": {
"description": "Gateway ID for the target gateway. This must be a unique value.\nIf this is not set, the target ID for the target gateway will be set to `\u003cgateway-eui\u003e`.",
"type": "string"
},
"target_gateway_server_address": {
"description": "Target Gateway Server Address for the target gateway.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ClaimGatewayRequestAuthenticatedIdentifiers
Fields
Name | Type | Description |
---|---|---|
authentication_code |
string | |
gateway_eui |
string |
Schema
{
"authentication_code": {
"format": "byte",
"type": "string"
},
"gateway_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
Class
Supported values
CLASS_A
CLASS_B
CLASS_C
Default: CLASS_A
ClassBCGatewayIdentifiers
Fields
Name | Type | Description |
---|---|---|
antenna_index |
integer | |
gateway_ids |
object | |
group_index |
integer |
Schema
{
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
Client
Fields
Name | Type | Description |
---|---|---|
administrative_contact |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
attributes |
object | Key-value attributes for this client. Typically used for organizing clients or for storing integration-specific data. |
contact_info |
object | Contact information for this client. Typically used to indicate who to contact with technical/security questions about the application. This information is public and can be seen by any authenticated user in the network. This field is deprecated. Use administrative_contact and technical_contact instead. |
created_at |
string | When the OAuth client was created. This information is public and can be seen by any authenticated user in the network. |
deleted_at |
string | When the OAuth client was deleted. This information is public and can be seen by any authenticated user in the network. |
description |
string | A description for the OAuth client. This information is public and can be seen by any authenticated user in the network. |
endorsed |
boolean | If set, the authorization page will show endorsement. This information is public and can be seen by any authenticated user in the network. This field can only be modified by admins. |
grants |
string | OAuth flows that can be used for the client to get a token. This information is public and can be seen by any authenticated user in the network. After a client is created, this field can only be modified by admins. |
ids |
object | |
logout_redirect_uris |
string | The allowed logout redirect URIs against which client initiated logout requests are checked. If the authorization request does not pass a redirect URI, the first one from this list is taken. This information is public and can be seen by any authenticated user in the network. |
name |
string | The name of the OAuth client. This information is public and can be seen by any authenticated user in the network. |
redirect_uris |
string | The allowed redirect URIs against which authorization requests are checked. If the authorization request does not pass a redirect URI, the first one from this list is taken. This information is public and can be seen by any authenticated user in the network. |
rights |
string | Rights denotes what rights the client will have access to. This information is public and can be seen by any authenticated user in the network. Users that previously authorized this client will have to re-authorize the client after rights are added to this list. |
secret |
string | The client secret is only visible to collaborators of the client. |
skip_authorization |
boolean | If set, the authorization page will be skipped. This information is public and can be seen by any authenticated user in the network. This field can only be modified by admins. |
state |
string | State enum defines states that an entity can be in. - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin. - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin. - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin. - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin. - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin. |
state_description |
string | A description for the state field. This field can only be modified by admins, and should typically only be updated when also updating `state`. |
technical_contact |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
updated_at |
string | When the OAuth client was last updated. This information is public and can be seen by any authenticated user in the network. |
Schema
{
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this client. Typically used for organizing clients or for storing integration-specific data.",
"type": "object"
},
"contact_info": {
"description": "Contact information for this client. Typically used to indicate who to contact with technical/security questions about the application.\nThis information is public and can be seen by any authenticated user in the network.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the OAuth client was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the OAuth client was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the OAuth client. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"endorsed": {
"description": "If set, the authorization page will show endorsement.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by admins.",
"type": "boolean"
},
"grants": {
"description": "OAuth flows that can be used for the client to get a token.\nThis information is public and can be seen by any authenticated user in the network.\nAfter a client is created, this field can only be modified by admins.",
"items": {
"default": "GRANT_AUTHORIZATION_CODE",
"description": "The OAuth2 flows an OAuth client can use to get an access token.\n\n - GRANT_AUTHORIZATION_CODE: Grant type used to exchange an authorization code for an access token.\n - GRANT_PASSWORD: Grant type used to exchange a user ID and password for an access token.\n - GRANT_REFRESH_TOKEN: Grant type used to exchange a refresh token for an access token.",
"enum": [
"GRANT_AUTHORIZATION_CODE",
"GRANT_PASSWORD",
"GRANT_REFRESH_TOKEN"
],
"type": "string"
},
"type": "array"
},
"ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"logout_redirect_uris": {
"description": "The allowed logout redirect URIs against which client initiated logout\nrequests are checked. If the authorization request does not pass a redirect\nURI, the first one from this list is taken.\nThis information is public and can be seen by any authenticated user in the network.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the OAuth client. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"redirect_uris": {
"description": "The allowed redirect URIs against which authorization requests are checked.\nIf the authorization request does not pass a redirect URI, the first one\nfrom this list is taken.\nThis information is public and can be seen by any authenticated user in the network.",
"items": {
"type": "string"
},
"type": "array"
},
"rights": {
"description": "Rights denotes what rights the client will have access to.\nThis information is public and can be seen by any authenticated user in the network.\nUsers that previously authorized this client will have to re-authorize the\nclient after rights are added to this list.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"secret": {
"description": "The client secret is only visible to collaborators of the client.",
"type": "string"
},
"skip_authorization": {
"description": "If set, the authorization page will be skipped.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by admins.",
"type": "boolean"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the OAuth client was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
ClientAccessSetCollaboratorBody
Fields
Name | Type | Description |
---|---|---|
client_ids |
object | |
collaborator |
object |
Schema
{
"client_ids": {
"type": "object"
},
"collaborator": {
"properties": {
"ids": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ClientIdentifiers
Fields
Name | Type | Description |
---|---|---|
client_id |
string |
Schema
{
"client_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ClientRegistryCreateBody
Fields
Name | Type | Description |
---|---|---|
client |
object | An OAuth client on the network. |
collaborator |
object | Collaborator to grant all rights on the newly created client. |
Schema
{
"client": {
"description": "An OAuth client on the network.",
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this client. Typically used for organizing clients or for storing integration-specific data.",
"type": "object"
},
"contact_info": {
"description": "Contact information for this client. Typically used to indicate who to contact with technical/security questions about the application.\nThis information is public and can be seen by any authenticated user in the network.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the OAuth client was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the OAuth client was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the OAuth client. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"endorsed": {
"description": "If set, the authorization page will show endorsement.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by admins.",
"type": "boolean"
},
"grants": {
"description": "OAuth flows that can be used for the client to get a token.\nThis information is public and can be seen by any authenticated user in the network.\nAfter a client is created, this field can only be modified by admins.",
"items": {
"default": "GRANT_AUTHORIZATION_CODE",
"description": "The OAuth2 flows an OAuth client can use to get an access token.\n\n - GRANT_AUTHORIZATION_CODE: Grant type used to exchange an authorization code for an access token.\n - GRANT_PASSWORD: Grant type used to exchange a user ID and password for an access token.\n - GRANT_REFRESH_TOKEN: Grant type used to exchange a refresh token for an access token.",
"enum": [
"GRANT_AUTHORIZATION_CODE",
"GRANT_PASSWORD",
"GRANT_REFRESH_TOKEN"
],
"type": "string"
},
"type": "array"
},
"ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"logout_redirect_uris": {
"description": "The allowed logout redirect URIs against which client initiated logout\nrequests are checked. If the authorization request does not pass a redirect\nURI, the first one from this list is taken.\nThis information is public and can be seen by any authenticated user in the network.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the OAuth client. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"redirect_uris": {
"description": "The allowed redirect URIs against which authorization requests are checked.\nIf the authorization request does not pass a redirect URI, the first one\nfrom this list is taken.\nThis information is public and can be seen by any authenticated user in the network.",
"items": {
"type": "string"
},
"type": "array"
},
"rights": {
"description": "Rights denotes what rights the client will have access to.\nThis information is public and can be seen by any authenticated user in the network.\nUsers that previously authorized this client will have to re-authorize the\nclient after rights are added to this list.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"secret": {
"description": "The client secret is only visible to collaborators of the client.",
"type": "string"
},
"skip_authorization": {
"description": "If set, the authorization page will be skipped.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by admins.",
"type": "boolean"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the OAuth client was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"collaborator": {
"description": "Collaborator to grant all rights on the newly created client.",
"properties": {
"organization_ids": {
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"title": "Collaborator to grant all rights on the newly created client.",
"type": "object"
}
}
Show the schema of the message in JSON format.
ClientRegistryUpdateBody
Fields
Name | Type | Description |
---|---|---|
client |
object | An OAuth client on the network. |
field_mask |
string | The names of the client fields that should be updated. |
Schema
{
"client": {
"description": "An OAuth client on the network.",
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this client. Typically used for organizing clients or for storing integration-specific data.",
"type": "object"
},
"contact_info": {
"description": "Contact information for this client. Typically used to indicate who to contact with technical/security questions about the application.\nThis information is public and can be seen by any authenticated user in the network.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the OAuth client was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the OAuth client was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the OAuth client. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"endorsed": {
"description": "If set, the authorization page will show endorsement.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by admins.",
"type": "boolean"
},
"grants": {
"description": "OAuth flows that can be used for the client to get a token.\nThis information is public and can be seen by any authenticated user in the network.\nAfter a client is created, this field can only be modified by admins.",
"items": {
"default": "GRANT_AUTHORIZATION_CODE",
"description": "The OAuth2 flows an OAuth client can use to get an access token.\n\n - GRANT_AUTHORIZATION_CODE: Grant type used to exchange an authorization code for an access token.\n - GRANT_PASSWORD: Grant type used to exchange a user ID and password for an access token.\n - GRANT_REFRESH_TOKEN: Grant type used to exchange a refresh token for an access token.",
"enum": [
"GRANT_AUTHORIZATION_CODE",
"GRANT_PASSWORD",
"GRANT_REFRESH_TOKEN"
],
"type": "string"
},
"type": "array"
},
"ids": {
"description": "The identifiers of the OAuth client. These are public and can be seen by any authenticated user in the network.",
"title": "The identifiers of the OAuth client. These are public and can be seen by any authenticated user in the network.",
"type": "object"
},
"logout_redirect_uris": {
"description": "The allowed logout redirect URIs against which client initiated logout\nrequests are checked. If the authorization request does not pass a redirect\nURI, the first one from this list is taken.\nThis information is public and can be seen by any authenticated user in the network.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the OAuth client. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"redirect_uris": {
"description": "The allowed redirect URIs against which authorization requests are checked.\nIf the authorization request does not pass a redirect URI, the first one\nfrom this list is taken.\nThis information is public and can be seen by any authenticated user in the network.",
"items": {
"type": "string"
},
"type": "array"
},
"rights": {
"description": "Rights denotes what rights the client will have access to.\nThis information is public and can be seen by any authenticated user in the network.\nUsers that previously authorized this client will have to re-authorize the\nclient after rights are added to this list.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"secret": {
"description": "The client secret is only visible to collaborators of the client.",
"type": "string"
},
"skip_authorization": {
"description": "If set, the authorization page will be skipped.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by admins.",
"type": "boolean"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the OAuth client was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the client fields that should be updated.",
"type": "string"
}
}
Show the schema of the message in JSON format.
Clients
Fields
Name | Type | Description |
---|---|---|
clients |
object |
Schema
{
"clients": {
"items": {
"description": "An OAuth client on the network.",
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this client. Typically used for organizing clients or for storing integration-specific data.",
"type": "object"
},
"contact_info": {
"description": "Contact information for this client. Typically used to indicate who to contact with technical/security questions about the application.\nThis information is public and can be seen by any authenticated user in the network.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the OAuth client was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the OAuth client was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the OAuth client. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"endorsed": {
"description": "If set, the authorization page will show endorsement.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by admins.",
"type": "boolean"
},
"grants": {
"description": "OAuth flows that can be used for the client to get a token.\nThis information is public and can be seen by any authenticated user in the network.\nAfter a client is created, this field can only be modified by admins.",
"items": {
"default": "GRANT_AUTHORIZATION_CODE",
"description": "The OAuth2 flows an OAuth client can use to get an access token.\n\n - GRANT_AUTHORIZATION_CODE: Grant type used to exchange an authorization code for an access token.\n - GRANT_PASSWORD: Grant type used to exchange a user ID and password for an access token.\n - GRANT_REFRESH_TOKEN: Grant type used to exchange a refresh token for an access token.",
"enum": [
"GRANT_AUTHORIZATION_CODE",
"GRANT_PASSWORD",
"GRANT_REFRESH_TOKEN"
],
"type": "string"
},
"type": "array"
},
"ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"logout_redirect_uris": {
"description": "The allowed logout redirect URIs against which client initiated logout\nrequests are checked. If the authorization request does not pass a redirect\nURI, the first one from this list is taken.\nThis information is public and can be seen by any authenticated user in the network.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the OAuth client. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"redirect_uris": {
"description": "The allowed redirect URIs against which authorization requests are checked.\nIf the authorization request does not pass a redirect URI, the first one\nfrom this list is taken.\nThis information is public and can be seen by any authenticated user in the network.",
"items": {
"type": "string"
},
"type": "array"
},
"rights": {
"description": "Rights denotes what rights the client will have access to.\nThis information is public and can be seen by any authenticated user in the network.\nUsers that previously authorized this client will have to re-authorize the\nclient after rights are added to this list.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"secret": {
"description": "The client secret is only visible to collaborators of the client.",
"type": "string"
},
"skip_authorization": {
"description": "If set, the authorization page will be skipped.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by admins.",
"type": "boolean"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the OAuth client was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
Collaborator
Fields
Name | Type | Description |
---|---|---|
ids |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
rights |
string |
Schema
{
"ids": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
Collaborators
Fields
Name | Type | Description |
---|---|---|
collaborators |
object |
Schema
{
"collaborators": {
"items": {
"properties": {
"ids": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ConcentratorConfig
Fields
Name | Type | Description |
---|---|---|
channels |
object | |
clock_source |
integer | |
fsk_channel |
object | |
lbt |
object | |
lora_standard_channel |
object | |
ping_slot |
object | |
radios |
object |
Schema
{
"channels": {
"items": {
"properties": {
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"radio": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"clock_source": {
"format": "int64",
"type": "integer"
},
"fsk_channel": {
"properties": {
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"radio": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lbt": {
"properties": {
"rssi_offset": {
"description": "Received signal strength offset (dBm).",
"format": "float",
"type": "number"
},
"rssi_target": {
"description": "Received signal strength (dBm).",
"format": "float",
"type": "number"
},
"scan_time": {
"type": "string"
}
},
"type": "object"
},
"lora_standard_channel": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"radio": {
"format": "int64",
"type": "integer"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"ping_slot": {
"properties": {
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"radio": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"radios": {
"items": {
"properties": {
"chip_type": {
"type": "string"
},
"enable": {
"type": "boolean"
},
"frequency": {
"format": "uint64",
"type": "string"
},
"rssi_offset": {
"format": "float",
"type": "number"
},
"tx_configuration": {
"properties": {
"max_frequency": {
"format": "uint64",
"type": "string"
},
"min_frequency": {
"format": "uint64",
"type": "string"
},
"notch_frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ConcentratorConfigChannel
Fields
Name | Type | Description |
---|---|---|
frequency |
string | Frequency (Hz). |
radio |
integer |
Schema
{
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"radio": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
ConnectedTimeBucket
Fields
Name | Type | Description |
---|---|---|
count |
integer | |
time |
string |
Schema
{
"count": {
"format": "int64",
"type": "integer"
},
"time": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
ConnectedTimeBuckets
Fields
Name | Type | Description |
---|---|---|
daily_buckets |
object | |
hourly_buckets |
object | |
weekly_buckets |
object |
Schema
{
"daily_buckets": {
"items": {
"description": "Number of entities connected in a time bucket.",
"properties": {
"count": {
"format": "int64",
"type": "integer"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"hourly_buckets": {
"items": {
"description": "Number of entities connected in a time bucket.",
"properties": {
"count": {
"format": "int64",
"type": "integer"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"weekly_buckets": {
"items": {
"description": "Number of entities connected in a time bucket.",
"properties": {
"count": {
"format": "int64",
"type": "integer"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ConsoleTheme
Supported values
Name | Description |
---|---|
CONSOLE_THEME_SYSTEM |
The user prefers the system mode. |
CONSOLE_THEME_LIGHT |
The user prefers the light mode. |
CONSOLE_THEME_DARK |
The user prefers the dark mode. |
ContactInfo
Fields
Name | Type | Description |
---|---|---|
contact_method |
string | |
contact_type |
string | |
public |
boolean | |
validated_at |
string | |
value |
string |
Schema
{
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ContactMethod
Supported values
CONTACT_METHOD_OTHER
CONTACT_METHOD_EMAIL
CONTACT_METHOD_PHONE
Default: CONTACT_METHOD_OTHER
ContactType
Supported values
CONTACT_TYPE_OTHER
CONTACT_TYPE_ABUSE
CONTACT_TYPE_BILLING
CONTACT_TYPE_TECHNICAL
Default: CONTACT_TYPE_OTHER
ConvertEndDeviceTemplateRequest
Fields
Name | Type | Description |
---|---|---|
data |
string | Data to convert. |
end_device_version_ids |
object | Identifies an end device model with version information. |
format_id |
string | ID of the format. |
Schema
{
"data": {
"description": "Data to convert.",
"format": "byte",
"type": "string"
},
"end_device_version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
},
"format_id": {
"description": "ID of the format.",
"type": "string"
}
}
Show the schema of the message in JSON format.
CreateAlertNotificationProfileRequest
Fields
Name | Type | Description |
---|---|---|
profile |
object |
Schema
{
"profile": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"type": "string"
},
"ids": {
"properties": {
"profile_id": {
"type": "string"
}
},
"type": "object"
},
"is_default": {
"description": "Whether this profile is the default alert notification profile for the network.",
"type": "boolean"
},
"name": {
"type": "string"
},
"receivers_ids": {
"description": "List of receivers that will be notified when an alert is triggered for this profile.",
"items": {
"properties": {
"receiver_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
CreateAlertNotificationReceiverRequest
Fields
Name | Type | Description |
---|---|---|
receiver |
object |
Schema
{
"receiver": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"email": {
"properties": {
"recipient": {
"type": "string"
}
},
"type": "object"
},
"ids": {
"properties": {
"receiver_id": {
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"sms": {
"properties": {
"phone_number": {
"description": "According to the international phone numbering plan (ITU-T E. 164)\nphone numbers cannot contain less than 7 digits and more than 15 digits.\nThe validation is done via an regex and accounts for the '+' formating character.",
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"webhook": {
"properties": {
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
CreateAuthenticationProviderRequest
Fields
Name | Type | Description |
---|---|---|
provider |
object |
Schema
{
"provider": {
"properties": {
"allow_registrations": {
"type": "boolean"
},
"allowed_email_domains": {
"description": "Allowed email domains for this provider.\nIf this field is set, only emails with the specified domains will be allowed to login.\nThe server also skips checking the `email_verified` field of the claims token.\nWe highly recommend admins of such providers to not allow\nusers to change their email addresses with the provider due to lack of verification.",
"items": {
"type": "string"
},
"type": "array"
},
"configuration": {
"properties": {
"oidc": {
"properties": {
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"provider_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"ids": {
"properties": {
"provider_id": {
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
CreateLoginTokenResponse
Fields
Name | Type | Description |
---|---|---|
token |
string | The token that can be used for logging in as the user. This field is only present if a token was created by an admin user for a non-admin user. |
Schema
{
"token": {
"description": "The token that can be used for logging in as the user.\nThis field is only present if a token was created by an admin user for a non-admin user.",
"type": "string"
}
}
Show the schema of the message in JSON format.
CreateNotificationResponse
Fields
Name | Type | Description |
---|---|---|
id |
string |
Schema
{
"id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
CreateRelayResponse
Fields
Name | Type | Description |
---|---|---|
settings |
object | RelaySettings represent the settings of a relay. This is used internally by the Network Server. |
Schema
{
"settings": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
CreateRelayUplinkForwardingRuleResponse
Fields
Name | Type | Description |
---|---|---|
rule |
object |
Schema
{
"rule": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
CreateTenantRequest
Fields
Name | Type | Description |
---|---|---|
initial_user |
object | User is the message that defines a user on the network. |
tenant |
object | Tenant is the message that defines a Tenant in the network. |
Schema
{
"initial_user": {
"description": "User is the message that defines a user on the network.",
"properties": {
"admin": {
"description": "This user is an admin.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by other admins.",
"type": "boolean"
},
"application_limit": {
"description": "The maximum number of applications of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this users. Typically used for storing integration-specific data.",
"type": "object"
},
"client_limit": {
"description": "The maximum number of clients of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"console_preferences": {
"description": "UserConsolePreferences is the message that defines the user preferences for the Console.",
"properties": {
"console_theme": {
"default": "CONSOLE_THEME_SYSTEM",
"description": "ConsoleTheme is the theme of the Console.\n\n - CONSOLE_THEME_SYSTEM: The user prefers the system mode.\n - CONSOLE_THEME_LIGHT: The user prefers the light mode.\n - CONSOLE_THEME_DARK: The user prefers the dark mode.",
"enum": [
"CONSOLE_THEME_SYSTEM",
"CONSOLE_THEME_LIGHT",
"CONSOLE_THEME_DARK"
],
"type": "string"
},
"dashboard_layouts": {
"properties": {
"api_key": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"application": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"collaborator": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"end_device": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"gateway": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"organization": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"overview": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"user": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
}
},
"type": "object"
},
"sort_by": {
"description": "SortBy defines the field to which the Console will sort the display of entities.",
"properties": {
"api_key": {
"type": "string"
},
"application": {
"type": "string"
},
"collaborator": {
"type": "string"
},
"end_device": {
"type": "string"
},
"gateway": {
"type": "string"
},
"organization": {
"type": "string"
},
"user": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information for this user. Typically used to indicate who to contact with security/billing questions about the user.\nThis field is deprecated.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the user was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the user was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the user. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"gateway_limit": {
"description": "The maximum number of gateways of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"name": {
"description": "The name of the user. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"organization_limit": {
"description": "The maximum number of organizations of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"password": {
"description": "The password field is only considered when creating a user.\nIt is not returned on API calls, and can not be updated by updating the User.\nSee the UpdatePassword method of the UserRegistry service for more information.",
"type": "string"
},
"password_updated_at": {
"format": "date-time",
"type": "string"
},
"primary_email_address": {
"description": "Primary email address that can be used for logging in.\nThis address is not public, use contact_info for that.",
"type": "string"
},
"primary_email_address_validated_at": {
"description": "When the primary email address was validated. Note that email address validation is not required on all networks.",
"format": "date-time",
"type": "string"
},
"profile_picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"require_password_update": {
"type": "boolean"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"temporary_password": {
"description": "The temporary password can only be used to update a user's password; never returned on API calls.\nIt is not returned on API calls, and can not be updated by updating the User.\nSee the CreateTemporaryPassword method of the UserRegistry service for more information.",
"type": "string"
},
"temporary_password_created_at": {
"format": "date-time",
"type": "string"
},
"temporary_password_expires_at": {
"format": "date-time",
"type": "string"
},
"updated_at": {
"description": "When the user was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"tenant": {
"description": "Tenant is the message that defines a Tenant in the network.",
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"billing": {
"properties": {
"aws_saas_marketplace": {
"properties": {
"customer_identifier": {
"type": "string"
},
"product_code": {
"type": "string"
}
},
"type": "object"
},
"counting": {
"properties": {
"end_devices": {
"default": "ALL",
"enum": [
"ALL",
"ONLY_ACTIVATED"
],
"type": "string"
}
},
"type": "object"
},
"stripe": {
"properties": {
"customer_id": {
"type": "string"
},
"plan_id": {
"type": "string"
},
"subscription_id": {
"type": "string"
},
"subscription_item_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"billing_identifiers": {
"properties": {
"billing_id": {
"type": "string"
}
},
"type": "object"
},
"capabilities": {
"type": "object"
},
"configuration": {
"properties": {
"clusters": {
"additionalProperties": {
"properties": {
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"description": "Configuration per cluster (by ID).",
"type": "object"
},
"default_cluster": {
"properties": {
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"pb": {
"properties": {
"listed": {
"description": "Indicates whether the Home Network is publicly listed.",
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"contact_info": {
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"type": "string"
},
"ids": {
"properties": {
"tenant_id": {
"type": "string"
}
},
"type": "object"
},
"max_applications": {
"description": "If set, restricts the maximum number of applications that can be created.",
"format": "uint64",
"type": "string"
},
"max_clients": {
"description": "If set, restricts the maximum number of clients that can be created.",
"format": "uint64",
"type": "string"
},
"max_end_devices": {
"description": "If set, restricts the maximum number of end_devices that can be created.",
"format": "uint64",
"type": "string"
},
"max_gateways": {
"description": "If set, restricts the maximum number of gateways that can be created.",
"format": "uint64",
"type": "string"
},
"max_organizations": {
"description": "If set, restricts the maximum number of organizations that can be created.",
"format": "uint64",
"type": "string"
},
"max_users": {
"description": "If set, restricts the maximum number of users that can be created.",
"format": "uint64",
"type": "string"
},
"name": {
"type": "string"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
CreateUserRequest
Fields
Name | Type | Description |
---|---|---|
invitation_token |
string | The invitation token that was sent to the user (some networks require an invitation in order to register new users). |
user |
object | User is the message that defines a user on the network. |
Schema
{
"invitation_token": {
"description": "The invitation token that was sent to the user (some networks require an invitation in order to register new users).",
"type": "string"
},
"user": {
"description": "User is the message that defines a user on the network.",
"properties": {
"admin": {
"description": "This user is an admin.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by other admins.",
"type": "boolean"
},
"application_limit": {
"description": "The maximum number of applications of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this users. Typically used for storing integration-specific data.",
"type": "object"
},
"client_limit": {
"description": "The maximum number of clients of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"console_preferences": {
"description": "UserConsolePreferences is the message that defines the user preferences for the Console.",
"properties": {
"console_theme": {
"default": "CONSOLE_THEME_SYSTEM",
"description": "ConsoleTheme is the theme of the Console.\n\n - CONSOLE_THEME_SYSTEM: The user prefers the system mode.\n - CONSOLE_THEME_LIGHT: The user prefers the light mode.\n - CONSOLE_THEME_DARK: The user prefers the dark mode.",
"enum": [
"CONSOLE_THEME_SYSTEM",
"CONSOLE_THEME_LIGHT",
"CONSOLE_THEME_DARK"
],
"type": "string"
},
"dashboard_layouts": {
"properties": {
"api_key": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"application": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"collaborator": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"end_device": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"gateway": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"organization": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"overview": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"user": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
}
},
"type": "object"
},
"sort_by": {
"description": "SortBy defines the field to which the Console will sort the display of entities.",
"properties": {
"api_key": {
"type": "string"
},
"application": {
"type": "string"
},
"collaborator": {
"type": "string"
},
"end_device": {
"type": "string"
},
"gateway": {
"type": "string"
},
"organization": {
"type": "string"
},
"user": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information for this user. Typically used to indicate who to contact with security/billing questions about the user.\nThis field is deprecated.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the user was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the user was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the user. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"gateway_limit": {
"description": "The maximum number of gateways of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"name": {
"description": "The name of the user. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"organization_limit": {
"description": "The maximum number of organizations of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"password": {
"description": "The password field is only considered when creating a user.\nIt is not returned on API calls, and can not be updated by updating the User.\nSee the UpdatePassword method of the UserRegistry service for more information.",
"type": "string"
},
"password_updated_at": {
"format": "date-time",
"type": "string"
},
"primary_email_address": {
"description": "Primary email address that can be used for logging in.\nThis address is not public, use contact_info for that.",
"type": "string"
},
"primary_email_address_validated_at": {
"description": "When the primary email address was validated. Note that email address validation is not required on all networks.",
"format": "date-time",
"type": "string"
},
"profile_picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"require_password_update": {
"type": "boolean"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"temporary_password": {
"description": "The temporary password can only be used to update a user's password; never returned on API calls.\nIt is not returned on API calls, and can not be updated by updating the User.\nSee the CreateTemporaryPassword method of the UserRegistry service for more information.",
"type": "string"
},
"temporary_password_created_at": {
"format": "date-time",
"type": "string"
},
"temporary_password_expires_at": {
"format": "date-time",
"type": "string"
},
"updated_at": {
"description": "When the user was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
CryptoServicePayloadRequest
Fields
Name | Type | Description |
---|---|---|
ids |
object | |
lorawan_version |
string | |
payload |
string | Raw input payload. |
provisioner_id |
string | Provisioner that provisioned the end device. |
provisioning_data |
object | Provisioning data for the provisioner. |
Schema
{
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"payload": {
"description": "Raw input payload.",
"format": "byte",
"type": "string"
},
"provisioner_id": {
"description": "Provisioner that provisioned the end device.",
"type": "string"
},
"provisioning_data": {
"description": "Provisioning data for the provisioner.",
"type": "object"
}
}
Show the schema of the message in JSON format.
CryptoServicePayloadResponse
Fields
Name | Type | Description |
---|---|---|
payload |
string | Raw output payload. |
Schema
{
"payload": {
"description": "Raw output payload.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
DLSettings
Fields
Name | Type | Description |
---|---|---|
opt_neg |
boolean | OptNeg is set if Network Server implements LoRaWAN 1.1 or greater. |
rx1_dr_offset |
string | |
rx2_dr |
string |
Schema
{
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
DashboardLayout
Supported values
Name | Description |
---|
DataRate
Fields
Name | Type | Description |
---|---|---|
fsk |
object | |
lora |
object | |
lrfhss |
object |
Schema
{
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
DataRateIndex
Supported values
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
Default: DATA_RATE_0
DataRateIndexValue
Fields
Name | Type | Description |
---|---|---|
value |
string |
Schema
{
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
DataRateOffset
Supported values
DATA_RATE_OFFSET_0
DATA_RATE_OFFSET_1
DATA_RATE_OFFSET_2
DATA_RATE_OFFSET_3
DATA_RATE_OFFSET_4
DATA_RATE_OFFSET_5
DATA_RATE_OFFSET_6
DATA_RATE_OFFSET_7
Default: DATA_RATE_OFFSET_0
DataRateOffsetValue
Fields
Name | Type | Description |
---|---|---|
value |
string |
Schema
{
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
DataRatePacketCount
Fields
Name | Type | Description |
---|---|---|
count |
object | Packet counts per data rate. |
time |
string |
Schema
{
"count": {
"additionalProperties": {
"format": "uint64",
"type": "string"
},
"description": "Packet counts per data rate.",
"type": "object"
},
"time": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
DataRatesPacketCount
Fields
Name | Type | Description |
---|---|---|
data_rates |
object |
Schema
{
"data_rates": {
"items": {
"properties": {
"count": {
"additionalProperties": {
"format": "uint64",
"type": "string"
},
"description": "Packet counts per data rate.",
"type": "object"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
DecodeDownlinkResponse
Fields
Name | Type | Description |
---|---|---|
downlink |
object |
Schema
{
"downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
DecodeUplinkResponse
Fields
Name | Type | Description |
---|---|---|
uplink |
object |
Schema
{
"uplink": {
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"confirmed": {
"description": "Indicates whether the end device used confirmed data uplink.",
"type": "boolean"
},
"consumed_airtime": {
"description": "Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings.",
"type": "string"
},
"decoded_payload": {
"description": "The decoded frame payload of the uplink message.\nThis field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while decoding the frm_payload.",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"description": "LoRaWAN FCntUp of the uplink message.",
"format": "int64",
"type": "integer"
},
"f_port": {
"description": "LoRaWAN FPort of the uplink message.",
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the uplink message.\nThe payload is still encrypted if the skip_payload_crypto field of the EndDevice\nis true, which is indicated by the presence of the app_s_key field.",
"format": "byte",
"type": "string"
},
"last_a_f_cnt_down": {
"description": "The last AFCntDown of the current session.\nThis field is only present if the skip_payload_crypto field of the EndDevice\nis true.\nCan be used with app_s_key to encrypt downlink payloads.",
"format": "int64",
"type": "integer"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "End device location metadata, set by the Application Server while handling the message.",
"type": "object"
},
"network_ids": {
"description": "Identifies a Network Server.",
"properties": {
"cluster_address": {
"description": "Cluster address of the Network Server.",
"type": "string"
},
"cluster_id": {
"description": "Cluster identifier of the Network Server.",
"type": "string"
},
"net_id": {
"description": "LoRa Alliance NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"description": "LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"tenant_address": {
"description": "Optional tenant address for multi-tenant deployments.",
"type": "string"
},
"tenant_id": {
"description": "Optional tenant identifier for multi-tenant deployments.",
"type": "string"
}
},
"type": "object"
},
"normalized_payload": {
"description": "The normalized frame payload of the uplink message.\nThis field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).\nIf the message processor is a custom script, there is no uplink normalizer script and the decoded output is valid\nnormalized payload, this field contains the decoded payload.",
"items": {
"type": "object"
},
"type": "array"
},
"normalized_payload_warnings": {
"description": "Warnings generated by the message processor while normalizing the decoded payload.",
"items": {
"type": "string"
},
"type": "array"
},
"packet_error_rate": {
"description": "Packet error rate of the recent uplinks in the current session.\nCalculated by the Network Server. The value is defined in the [0, 1] interval.",
"format": "float",
"type": "number"
},
"received_at": {
"description": "Server time when the Network Server received the message.",
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"description": "A list of metadata for each antenna of each gateway that received this message.",
"items": {
"description": "Contains metadata for a received message. Each antenna that receives\na message corresponds to one RxMetadata.",
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_index": {
"format": "int64",
"type": "integer"
},
"channel_index": {
"description": "Index of the gateway channel that received the message.",
"format": "int64",
"type": "integer"
},
"channel_rssi": {
"description": "Received signal strength indicator of the channel (dBm).",
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"encrypted_fine_timestamp": {
"description": "Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "byte",
"type": "string"
},
"encrypted_fine_timestamp_key_id": {
"type": "string"
},
"fine_timestamp": {
"description": "Gateway's internal fine timestamp when the Rx finished (nanoseconds).",
"format": "uint64",
"type": "string"
},
"frequency_drift": {
"description": "Frequency drift in Hz between start and end of an LR-FHSS packet (signed).",
"format": "int32",
"type": "integer"
},
"frequency_offset": {
"description": "Frequency offset (Hz).",
"format": "int64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"gps_time": {
"description": "Timestamp at the end of the transmission, provided by the gateway.\nGuaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.",
"format": "date-time",
"type": "string"
},
"hopping_width": {
"description": "Hopping width; a number describing the number of steps of the LR-FHSS grid.",
"format": "int64",
"type": "integer"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"properties": {
"forwarder_cluster_id": {
"description": "Forwarder Cluster ID of the Packet Broker Forwarder.",
"type": "string"
},
"forwarder_gateway_eui": {
"description": "Forwarder gateway EUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"forwarder_gateway_id": {
"description": "Forwarder gateway ID.",
"type": "string"
},
"forwarder_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Forwarder Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"forwarder_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Forwarder Member.",
"type": "string"
},
"home_network_cluster_id": {
"description": "Home Network Cluster ID of the Packet Broker Home Network.",
"type": "string"
},
"home_network_net_id": {
"description": "LoRa Alliance NetID of the Packet Broker Home Network Member.",
"example": "000013",
"format": "string",
"type": "string"
},
"home_network_tenant_id": {
"description": "Tenant ID managed by the Packet Broker Home Network Member.\nThis value is empty if it cannot be determined by the Packet Broker Router.",
"type": "string"
},
"hops": {
"description": "Hops that the message passed. Each Packet Broker Router service appends an entry.",
"items": {
"properties": {
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_id": {
"description": "Message identifier generated by Packet Broker Router.",
"type": "string"
}
},
"type": "object"
},
"received_at": {
"description": "Timestamp at which the Gateway Server has received the message.",
"format": "date-time",
"type": "string"
},
"relay": {
"properties": {
"device_id": {
"description": "End device identifiers of the relay.",
"type": "string"
},
"wor_channel": {
"default": "RELAY_WOR_CHANNEL_DEFAULT",
"enum": [
"RELAY_WOR_CHANNEL_DEFAULT",
"RELAY_WOR_CHANNEL_SECONDARY"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"description": "Received signal strength indicator (dBm).\nThis value equals `channel_rssi`.",
"format": "float",
"type": "number"
},
"rssi_standard_deviation": {
"description": "Standard deviation of the RSSI during preamble.",
"format": "float",
"type": "number"
},
"signal_rssi": {
"description": "Received signal strength indicator of the signal (dBm).",
"format": "float",
"type": "number"
},
"snr": {
"description": "Signal-to-noise ratio (dB).",
"format": "float",
"type": "number"
},
"time": {
"description": "Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Gateway concentrator timestamp when the Rx finished (microseconds).",
"format": "int64",
"type": "integer"
},
"uplink_token": {
"description": "Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this uplink.",
"format": "byte",
"type": "string"
},
"settings": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
DecodedMessagePayload
Fields
Name | Type | Description |
---|---|---|
data |
object | |
errors |
string | |
warnings |
string |
Schema
{
"data": {
"type": "object"
},
"errors": {
"items": {
"type": "string"
},
"type": "array"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
DeleteRelayResponse
DeleteRelayUplinkForwardingRuleResponse
DevAddrPrefix
Fields
Name | Type | Description |
---|---|---|
dev_addr |
string | DevAddr base. |
length |
integer | Number of most significant bits from dev_addr that are used as prefix. |
Schema
{
"dev_addr": {
"description": "DevAddr base.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"length": {
"description": "Number of most significant bits from dev_addr that are used as prefix.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
DeviceEIRP
Supported values
Name | Description |
---|---|
DEVICE_EIRP_8 |
8 dBm. |
DEVICE_EIRP_10 |
10 dBm. |
DEVICE_EIRP_12 |
12 dBm. |
DEVICE_EIRP_13 |
13 dBm. |
DEVICE_EIRP_14 |
14 dBm. |
DEVICE_EIRP_16 |
16 dBm. |
DEVICE_EIRP_18 |
18 dBm. |
DEVICE_EIRP_20 |
20 dBm. |
DEVICE_EIRP_21 |
21 dBm. |
DEVICE_EIRP_24 |
24 dBm. |
DEVICE_EIRP_26 |
26 dBm. |
DEVICE_EIRP_27 |
27 dBm. |
DEVICE_EIRP_29 |
29 dBm. |
DEVICE_EIRP_30 |
30 dBm. |
DEVICE_EIRP_33 |
33 dBm. |
DEVICE_EIRP_36 |
36 dBm. |
DeviceEIRPValue
Fields
Name | Type | Description |
---|---|---|
value |
string | - DEVICE_EIRP_8: 8 dBm. - DEVICE_EIRP_10: 10 dBm. - DEVICE_EIRP_12: 12 dBm. - DEVICE_EIRP_13: 13 dBm. - DEVICE_EIRP_14: 14 dBm. - DEVICE_EIRP_16: 16 dBm. - DEVICE_EIRP_18: 18 dBm. - DEVICE_EIRP_20: 20 dBm. - DEVICE_EIRP_21: 21 dBm. - DEVICE_EIRP_24: 24 dBm. - DEVICE_EIRP_26: 26 dBm. - DEVICE_EIRP_27: 27 dBm. - DEVICE_EIRP_29: 29 dBm. - DEVICE_EIRP_30: 30 dBm. - DEVICE_EIRP_33: 33 dBm. - DEVICE_EIRP_36: 36 dBm. |
Schema
{
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
DownlinkPath
Fields
Name | Type | Description |
---|---|---|
fixed |
object | |
uplink_token |
string |
Schema
{
"fixed": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
DownlinkPathConstraint
Supported values
Name | Description |
---|---|
DOWNLINK_PATH_CONSTRAINT_NONE |
Indicates that the gateway can be selected for downlink without constraints by the Network Server. |
DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER |
Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected. |
DOWNLINK_PATH_CONSTRAINT_NEVER |
Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path. |
EmailValidation
Fields
Name | Type | Description |
---|---|---|
address |
string | |
created_at |
string | |
expires_at |
string | |
id |
string | |
token |
string | |
updated_at |
string |
Schema
{
"address": {
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"id": {
"type": "string"
},
"token": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
EncodeDownlinkResponse
Fields
Name | Type | Description |
---|---|---|
downlink |
object |
Schema
{
"downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
EncodedMessagePayload
Fields
Name | Type | Description |
---|---|---|
errors |
string | |
f_port |
integer | |
frm_payload |
string | |
warnings |
string |
Schema
{
"errors": {
"items": {
"type": "string"
},
"type": "array"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
EndDevice
Fields
Name | Type | Description |
---|---|---|
activated_at |
string | 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. |
application_server_address |
string | 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. |
application_server_id |
string | The AS-ID of the Application Server to use. Stored in Join Server. |
application_server_kek_label |
string | The KEK label of the Application Server to use for wrapping the application session key. Stored in Join Server. |
attributes |
object | Key-value attributes for this end device. Typically used for organizing end devices or for storing integration-specific data. Stored in Entity Registry. |
battery_percentage |
number | 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. |
claim_authentication_code |
object | Authentication code for end devices. |
created_at |
string | |
description |
string | Description of the device. Stored in Entity Registry. |
downlink_margin |
integer | Demodulation signal-to-noise ratio (dB). Received via the DevStatus MAC command at last_dev_status_received_at. Stored in Network Server. |
formatters |
object | |
frequency_plan_id |
string | 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. |
ids |
object | |
join_server_address |
string | 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. |
last_dev_nonce |
integer | Last DevNonce used. This field is only used for devices using LoRaWAN version 1.1 and later. Stored in Join Server. |
last_dev_status_received_at |
string | Time when last DevStatus MAC command was received. Stored in Network Server. |
last_join_nonce |
integer | Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used. Stored in Join Server. |
last_rj_count_0 |
integer | Last Rejoin counter value used (type 0/2). Stored in Join Server. |
last_rj_count_1 |
integer | Last Rejoin counter value used (type 1). Stored in Join Server. |
last_seen_at |
string | Timestamp when a device uplink has been last observed. This field is set by the Application Server and stored in the Identity Server. |
locations |
object | Location of the device. Stored in Entity Registry. |
lora_alliance_profile_ids |
object | |
lorawan_phy_version |
string | |
lorawan_version |
string | |
mac_settings |
object | |
mac_state |
object | 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. |
max_frequency |
string | 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. |
min_frequency |
string | 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. |
multicast |
boolean | Indicates whether this device represents a multicast group. |
name |
string | Friendly name of the device. Stored in Entity Registry. |
net_id |
string | Home NetID. Stored in Join Server. |
network_server_address |
string | 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. |
network_server_kek_label |
string | The KEK label of the Network Server to use for wrapping network session keys. Stored in Join Server. |
pending_mac_state |
object | 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. |
pending_session |
object | |
picture |
object | |
power_state |
string | Power state of the device. |
provisioner_id |
string | ID of the provisioner. Stored in Join Server. |
provisioning_data |
object | Vendor-specific provisioning data. Stored in Join Server. |
queued_application_downlinks |
object | 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. |
resets_join_nonces |
boolean | 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. |
root_keys |
object | Root keys for a LoRaWAN device. These are stored on the Join Server. |
serial_number |
string | |
service_profile_id |
string | Default service profile. Stored in Entity Registry. |
session |
object | |
skip_payload_crypto |
boolean | Skip decryption of uplink payloads and encryption of downlink payloads. This field is deprecated, use skip_payload_crypto_override instead. |
skip_payload_crypto_override |
boolean | Skip decryption of uplink payloads and encryption of downlink payloads. This field overrides the application-level setting. |
supports_class_b |
boolean | 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. |
supports_class_c |
boolean | 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. |
supports_join |
boolean | 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. |
updated_at |
string | |
used_dev_nonces |
integer | Used DevNonces sorted in ascending order. This field is only used for devices using LoRaWAN versions preceding 1.1. Stored in Join Server. |
version_ids |
object | Identifies an end device model with version information. |
Schema
{
"activated_at": {
"description": "Timestamp when the device has been activated. Stored in the Entity Registry.\nThis field is set by the Application Server when an end device sends\nits first uplink.\nThe Application Server will use the field in order to avoid repeated\ncalls to the Entity Registry.\nThe field cannot be unset once set.",
"format": "date-time",
"type": "string"
},
"application_server_address": {
"description": "The address of the Application Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"application_server_id": {
"description": "The AS-ID of the Application Server to use.\nStored in Join Server.",
"type": "string"
},
"application_server_kek_label": {
"description": "The KEK label of the Application Server to use for wrapping the application session key.\nStored in Join Server.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "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.",
"type": "object"
},
"battery_percentage": {
"description": "Latest-known battery percentage of the device.\nReceived via the DevStatus MAC command at last_dev_status_received_at or earlier.\nStored in Network Server.",
"format": "float",
"type": "number"
},
"claim_authentication_code": {
"description": "Authentication code for end devices.",
"properties": {
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "Description of the device. Stored in Entity Registry.",
"type": "string"
},
"downlink_margin": {
"description": "Demodulation signal-to-noise ratio (dB).\nReceived via the DevStatus MAC command at last_dev_status_received_at.\nStored in Network Server.",
"format": "int32",
"type": "integer"
},
"formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"frequency_plan_id": {
"description": "ID of the frequency plan used by this device.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this device is supposed to be registered.\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"last_dev_nonce": {
"description": "Last DevNonce used.\nThis field is only used for devices using LoRaWAN version 1.1 and later.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_dev_status_received_at": {
"description": "Time when last DevStatus MAC command was received.\nStored in Network Server.",
"format": "date-time",
"type": "string"
},
"last_join_nonce": {
"description": "Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_0": {
"description": "Last Rejoin counter value used (type 0/2).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_1": {
"description": "Last Rejoin counter value used (type 1).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_seen_at": {
"description": "Timestamp when a device uplink has been last observed.\nThis field is set by the Application Server and stored in the Identity Server.",
"format": "date-time",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "Location of the device. Stored in Entity Registry.",
"type": "object"
},
"lora_alliance_profile_ids": {
"properties": {
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lorawan_phy_version": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"mac_settings": {
"properties": {
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"max_frequency": {
"description": "Maximum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"min_frequency": {
"description": "Minimum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"multicast": {
"description": "Indicates whether this device represents a multicast group.",
"type": "boolean"
},
"name": {
"description": "Friendly name of the device. Stored in Entity Registry.",
"type": "string"
},
"net_id": {
"description": "Home NetID. Stored in Join Server.",
"example": "000013",
"format": "string",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"network_server_kek_label": {
"description": "The KEK label of the Network Server to use for wrapping network session keys.\nStored in Join Server.",
"type": "string"
},
"pending_mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"pending_session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"power_state": {
"default": "POWER_UNKNOWN",
"description": "Power state of the device.",
"enum": [
"POWER_UNKNOWN",
"POWER_BATTERY",
"POWER_EXTERNAL"
],
"type": "string"
},
"provisioner_id": {
"description": "ID of the provisioner. Stored in Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data. Stored in Join Server.",
"type": "object"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server,\nwhich sets them on the Network Server.\nThis field is deprecated and is always set equal to session.queued_application_downlinks.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resets_join_nonces": {
"description": "Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"root_keys": {
"description": "Root keys for a LoRaWAN device.\nThese are stored on the Join Server.",
"properties": {
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
},
"type": "object"
},
"serial_number": {
"type": "string"
},
"service_profile_id": {
"description": "Default service profile. Stored in Entity Registry.",
"type": "string"
},
"session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field is deprecated, use skip_payload_crypto_override instead.",
"type": "boolean"
},
"skip_payload_crypto_override": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field overrides the application-level setting.",
"type": "boolean"
},
"supports_class_b": {
"description": "Whether the device supports class B.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_class_c": {
"description": "Whether the device supports class C.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_join": {
"description": "The device supports join (it's OTAA).\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"used_dev_nonces": {
"description": "Used DevNonces sorted in ascending order.\nThis field is only used for devices using LoRaWAN versions preceding 1.1.\nStored in Join Server.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
EndDeviceAuthenticationCode
Fields
Name | Type | Description |
---|---|---|
valid_from |
string | |
valid_to |
string | |
value |
string |
Schema
{
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceBrand
Fields
Name | Type | Description |
---|---|---|
brand_id |
string | Brand identifier, as specified in the Device Repository. |
email |
string | Contact email address. |
logo |
string | Path to brand logo. |
lora_alliance_vendor_id |
integer | VendorID managed by the LoRa Alliance, as defined in TR005. |
name |
string | Brand name. |
organization_unique_identifiers |
string | Organization Unique Identifiers (OUI) assigned by IEEE. |
private_enterprise_number |
integer | Private Enterprise Number (PEN) assigned by IANA. |
website |
string | Brand website URL. |
Schema
{
"brand_id": {
"description": "Brand identifier, as specified in the Device Repository.",
"type": "string"
},
"email": {
"description": "Contact email address.",
"type": "string"
},
"logo": {
"description": "Path to brand logo.",
"type": "string"
},
"lora_alliance_vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"name": {
"description": "Brand name.",
"type": "string"
},
"organization_unique_identifiers": {
"description": "Organization Unique Identifiers (OUI) assigned by IEEE.",
"items": {
"type": "string"
},
"type": "array"
},
"private_enterprise_number": {
"description": "Private Enterprise Number (PEN) assigned by IANA.",
"format": "int64",
"type": "integer"
},
"website": {
"description": "Brand website URL.",
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceIdentifiers
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
dev_addr |
string | The LoRaWAN DevAddr. |
dev_eui |
string | The LoRaWAN DevEUI. |
device_id |
string | |
join_eui |
string | The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). |
Schema
{
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceModel
Fields
Name | Type | Description |
---|---|---|
additional_radios |
string | List of any additional radios included in the device. |
battery |
object | |
brand_id |
string | Brand identifier, as defined in the Device Repository. |
compliances |
object | |
datasheet_url |
string | Device datasheet URL. |
description |
string | Model description. |
dimensions |
object | |
firmware_versions |
object | Available firmware versions. |
hardware_versions |
object | Available hardware versions. |
ip_code |
string | Device IP rating code. |
key_provisioning |
string | Supported key provisioning methods. |
key_security |
string | - KEY_SECURITY_UNKNOWN: Unknown key security. - KEY_SECURITY_NONE: No key security. - KEY_SECURITY_READ_PROTECTED: Read Protected key security. - KEY_SECURITY_SECURE_ELEMENT: Key security using the Security Element. |
model_id |
string | Model identifier, as defined in the Device Repository. |
name |
string | Model name, as defined in the Device Repository. |
operating_conditions |
object | |
photos |
object | |
product_url |
string | Device information page URL. |
resellers |
object | Reseller URLs. |
sensors |
string | List of sensors included in the device. |
videos |
object | |
weight |
number | Device weight (gram). |
Schema
{
"additional_radios": {
"description": "List of any additional radios included in the device.",
"items": {
"type": "string"
},
"type": "array"
},
"battery": {
"properties": {
"replaceable": {
"description": "Whether the device battery can be replaced.",
"type": "boolean"
},
"type": {
"description": "Battery type.",
"type": "string"
}
},
"type": "object"
},
"brand_id": {
"description": "Brand identifier, as defined in the Device Repository.",
"type": "string"
},
"compliances": {
"properties": {
"radio_equipment": {
"description": "List of radio equipment standards the device is compliant with.",
"items": {
"properties": {
"body": {
"type": "string"
},
"norm": {
"type": "string"
},
"standard": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"safety": {
"description": "List of safety standards the device is compliant with.",
"items": {
"properties": {
"body": {
"type": "string"
},
"norm": {
"type": "string"
},
"standard": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"datasheet_url": {
"description": "Device datasheet URL.",
"type": "string"
},
"description": {
"description": "Model description.",
"type": "string"
},
"dimensions": {
"properties": {
"diameter": {
"description": "Device diameter (mm).",
"format": "float",
"type": "number"
},
"height": {
"description": "Device height (mm).",
"format": "float",
"type": "number"
},
"length": {
"description": "Device length (mm).",
"format": "float",
"type": "number"
},
"width": {
"description": "Device width (mm).",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"firmware_versions": {
"description": "Available firmware versions.",
"items": {
"properties": {
"numeric": {
"description": "Numeric firmware revision number.",
"format": "int64",
"type": "integer"
},
"profiles": {
"additionalProperties": {
"properties": {
"codec_id": {
"description": "Payload formatter codec identifier, as defined in the Device Repository.",
"type": "string"
},
"lorawan_certified": {
"description": "Whether the device is LoRaWAN certified.",
"type": "boolean"
},
"profile_id": {
"description": "Profile identifier, as defined in the Device Repository.",
"type": "string"
},
"vendor_id": {
"description": "Vendor ID of the profile, as defined in the Device Repository.\nIf this value is set, the profile is loaded from this vendor's folder.\nIf this value is not set, the profile is loaded from the current (end device's) vendor.",
"type": "string"
}
},
"type": "object"
},
"description": "Device profiles for each supported region (band).",
"type": "object"
},
"supported_hardware_versions": {
"description": "Hardware versions supported by this firmware version.",
"items": {
"type": "string"
},
"type": "array"
},
"version": {
"description": "Firmware version string.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"hardware_versions": {
"description": "Available hardware versions.",
"items": {
"properties": {
"numeric": {
"description": "Numberic hardware revision number.",
"format": "int64",
"type": "integer"
},
"part_number": {
"description": "Hardware part number.",
"type": "string"
},
"version": {
"description": "Hardware version string.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"ip_code": {
"description": "Device IP rating code.",
"type": "string"
},
"key_provisioning": {
"description": "Supported key provisioning methods.",
"items": {
"default": "KEY_PROVISIONING_UNKNOWN",
"description": " - KEY_PROVISIONING_UNKNOWN: Unknown Key Provisioning.\n - KEY_PROVISIONING_CUSTOM: Custom Key Provisioning.\n - KEY_PROVISIONING_JOIN_SERVER: Key Provisioning from the Global Join Server.\n - KEY_PROVISIONING_MANIFEST: Key Provisioning from Manifest.",
"enum": [
"KEY_PROVISIONING_UNKNOWN",
"KEY_PROVISIONING_CUSTOM",
"KEY_PROVISIONING_JOIN_SERVER",
"KEY_PROVISIONING_MANIFEST"
],
"type": "string"
},
"type": "array"
},
"key_security": {
"default": "KEY_SECURITY_UNKNOWN",
"description": " - KEY_SECURITY_UNKNOWN: Unknown key security.\n - KEY_SECURITY_NONE: No key security.\n - KEY_SECURITY_READ_PROTECTED: Read Protected key security.\n - KEY_SECURITY_SECURE_ELEMENT: Key security using the Security Element.",
"enum": [
"KEY_SECURITY_UNKNOWN",
"KEY_SECURITY_NONE",
"KEY_SECURITY_READ_PROTECTED",
"KEY_SECURITY_SECURE_ELEMENT"
],
"type": "string"
},
"model_id": {
"description": "Model identifier, as defined in the Device Repository.",
"type": "string"
},
"name": {
"description": "Model name, as defined in the Device Repository.",
"type": "string"
},
"operating_conditions": {
"properties": {
"relative_humidity": {
"properties": {
"max": {
"description": "Max value of operating conditions range.",
"format": "float",
"type": "number"
},
"min": {
"description": "Min value of operating conditions range.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"temperature": {
"properties": {
"max": {
"description": "Max value of operating conditions range.",
"format": "float",
"type": "number"
},
"min": {
"description": "Min value of operating conditions range.",
"format": "float",
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"photos": {
"properties": {
"main": {
"description": "Main device photo.",
"type": "string"
},
"other": {
"description": "List of other device photos.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"product_url": {
"description": "Device information page URL.",
"type": "string"
},
"resellers": {
"description": "Reseller URLs.",
"items": {
"properties": {
"name": {
"description": "Reseller name.",
"type": "string"
},
"region": {
"description": "Reseller regions.",
"items": {
"type": "string"
},
"type": "array"
},
"url": {
"description": "Reseller URL.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"sensors": {
"description": "List of sensors included in the device.",
"items": {
"type": "string"
},
"type": "array"
},
"videos": {
"properties": {
"main": {
"description": "Link to main device video.",
"type": "string"
},
"other": {
"description": "Links to other device videos.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"weight": {
"description": "Device weight (gram).",
"format": "float",
"type": "number"
}
}
Show the schema of the message in JSON format.
EndDeviceQRCodeGeneratorParseBody
Fields
Name | Type | Description |
---|---|---|
qr_code |
string | Raw QR code contents. |
Schema
{
"qr_code": {
"description": "Raw QR code contents.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceRegistryCreateBody
Fields
Name | Type | Description |
---|---|---|
end_device |
object | 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. |
Schema
{
"end_device": {
"description": "Defines an End Device registration and its state on the network.\nThe persistence of the EndDevice is divided between the Network Server, Application Server and Join Server.\nSDKs are responsible for combining (if desired) the three.",
"properties": {
"activated_at": {
"description": "Timestamp when the device has been activated. Stored in the Entity Registry.\nThis field is set by the Application Server when an end device sends\nits first uplink.\nThe Application Server will use the field in order to avoid repeated\ncalls to the Entity Registry.\nThe field cannot be unset once set.",
"format": "date-time",
"type": "string"
},
"application_server_address": {
"description": "The address of the Application Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"application_server_id": {
"description": "The AS-ID of the Application Server to use.\nStored in Join Server.",
"type": "string"
},
"application_server_kek_label": {
"description": "The KEK label of the Application Server to use for wrapping the application session key.\nStored in Join Server.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "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.",
"type": "object"
},
"battery_percentage": {
"description": "Latest-known battery percentage of the device.\nReceived via the DevStatus MAC command at last_dev_status_received_at or earlier.\nStored in Network Server.",
"format": "float",
"type": "number"
},
"claim_authentication_code": {
"description": "Authentication code for end devices.",
"properties": {
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "Description of the device. Stored in Entity Registry.",
"type": "string"
},
"downlink_margin": {
"description": "Demodulation signal-to-noise ratio (dB).\nReceived via the DevStatus MAC command at last_dev_status_received_at.\nStored in Network Server.",
"format": "int32",
"type": "integer"
},
"formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"frequency_plan_id": {
"description": "ID of the frequency plan used by this device.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this device is supposed to be registered.\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"last_dev_nonce": {
"description": "Last DevNonce used.\nThis field is only used for devices using LoRaWAN version 1.1 and later.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_dev_status_received_at": {
"description": "Time when last DevStatus MAC command was received.\nStored in Network Server.",
"format": "date-time",
"type": "string"
},
"last_join_nonce": {
"description": "Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_0": {
"description": "Last Rejoin counter value used (type 0/2).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_1": {
"description": "Last Rejoin counter value used (type 1).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_seen_at": {
"description": "Timestamp when a device uplink has been last observed.\nThis field is set by the Application Server and stored in the Identity Server.",
"format": "date-time",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "Location of the device. Stored in Entity Registry.",
"type": "object"
},
"lora_alliance_profile_ids": {
"properties": {
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lorawan_phy_version": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"mac_settings": {
"properties": {
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"max_frequency": {
"description": "Maximum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"min_frequency": {
"description": "Minimum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"multicast": {
"description": "Indicates whether this device represents a multicast group.",
"type": "boolean"
},
"name": {
"description": "Friendly name of the device. Stored in Entity Registry.",
"type": "string"
},
"net_id": {
"description": "Home NetID. Stored in Join Server.",
"example": "000013",
"format": "string",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"network_server_kek_label": {
"description": "The KEK label of the Network Server to use for wrapping network session keys.\nStored in Join Server.",
"type": "string"
},
"pending_mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"pending_session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"power_state": {
"default": "POWER_UNKNOWN",
"description": "Power state of the device.",
"enum": [
"POWER_UNKNOWN",
"POWER_BATTERY",
"POWER_EXTERNAL"
],
"type": "string"
},
"provisioner_id": {
"description": "ID of the provisioner. Stored in Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data. Stored in Join Server.",
"type": "object"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server,\nwhich sets them on the Network Server.\nThis field is deprecated and is always set equal to session.queued_application_downlinks.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resets_join_nonces": {
"description": "Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"root_keys": {
"description": "Root keys for a LoRaWAN device.\nThese are stored on the Join Server.",
"properties": {
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
},
"type": "object"
},
"serial_number": {
"type": "string"
},
"service_profile_id": {
"description": "Default service profile. Stored in Entity Registry.",
"type": "string"
},
"session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field is deprecated, use skip_payload_crypto_override instead.",
"type": "boolean"
},
"skip_payload_crypto_override": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field overrides the application-level setting.",
"type": "boolean"
},
"supports_class_b": {
"description": "Whether the device supports class B.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_class_c": {
"description": "Whether the device supports class C.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_join": {
"description": "The device supports join (it's OTAA).\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"used_dev_nonces": {
"description": "Used DevNonces sorted in ascending order.\nThis field is only used for devices using LoRaWAN versions preceding 1.1.\nStored in Join Server.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
EndDeviceRegistryListBody
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
field_mask |
string | 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. |
filters |
object | |
limit |
integer | Limit the number of results per page. |
order |
string | 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. |
page |
integer | Page number for pagination. 0 is interpreted as 1. |
Schema
{
"application_ids": {
"type": "object"
},
"field_mask": {
"description": "The names of the end device fields that should be returned.\nSee the API reference for which fields can be returned by the different services.",
"type": "string"
},
"filters": {
"items": {
"description": "Filter end devices by fields.",
"properties": {
"updated_since": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"limit": {
"description": "Limit the number of results per page.",
"format": "int64",
"type": "integer"
},
"order": {
"description": "Order the results by this field path (must be present in the field mask).\nDefault ordering is by ID. Prepend with a minus (-) to reverse the order.",
"type": "string"
},
"page": {
"description": "Page number for pagination. 0 is interpreted as 1.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
EndDeviceRegistryUpdateBody
Fields
Name | Type | Description |
---|---|---|
end_device |
object | 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. |
field_mask |
string | 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. |
Schema
{
"end_device": {
"description": "Defines an End Device registration and its state on the network.\nThe persistence of the EndDevice is divided between the Network Server, Application Server and Join Server.\nSDKs are responsible for combining (if desired) the three.",
"properties": {
"activated_at": {
"description": "Timestamp when the device has been activated. Stored in the Entity Registry.\nThis field is set by the Application Server when an end device sends\nits first uplink.\nThe Application Server will use the field in order to avoid repeated\ncalls to the Entity Registry.\nThe field cannot be unset once set.",
"format": "date-time",
"type": "string"
},
"application_server_address": {
"description": "The address of the Application Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"application_server_id": {
"description": "The AS-ID of the Application Server to use.\nStored in Join Server.",
"type": "string"
},
"application_server_kek_label": {
"description": "The KEK label of the Application Server to use for wrapping the application session key.\nStored in Join Server.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "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.",
"type": "object"
},
"battery_percentage": {
"description": "Latest-known battery percentage of the device.\nReceived via the DevStatus MAC command at last_dev_status_received_at or earlier.\nStored in Network Server.",
"format": "float",
"type": "number"
},
"claim_authentication_code": {
"description": "Authentication code for end devices.",
"properties": {
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "Description of the device. Stored in Entity Registry.",
"type": "string"
},
"downlink_margin": {
"description": "Demodulation signal-to-noise ratio (dB).\nReceived via the DevStatus MAC command at last_dev_status_received_at.\nStored in Network Server.",
"format": "int32",
"type": "integer"
},
"formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"frequency_plan_id": {
"description": "ID of the frequency plan used by this device.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this device is supposed to be registered.\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"last_dev_nonce": {
"description": "Last DevNonce used.\nThis field is only used for devices using LoRaWAN version 1.1 and later.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_dev_status_received_at": {
"description": "Time when last DevStatus MAC command was received.\nStored in Network Server.",
"format": "date-time",
"type": "string"
},
"last_join_nonce": {
"description": "Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_0": {
"description": "Last Rejoin counter value used (type 0/2).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_1": {
"description": "Last Rejoin counter value used (type 1).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_seen_at": {
"description": "Timestamp when a device uplink has been last observed.\nThis field is set by the Application Server and stored in the Identity Server.",
"format": "date-time",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "Location of the device. Stored in Entity Registry.",
"type": "object"
},
"lora_alliance_profile_ids": {
"properties": {
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lorawan_phy_version": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"mac_settings": {
"properties": {
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"max_frequency": {
"description": "Maximum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"min_frequency": {
"description": "Minimum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"multicast": {
"description": "Indicates whether this device represents a multicast group.",
"type": "boolean"
},
"name": {
"description": "Friendly name of the device. Stored in Entity Registry.",
"type": "string"
},
"net_id": {
"description": "Home NetID. Stored in Join Server.",
"example": "000013",
"format": "string",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"network_server_kek_label": {
"description": "The KEK label of the Network Server to use for wrapping network session keys.\nStored in Join Server.",
"type": "string"
},
"pending_mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"pending_session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"power_state": {
"default": "POWER_UNKNOWN",
"description": "Power state of the device.",
"enum": [
"POWER_UNKNOWN",
"POWER_BATTERY",
"POWER_EXTERNAL"
],
"type": "string"
},
"provisioner_id": {
"description": "ID of the provisioner. Stored in Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data. Stored in Join Server.",
"type": "object"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server,\nwhich sets them on the Network Server.\nThis field is deprecated and is always set equal to session.queued_application_downlinks.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resets_join_nonces": {
"description": "Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"root_keys": {
"description": "Root keys for a LoRaWAN device.\nThese are stored on the Join Server.",
"properties": {
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
},
"type": "object"
},
"serial_number": {
"type": "string"
},
"service_profile_id": {
"description": "Default service profile. Stored in Entity Registry.",
"type": "string"
},
"session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field is deprecated, use skip_payload_crypto_override instead.",
"type": "boolean"
},
"skip_payload_crypto_override": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field overrides the application-level setting.",
"type": "boolean"
},
"supports_class_b": {
"description": "Whether the device supports class B.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_class_c": {
"description": "Whether the device supports class C.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_join": {
"description": "The device supports join (it's OTAA).\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"used_dev_nonces": {
"description": "Used DevNonces sorted in ascending order.\nThis field is only used for devices using LoRaWAN versions preceding 1.1.\nStored in Join Server.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the end device fields that should be updated.\nSee the API reference for which fields can be set on the different services.",
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceTemplate
Fields
Name | Type | Description |
---|---|---|
end_device |
object | 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. |
field_mask |
string | |
mapping_key |
string |
Schema
{
"end_device": {
"description": "Defines an End Device registration and its state on the network.\nThe persistence of the EndDevice is divided between the Network Server, Application Server and Join Server.\nSDKs are responsible for combining (if desired) the three.",
"properties": {
"activated_at": {
"description": "Timestamp when the device has been activated. Stored in the Entity Registry.\nThis field is set by the Application Server when an end device sends\nits first uplink.\nThe Application Server will use the field in order to avoid repeated\ncalls to the Entity Registry.\nThe field cannot be unset once set.",
"format": "date-time",
"type": "string"
},
"application_server_address": {
"description": "The address of the Application Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"application_server_id": {
"description": "The AS-ID of the Application Server to use.\nStored in Join Server.",
"type": "string"
},
"application_server_kek_label": {
"description": "The KEK label of the Application Server to use for wrapping the application session key.\nStored in Join Server.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "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.",
"type": "object"
},
"battery_percentage": {
"description": "Latest-known battery percentage of the device.\nReceived via the DevStatus MAC command at last_dev_status_received_at or earlier.\nStored in Network Server.",
"format": "float",
"type": "number"
},
"claim_authentication_code": {
"description": "Authentication code for end devices.",
"properties": {
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "Description of the device. Stored in Entity Registry.",
"type": "string"
},
"downlink_margin": {
"description": "Demodulation signal-to-noise ratio (dB).\nReceived via the DevStatus MAC command at last_dev_status_received_at.\nStored in Network Server.",
"format": "int32",
"type": "integer"
},
"formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"frequency_plan_id": {
"description": "ID of the frequency plan used by this device.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this device is supposed to be registered.\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"last_dev_nonce": {
"description": "Last DevNonce used.\nThis field is only used for devices using LoRaWAN version 1.1 and later.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_dev_status_received_at": {
"description": "Time when last DevStatus MAC command was received.\nStored in Network Server.",
"format": "date-time",
"type": "string"
},
"last_join_nonce": {
"description": "Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_0": {
"description": "Last Rejoin counter value used (type 0/2).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_1": {
"description": "Last Rejoin counter value used (type 1).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_seen_at": {
"description": "Timestamp when a device uplink has been last observed.\nThis field is set by the Application Server and stored in the Identity Server.",
"format": "date-time",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "Location of the device. Stored in Entity Registry.",
"type": "object"
},
"lora_alliance_profile_ids": {
"properties": {
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lorawan_phy_version": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"mac_settings": {
"properties": {
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"max_frequency": {
"description": "Maximum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"min_frequency": {
"description": "Minimum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"multicast": {
"description": "Indicates whether this device represents a multicast group.",
"type": "boolean"
},
"name": {
"description": "Friendly name of the device. Stored in Entity Registry.",
"type": "string"
},
"net_id": {
"description": "Home NetID. Stored in Join Server.",
"example": "000013",
"format": "string",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"network_server_kek_label": {
"description": "The KEK label of the Network Server to use for wrapping network session keys.\nStored in Join Server.",
"type": "string"
},
"pending_mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"pending_session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"power_state": {
"default": "POWER_UNKNOWN",
"description": "Power state of the device.",
"enum": [
"POWER_UNKNOWN",
"POWER_BATTERY",
"POWER_EXTERNAL"
],
"type": "string"
},
"provisioner_id": {
"description": "ID of the provisioner. Stored in Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data. Stored in Join Server.",
"type": "object"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server,\nwhich sets them on the Network Server.\nThis field is deprecated and is always set equal to session.queued_application_downlinks.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resets_join_nonces": {
"description": "Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"root_keys": {
"description": "Root keys for a LoRaWAN device.\nThese are stored on the Join Server.",
"properties": {
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
},
"type": "object"
},
"serial_number": {
"type": "string"
},
"service_profile_id": {
"description": "Default service profile. Stored in Entity Registry.",
"type": "string"
},
"session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field is deprecated, use skip_payload_crypto_override instead.",
"type": "boolean"
},
"skip_payload_crypto_override": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field overrides the application-level setting.",
"type": "boolean"
},
"supports_class_b": {
"description": "Whether the device supports class B.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_class_c": {
"description": "Whether the device supports class C.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_join": {
"description": "The device supports join (it's OTAA).\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"used_dev_nonces": {
"description": "Used DevNonces sorted in ascending order.\nThis field is only used for devices using LoRaWAN versions preceding 1.1.\nStored in Join Server.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"field_mask": {
"type": "string"
},
"mapping_key": {
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceTemplateFormat
Fields
Name | Type | Description |
---|---|---|
description |
string | |
file_extensions |
string | |
name |
string |
Schema
{
"description": {
"type": "string"
},
"file_extensions": {
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDeviceTemplateFormats
Fields
Name | Type | Description |
---|---|---|
formats |
object |
Schema
{
"formats": {
"additionalProperties": {
"properties": {
"description": {
"type": "string"
},
"file_extensions": {
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "object"
}
}
Show the schema of the message in JSON format.
EndDeviceVersionIdentifiers
Fields
Name | Type | Description |
---|---|---|
band_id |
string | |
brand_id |
string | |
firmware_version |
string | |
hardware_version |
string | |
model_id |
string |
Schema
{
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDevices
Fields
Name | Type | Description |
---|---|---|
end_devices |
object |
Schema
{
"end_devices": {
"items": {
"description": "Defines an End Device registration and its state on the network.\nThe persistence of the EndDevice is divided between the Network Server, Application Server and Join Server.\nSDKs are responsible for combining (if desired) the three.",
"properties": {
"activated_at": {
"description": "Timestamp when the device has been activated. Stored in the Entity Registry.\nThis field is set by the Application Server when an end device sends\nits first uplink.\nThe Application Server will use the field in order to avoid repeated\ncalls to the Entity Registry.\nThe field cannot be unset once set.",
"format": "date-time",
"type": "string"
},
"application_server_address": {
"description": "The address of the Application Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"application_server_id": {
"description": "The AS-ID of the Application Server to use.\nStored in Join Server.",
"type": "string"
},
"application_server_kek_label": {
"description": "The KEK label of the Application Server to use for wrapping the application session key.\nStored in Join Server.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "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.",
"type": "object"
},
"battery_percentage": {
"description": "Latest-known battery percentage of the device.\nReceived via the DevStatus MAC command at last_dev_status_received_at or earlier.\nStored in Network Server.",
"format": "float",
"type": "number"
},
"claim_authentication_code": {
"description": "Authentication code for end devices.",
"properties": {
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "Description of the device. Stored in Entity Registry.",
"type": "string"
},
"downlink_margin": {
"description": "Demodulation signal-to-noise ratio (dB).\nReceived via the DevStatus MAC command at last_dev_status_received_at.\nStored in Network Server.",
"format": "int32",
"type": "integer"
},
"formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"frequency_plan_id": {
"description": "ID of the frequency plan used by this device.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this device is supposed to be registered.\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"last_dev_nonce": {
"description": "Last DevNonce used.\nThis field is only used for devices using LoRaWAN version 1.1 and later.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_dev_status_received_at": {
"description": "Time when last DevStatus MAC command was received.\nStored in Network Server.",
"format": "date-time",
"type": "string"
},
"last_join_nonce": {
"description": "Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_0": {
"description": "Last Rejoin counter value used (type 0/2).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_1": {
"description": "Last Rejoin counter value used (type 1).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_seen_at": {
"description": "Timestamp when a device uplink has been last observed.\nThis field is set by the Application Server and stored in the Identity Server.",
"format": "date-time",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "Location of the device. Stored in Entity Registry.",
"type": "object"
},
"lora_alliance_profile_ids": {
"properties": {
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lorawan_phy_version": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"mac_settings": {
"properties": {
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"max_frequency": {
"description": "Maximum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"min_frequency": {
"description": "Minimum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"multicast": {
"description": "Indicates whether this device represents a multicast group.",
"type": "boolean"
},
"name": {
"description": "Friendly name of the device. Stored in Entity Registry.",
"type": "string"
},
"net_id": {
"description": "Home NetID. Stored in Join Server.",
"example": "000013",
"format": "string",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"network_server_kek_label": {
"description": "The KEK label of the Network Server to use for wrapping network session keys.\nStored in Join Server.",
"type": "string"
},
"pending_mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"pending_session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"power_state": {
"default": "POWER_UNKNOWN",
"description": "Power state of the device.",
"enum": [
"POWER_UNKNOWN",
"POWER_BATTERY",
"POWER_EXTERNAL"
],
"type": "string"
},
"provisioner_id": {
"description": "ID of the provisioner. Stored in Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data. Stored in Join Server.",
"type": "object"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server,\nwhich sets them on the Network Server.\nThis field is deprecated and is always set equal to session.queued_application_downlinks.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resets_join_nonces": {
"description": "Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"root_keys": {
"description": "Root keys for a LoRaWAN device.\nThese are stored on the Join Server.",
"properties": {
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
},
"type": "object"
},
"serial_number": {
"type": "string"
},
"service_profile_id": {
"description": "Default service profile. Stored in Entity Registry.",
"type": "string"
},
"session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field is deprecated, use skip_payload_crypto_override instead.",
"type": "boolean"
},
"skip_payload_crypto_override": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field overrides the application-level setting.",
"type": "boolean"
},
"supports_class_b": {
"description": "Whether the device supports class B.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_class_c": {
"description": "Whether the device supports class C.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_join": {
"description": "The device supports join (it's OTAA).\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"used_dev_nonces": {
"description": "Used DevNonces sorted in ascending order.\nThis field is only used for devices using LoRaWAN versions preceding 1.1.\nStored in Join Server.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
EndDevicesActiveMetrics
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object |
Schema
{
"end_device_ids": {
"items": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
EndDevicesStatistic
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
end_device_ids |
object | |
last_packet_error_rate |
number | |
last_seen |
string |
Schema
{
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"last_packet_error_rate": {
"format": "float",
"type": "number"
},
"last_seen": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
EndDevicesStatistics
Fields
Name | Type | Description |
---|---|---|
stats |
object |
Schema
{
"stats": {
"items": {
"description": "End devices statistic.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"last_packet_error_rate": {
"format": "float",
"type": "number"
},
"last_seen": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
EntityCounting
Fields
Name | Type | Description |
---|---|---|
end_devices |
string |
Schema
{
"end_devices": {
"default": "ALL",
"enum": [
"ALL",
"ONLY_ACTIVATED"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
EntityIdentifiers
Fields
Name | Type | Description |
---|---|---|
application_ids |
object | |
client_ids |
object | |
device_ids |
object | |
gateway_ids |
object | |
organization_ids |
object | |
user_ids |
object |
Schema
{
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ErrorDetails
Fields
Name | Type | Description |
---|---|---|
attributes |
object | Attributes that should be filled into the message format. Any extra attributes can be displayed as error details. |
cause |
ErrorDetails | The error that caused this error. |
code |
integer | The status code of the error. |
correlation_id |
string | 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. |
details |
object | The details of the error. |
message_format |
string | 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. |
name |
string | Name of the error. |
namespace |
string | Namespace of the error (typically the package name in The Things Stack). |
Schema
{
"attributes": {
"description": "Attributes that should be filled into the message format. Any extra attributes\ncan be displayed as error details.",
"type": "object"
},
"cause": {
"$ref": "#/definitions/v3ErrorDetails",
"description": "The error that caused this error."
},
"code": {
"description": "The status code of the error.",
"format": "int64",
"type": "integer"
},
"correlation_id": {
"description": "The correlation ID of the error can be used to correlate the error to stack\ntraces the network may (or may not) store about recent errors.",
"type": "string"
},
"details": {
"description": "The details of the error.",
"items": {
"additionalProperties": {},
"description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }",
"properties": {
"@type": {
"description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message_format": {
"description": "The default (fallback) message format that should be used for the error.\nThis is also used if the client does not have a translation for the error.",
"type": "string"
},
"name": {
"description": "Name of the error.",
"type": "string"
},
"namespace": {
"description": "Namespace of the error (typically the package name in The Things Stack).",
"type": "string"
}
}
Show the schema of the message in JSON format.
Event
Fields
Name | Type | Description |
---|---|---|
authentication |
object | |
context |
object | Event context, internal use only. |
correlation_ids |
string | Correlation IDs can be used to find related events and actions such as API calls. |
data |
object | `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); } Example 3: Pack and unpack a message in Python. foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a message in Go foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... } The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z". JSON ==== The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example: package google.profile; message Person { string first_name = 1; string last_name = 2; } { "@type": "type.googleapis.com/google.profile.Person", "firstName": <string>, "lastName": <string> } If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]): { "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } |
identifiers |
object | Identifiers of the entity (or entities) involved. |
name |
string | Name of the event. This can be used to find the (localized) event description. |
origin |
string | The origin of the event. Typically the hostname of the server that created it. |
remote_ip |
string | The IP address of the caller that triggered this event. |
time |
string | Time at which the event was triggered. |
unique_id |
string | The unique identifier of the event, assigned on creation. |
user_agent |
string | The IP address of the caller that triggered this event. |
visibility |
object |
Schema
{
"authentication": {
"properties": {
"token_id": {
"description": "The ID of the token that was used.",
"type": "string"
},
"token_type": {
"description": "The type of token that was used. Common types are APIKey, AccessToken and SessionToken.",
"type": "string"
},
"type": {
"description": "The type of authentication that was used. This is typically a bearer token.",
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": {
"format": "byte",
"type": "string"
},
"description": "Event context, internal use only.",
"type": "object"
},
"correlation_ids": {
"description": "Correlation IDs can be used to find related events and actions such as API calls.",
"items": {
"type": "string"
},
"type": "array"
},
"data": {
"additionalProperties": {},
"description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }",
"properties": {
"@type": {
"description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
"type": "string"
}
},
"type": "object"
},
"identifiers": {
"description": "Identifiers of the entity (or entities) involved.",
"items": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"name": {
"description": "Name of the event. This can be used to find the (localized) event description.",
"type": "string"
},
"origin": {
"description": "The origin of the event. Typically the hostname of the server that created it.",
"type": "string"
},
"remote_ip": {
"description": "The IP address of the caller that triggered this event.",
"type": "string"
},
"time": {
"description": "Time at which the event was triggered.",
"format": "date-time",
"type": "string"
},
"unique_id": {
"description": "The unique identifier of the event, assigned on creation.",
"type": "string"
},
"user_agent": {
"description": "The IP address of the caller that triggered this event.",
"type": "string"
},
"visibility": {
"properties": {
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ExternalUser
Fields
Name | Type | Description |
---|---|---|
created_at |
string | |
external_id |
string | |
provider_ids |
object | |
updated_at |
string | |
user_ids |
object |
Schema
{
"created_at": {
"format": "date-time",
"type": "string"
},
"external_id": {
"type": "string"
},
"provider_ids": {
"properties": {
"provider_id": {
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ExternalUserRegistryCreateBody
Fields
Name | Type | Description |
---|---|---|
external_user |
object |
Schema
{
"external_user": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"external_id": {
"type": "string"
},
"provider_ids": {
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
FCtrl
Fields
Name | Type | Description |
---|---|---|
ack |
boolean | |
adr |
boolean | |
adr_ack_req |
boolean | Only on uplink. |
class_b |
boolean | Only on uplink. |
f_pending |
boolean | Only on downlink. |
Schema
{
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
FHDR
Fields
Name | Type | Description |
---|---|---|
dev_addr |
string | |
f_cnt |
integer | |
f_ctrl |
object | |
f_opts |
string |
Schema
{
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
FSKDataRate
Fields
Name | Type | Description |
---|---|---|
bit_rate |
integer | Bit rate (bps). |
Schema
{
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
FindRelatedEventsResponse
Fields
Name | Type | Description |
---|---|---|
events |
object |
Schema
{
"events": {
"items": {
"properties": {
"authentication": {
"properties": {
"token_id": {
"description": "The ID of the token that was used.",
"type": "string"
},
"token_type": {
"description": "The type of token that was used. Common types are APIKey, AccessToken and SessionToken.",
"type": "string"
},
"type": {
"description": "The type of authentication that was used. This is typically a bearer token.",
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": {
"format": "byte",
"type": "string"
},
"description": "Event context, internal use only.",
"type": "object"
},
"correlation_ids": {
"description": "Correlation IDs can be used to find related events and actions such as API calls.",
"items": {
"type": "string"
},
"type": "array"
},
"data": {
"additionalProperties": {},
"description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }",
"properties": {
"@type": {
"description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
"type": "string"
}
},
"type": "object"
},
"identifiers": {
"description": "Identifiers of the entity (or entities) involved.",
"items": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"name": {
"description": "Name of the event. This can be used to find the (localized) event description.",
"type": "string"
},
"origin": {
"description": "The origin of the event. Typically the hostname of the server that created it.",
"type": "string"
},
"remote_ip": {
"description": "The IP address of the caller that triggered this event.",
"type": "string"
},
"time": {
"description": "Time at which the event was triggered.",
"format": "date-time",
"type": "string"
},
"unique_id": {
"description": "The unique identifier of the event, assigned on creation.",
"type": "string"
},
"user_agent": {
"description": "The IP address of the caller that triggered this event.",
"type": "string"
},
"visibility": {
"properties": {
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
FrequencyPlanDescription
Fields
Name | Type | Description |
---|---|---|
band_id |
string | |
base_frequency |
integer | |
base_id |
string | The ID of the frequency that the current frequency plan is based on. |
id |
string | |
name |
string |
Schema
{
"band_id": {
"type": "string"
},
"base_frequency": {
"format": "int64",
"title": "Base frequency in MHz for hardware support (433, 470, 868 or 915)",
"type": "integer"
},
"base_id": {
"description": "The ID of the frequency that the current frequency plan is based on.",
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
Show the schema of the message in JSON format.
FrequencyValue
Fields
Name | Type | Description |
---|---|---|
value |
string |
Schema
{
"value": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
Gateway
Fields
Name | Type | Description |
---|---|---|
administrative_contact |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
alert_notification_profile_ids |
object | |
antennas |
object | Antennas of the gateway. Location information of the antennas is public and can be seen by any authenticated user in the network if location_public=true. |
attributes |
object | Key-value attributes for this gateway. Typically used for organizing gateways or for storing integration-specific data. |
auto_update |
boolean | |
claim_authentication_code |
object | Authentication code for claiming gateways. |
contact_info |
object | Contact information for this gateway. Typically used to indicate who to contact with technical/security questions about the gateway. This field is deprecated. Use administrative_contact and technical_contact instead. |
created_at |
string | When the gateway was created. This information is public and can be seen by any authenticated user in the network. |
deleted_at |
string | When the gateway was deleted. This information is public and can be seen by any authenticated user in the network. |
description |
string | A description for the gateway. This information is public and can be seen by any authenticated user in the network. |
disable_packet_broker_forwarding |
boolean | |
downlink_path_constraint |
string | - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server. - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected. - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path. |
enforce_duty_cycle |
boolean | Enforcing gateway duty cycle is recommended for all gateways to respect spectrum regulations. Disable enforcing the duty cycle only in controlled research and development environments. |
frequency_plan_id |
string | Frequency plan ID of the gateway. This information is public and can be seen by any authenticated user in the network. DEPRECATED: use frequency_plan_ids. This equals the first element of the frequency_plan_ids field. |
frequency_plan_ids |
string | Frequency plan IDs of the gateway. This information is public and can be seen by any authenticated user in the network. The first element equals the frequency_plan_id field. |
gateway_server_address |
string | The address of the Gateway Server to connect to. This information is public and can be seen by any authenticated user in the network if status_public is true. The typical format of the address is "scheme://host:port". The scheme is optional. 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. |
ids |
object | |
lbs_lns_secret |
object | Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it. |
location_public |
boolean | The location of this gateway may be publicly displayed. |
lrfhss |
object | LR-FHSS gateway capabilities. |
name |
string | The name of the gateway. This information is public and can be seen by any authenticated user in the network. |
require_authenticated_connection |
boolean | Require an authenticated gateway connection. This prevents the gateway from using the UDP protocol and requires authentication when using other protocols. |
schedule_anytime_delay |
string | Adjust the time that GS schedules class C messages in advance. This is useful for gateways that have a known high latency backhaul, like 3G and satellite. |
schedule_downlink_late |
boolean | Enable server-side buffering of downlink messages. This is recommended for gateways using the Semtech UDP Packet Forwarder v2.x or older, as it does not feature a just-in-time queue. If enabled, the Gateway Server schedules the downlink message late to the gateway so that it does not overwrite previously scheduled downlink messages that have not been transmitted yet. |
status_public |
boolean | The status of this gateway may be publicly displayed. |
target_cups_key |
object | Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it. |
target_cups_uri |
string | CUPS URI for LoRa Basics Station CUPS redirection. The CUPS Trust field will be automatically fetched from the cert chain presented by the target server. |
technical_contact |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
update_channel |
string | |
update_location_from_status |
boolean | Update the location of this gateway from status messages. This only works for gateways connecting with authentication; gateways connected over UDP are not supported. |
updated_at |
string | When the gateway was last updated. This information is public and can be seen by any authenticated user in the network. |
version_ids |
object | Identifies an end device model with version information. |
Schema
{
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"alert_notification_profile_ids": {
"properties": {
"profile_id": {
"type": "string"
}
},
"type": "object"
},
"antennas": {
"description": "Antennas of the gateway. Location information of the antennas is public and can be seen by any authenticated user in the network if location_public=true.",
"items": {
"description": "GatewayAntenna is the message that defines a gateway antenna.",
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"gain": {
"description": "Antenna gain relative to the gateway, in dBi.",
"format": "float",
"type": "number"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"placement": {
"default": "PLACEMENT_UNKNOWN",
"enum": [
"PLACEMENT_UNKNOWN",
"INDOOR",
"OUTDOOR"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this gateway. Typically used for organizing gateways or for storing integration-specific data.",
"type": "object"
},
"auto_update": {
"type": "boolean"
},
"claim_authentication_code": {
"description": "Authentication code for claiming gateways.",
"properties": {
"secret": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information for this gateway. Typically used to indicate who to contact with technical/security questions about the gateway.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the gateway was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the gateway was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the gateway. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"disable_packet_broker_forwarding": {
"type": "boolean"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"enforce_duty_cycle": {
"description": "Enforcing gateway duty cycle is recommended for all gateways to respect spectrum regulations. Disable enforcing the\nduty cycle only in controlled research and development environments.",
"type": "boolean"
},
"frequency_plan_id": {
"description": "Frequency plan ID of the gateway.\nThis information is public and can be seen by any authenticated user in the network.\nDEPRECATED: use frequency_plan_ids.\nThis equals the first element of the frequency_plan_ids field.",
"type": "string"
},
"frequency_plan_ids": {
"description": "Frequency plan IDs of the gateway.\nThis information is public and can be seen by any authenticated user in the network.\nThe first element equals the frequency_plan_id field.",
"items": {
"type": "string"
},
"type": "array"
},
"gateway_server_address": {
"description": "The address of the Gateway Server to connect to.\nThis information is public and can be seen by any authenticated user in the network if status_public is true.\nThe typical format of the address is \"scheme://host:port\". The scheme is optional. If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"lbs_lns_secret": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"location_public": {
"description": "The location of this gateway may be publicly displayed.",
"type": "boolean"
},
"lrfhss": {
"description": "LR-FHSS gateway capabilities.",
"properties": {
"supported": {
"description": "The gateway supports the LR-FHSS uplink channels.",
"type": "boolean"
}
},
"type": "object"
},
"name": {
"description": "The name of the gateway. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"require_authenticated_connection": {
"description": "Require an authenticated gateway connection. This prevents the gateway from using the UDP protocol and requires authentication when using other protocols.",
"type": "boolean"
},
"schedule_anytime_delay": {
"description": "Adjust the time that GS schedules class C messages in advance. This is useful for gateways that have a known high latency backhaul, like 3G and satellite.",
"type": "string"
},
"schedule_downlink_late": {
"description": "Enable server-side buffering of downlink messages. This is recommended for gateways using the Semtech UDP Packet\nForwarder v2.x or older, as it does not feature a just-in-time queue. If enabled, the Gateway Server schedules the\ndownlink message late to the gateway so that it does not overwrite previously scheduled downlink messages that have\nnot been transmitted yet.",
"type": "boolean"
},
"status_public": {
"description": "The status of this gateway may be publicly displayed.",
"type": "boolean"
},
"target_cups_key": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"target_cups_uri": {
"description": "CUPS URI for LoRa Basics Station CUPS redirection.\nThe CUPS Trust field will be automatically fetched from the cert chain presented by the target server.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"update_channel": {
"type": "string"
},
"update_location_from_status": {
"description": "Update the location of this gateway from status messages. This only works for gateways connecting with authentication; gateways connected over UDP are not supported.",
"type": "boolean"
},
"updated_at": {
"description": "When the gateway was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
},
"runtime_version": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayAccessCreateAPIKeyBody
Fields
Name | Type | Description |
---|---|---|
expires_at |
string | |
gateway_ids |
object | |
name |
string | |
rights |
string |
Schema
{
"expires_at": {
"format": "date-time",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GatewayAccessSetCollaboratorBody
Fields
Name | Type | Description |
---|---|---|
collaborator |
object | |
gateway_ids |
object |
Schema
{
"collaborator": {
"properties": {
"ids": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayAccessUpdateAPIKeyBody
Fields
Name | Type | Description |
---|---|---|
api_key |
object | |
field_mask |
string | The names of the api key fields that should be updated. |
gateway_ids |
object |
Schema
{
"api_key": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"key": {
"description": "Immutable and unique secret value of the API key.\nGenerated by the Access Server.",
"type": "string"
},
"name": {
"description": "User-defined (friendly) name for the API key.",
"type": "string"
},
"rights": {
"description": "Rights that are granted to this API key.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the api key fields that should be updated.",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayAntenna
Fields
Name | Type | Description |
---|---|---|
attributes |
object | |
gain |
number | Antenna gain relative to the gateway, in dBi. |
location |
object | |
placement |
string |
Schema
{
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"gain": {
"description": "Antenna gain relative to the gateway, in dBi.",
"format": "float",
"type": "number"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"placement": {
"default": "PLACEMENT_UNKNOWN",
"enum": [
"PLACEMENT_UNKNOWN",
"INDOOR",
"OUTDOOR"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayAntennaIdentifiers
Fields
Name | Type | Description |
---|---|---|
antenna_index |
integer | |
gateway_ids |
object |
Schema
{
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayAntennaPlacement
Supported values
PLACEMENT_UNKNOWN
INDOOR
OUTDOOR
Default: PLACEMENT_UNKNOWN
GatewayClaimAuthenticationCode
Fields
Name | Type | Description |
---|---|---|
secret |
object | Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it. |
valid_from |
string | |
valid_to |
string |
Schema
{
"secret": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayConnectionEvent
Fields
Name | Type | Description |
---|---|---|
event_type |
string | Gateway connection event type. - GATEWAY_CONNECTION_EVENT_TYPE_CONNECT: The gateway connects. - GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT: The gateway disconnects. - GATEWAY_CONNECTION_EVENT_TYPE_STATS: The gateway connection statistics are updated. |
time |
string |
Schema
{
"event_type": {
"default": "GATEWAY_CONNECTION_EVENT_TYPE_CONNECT",
"description": "Gateway connection event type.\n\n - GATEWAY_CONNECTION_EVENT_TYPE_CONNECT: The gateway connects.\n - GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT: The gateway disconnects.\n - GATEWAY_CONNECTION_EVENT_TYPE_STATS: The gateway connection statistics are updated.",
"enum": [
"GATEWAY_CONNECTION_EVENT_TYPE_CONNECT",
"GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT",
"GATEWAY_CONNECTION_EVENT_TYPE_STATS"
],
"type": "string"
},
"time": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayConnectionEventType
Supported values
Name | Description |
---|---|
GATEWAY_CONNECTION_EVENT_TYPE_CONNECT |
The gateway connects. |
GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT |
The gateway disconnects. |
GATEWAY_CONNECTION_EVENT_TYPE_STATS |
The gateway connection statistics are updated. |
GatewayConnectionEventTypeValue
Fields
Name | Type | Description |
---|---|---|
value |
string | Gateway connection event type. - GATEWAY_CONNECTION_EVENT_TYPE_CONNECT: The gateway connects. - GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT: The gateway disconnects. - GATEWAY_CONNECTION_EVENT_TYPE_STATS: The gateway connection statistics are updated. |
Schema
{
"value": {
"default": "GATEWAY_CONNECTION_EVENT_TYPE_CONNECT",
"description": "Gateway connection event type.\n\n - GATEWAY_CONNECTION_EVENT_TYPE_CONNECT: The gateway connects.\n - GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT: The gateway disconnects.\n - GATEWAY_CONNECTION_EVENT_TYPE_STATS: The gateway connection statistics are updated.",
"enum": [
"GATEWAY_CONNECTION_EVENT_TYPE_CONNECT",
"GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT",
"GATEWAY_CONNECTION_EVENT_TYPE_STATS"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayConnectionEvents
Fields
Name | Type | Description |
---|---|---|
events |
object |
Schema
{
"events": {
"items": {
"description": "Gateway connection event.",
"properties": {
"event_type": {
"default": "GATEWAY_CONNECTION_EVENT_TYPE_CONNECT",
"description": "Gateway connection event type.\n\n - GATEWAY_CONNECTION_EVENT_TYPE_CONNECT: The gateway connects.\n - GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT: The gateway disconnects.\n - GATEWAY_CONNECTION_EVENT_TYPE_STATS: The gateway connection statistics are updated.",
"enum": [
"GATEWAY_CONNECTION_EVENT_TYPE_CONNECT",
"GATEWAY_CONNECTION_EVENT_TYPE_DISCONNECT",
"GATEWAY_CONNECTION_EVENT_TYPE_STATS"
],
"type": "string"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GatewayConnectionStats
Fields
Name | Type | Description |
---|---|---|
connected_at |
string | |
disconnected_at |
string | |
downlink_count |
string | |
gateway_remote_address |
object | Remote Address of the Gateway, as seen by the Gateway Server. |
last_downlink_received_at |
string | |
last_status |
object | |
last_status_received_at |
string | |
last_tx_acknowledgment_received_at |
string | |
last_uplink_received_at |
string | |
protocol |
string | |
round_trip_times |
object | |
sub_bands |
object | Statistics for each sub band. |
tx_acknowledgment_count |
string | |
uplink_count |
string |
Schema
{
"connected_at": {
"format": "date-time",
"type": "string"
},
"disconnected_at": {
"format": "date-time",
"type": "string"
},
"downlink_count": {
"format": "uint64",
"type": "string"
},
"gateway_remote_address": {
"description": "Remote Address of the Gateway, as seen by the Gateway Server.",
"properties": {
"ip": {
"description": "IPv4 or IPv6 address.",
"type": "string"
}
},
"type": "object"
},
"last_downlink_received_at": {
"format": "date-time",
"type": "string"
},
"last_status": {
"properties": {
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_locations": {
"items": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"title": "Location of each gateway's antenna\n- if left out, server uses registry-set location as fallback",
"type": "array"
},
"boot_time": {
"format": "date-time",
"title": "Boot time of the gateway\n- can be left out to save bandwidth; old value will be kept",
"type": "string"
},
"ip": {
"description": "IP addresses of this gateway.\nRepeated addresses can be used to communicate addresses of multiple interfaces (LAN, Public IP, ...).",
"items": {
"type": "string"
},
"type": "array"
},
"metrics": {
"additionalProperties": {
"format": "float",
"type": "number"
},
"title": "Metrics\n- can be used for forwarding gateway metrics such as temperatures or performance metrics\n- map keys are written in snake_case",
"type": "object"
},
"time": {
"format": "date-time",
"title": "Current time of the gateway",
"type": "string"
},
"versions": {
"additionalProperties": {
"type": "string"
},
"title": "Versions of gateway subsystems\n- each field can be left out to save bandwidth; old value will be kept\n- map keys are written in snake_case\n- for example:\n firmware: \"2.0.4\"\n forwarder: \"v2-3.3.1\"\n fpga: \"48\"\n dsp: \"27\"\n hal: \"v2-3.5.0\"",
"type": "object"
}
},
"type": "object"
},
"last_status_received_at": {
"format": "date-time",
"type": "string"
},
"last_tx_acknowledgment_received_at": {
"format": "date-time",
"type": "string"
},
"last_uplink_received_at": {
"format": "date-time",
"type": "string"
},
"protocol": {
"title": "Protocol used to connect (for example, udp, mqtt, grpc)",
"type": "string"
},
"round_trip_times": {
"properties": {
"count": {
"format": "int64",
"type": "integer"
},
"max": {
"type": "string"
},
"median": {
"type": "string"
},
"min": {
"type": "string"
}
},
"type": "object"
},
"sub_bands": {
"description": "Statistics for each sub band.",
"items": {
"properties": {
"downlink_utilization": {
"description": "Utilization rate of the available duty-cycle. This value should not exceed downlink_utilization_limit.",
"format": "float",
"type": "number"
},
"downlink_utilization_limit": {
"description": "Duty-cycle limit of the sub-band as a fraction of time.",
"format": "float",
"type": "number"
},
"max_frequency": {
"format": "uint64",
"type": "string"
},
"min_frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"tx_acknowledgment_count": {
"format": "uint64",
"type": "string"
},
"uplink_count": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayConnectivityTimes
Fields
Name | Type | Description |
---|---|---|
disconnects |
string | Number of disconnects. |
gateway_ids |
object | |
last_connect |
string | |
last_disconnect |
string | |
packet_rate_last_hour |
number | Packet rate (uplink and downlink) of the last hour. |
uptime |
number | Fraction of time that the gateway was active. This is typically aggregated in time buckets of at least 5 minutes or 1 hour depending on the query window. |
Schema
{
"disconnects": {
"description": "Number of disconnects.",
"format": "uint64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"last_connect": {
"format": "date-time",
"type": "string"
},
"last_disconnect": {
"format": "date-time",
"type": "string"
},
"packet_rate_last_hour": {
"description": "Packet rate (uplink and downlink) of the last hour.",
"format": "float",
"type": "number"
},
"uptime": {
"description": "Fraction of time that the gateway was active.\nThis is typically aggregated in time buckets of at least 5 minutes or 1 hour depending on the query window.",
"format": "float",
"type": "number"
}
}
Show the schema of the message in JSON format.
GatewayDown
Fields
Name | Type | Description |
---|---|---|
downlink_message |
object | Mapping from UDP message: imme: - tmst: scheduled.timestamp tmms: scheduled.time freq: scheduled.frequency rfch: (0) powe: scheduled.tx_power modu: scheduled.modulation datr: scheduled.data_rate_index (derived) codr: scheduled.coding_rate fdev: (derived from bandwidth) ipol: scheduled.invert_polarization prea: [scheduled.advanced] size: (derived from len(raw_payload)) data: raw_payload ncrc: [scheduled.advanced] |
Schema
{
"downlink_message": {
"description": "Mapping from UDP message:\n\n imme: -\n tmst: scheduled.timestamp\n tmms: scheduled.time\n freq: scheduled.frequency\n rfch: (0)\n powe: scheduled.tx_power\n modu: scheduled.modulation\n datr: scheduled.data_rate_index (derived)\n codr: scheduled.coding_rate\n fdev: (derived from bandwidth)\n ipol: scheduled.invert_polarization\n prea: [scheduled.advanced]\n size: (derived from len(raw_payload))\n data: raw_payload\n ncrc: [scheduled.advanced]",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"request": {
"description": "TxRequest is a request for transmission.\nIf sent to a roaming partner, this request is used to generate the DLMetadata Object (see Backend Interfaces 1.0, Table 22).\nIf the gateway has a scheduler, this request is sent to the gateway, in the order of gateway_ids.\nOtherwise, the Gateway Server attempts to schedule the request and creates the TxSettings.",
"properties": {
"absolute_time": {
"description": "Time when the downlink message should be transmitted.\nThis value is only valid for class C downlink; class A downlink uses uplink tokens and class B downlink is scheduled on ping slots.\nThis requires the gateway to have GPS time sychronization.\nIf the absolute time is not set, the first available time will be used that does not conflict or violate regional limitations.",
"format": "date-time",
"type": "string"
},
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"downlink_paths": {
"description": "Downlink paths used to select a gateway for downlink.\nIn class A, the downlink paths are required to only contain uplink tokens.\nIn class B and C, the downlink paths may contain uplink tokens and fixed gateways antenna identifiers.",
"items": {
"properties": {
"fixed": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"frequency_plan_id": {
"description": "Frequency plan ID from which the frequencies in this message are retrieved.",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"rx1_data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx1_frequency": {
"description": "Frequency (Hz) for Rx1.",
"format": "uint64",
"type": "string"
},
"rx2_data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"rx2_frequency": {
"description": "Frequency (Hz) for Rx2.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"scheduled": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"format": "byte",
"type": "string"
}
},
"title": "Downlink message from the network to the end device",
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayQRCodeGeneratorParseBody
Fields
Name | Type | Description |
---|---|---|
qr_code |
string | Raw QR code contents. |
Schema
{
"qr_code": {
"description": "Raw QR code contents.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayRTTStatistic
Fields
Name | Type | Description |
---|---|---|
max |
string | |
median |
string | |
min |
string | |
time |
string |
Schema
{
"max": {
"type": "string"
},
"median": {
"type": "string"
},
"min": {
"type": "string"
},
"time": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayRTTStatistics
Fields
Name | Type | Description |
---|---|---|
stats |
object |
Schema
{
"stats": {
"items": {
"description": "Gateway RTT statistic.",
"properties": {
"max": {
"type": "string"
},
"median": {
"type": "string"
},
"min": {
"type": "string"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GatewayRadio
Fields
Name | Type | Description |
---|---|---|
chip_type |
string | |
enable |
boolean | |
frequency |
string | |
rssi_offset |
number | |
tx_configuration |
object |
Schema
{
"chip_type": {
"type": "string"
},
"enable": {
"type": "boolean"
},
"frequency": {
"format": "uint64",
"type": "string"
},
"rssi_offset": {
"format": "float",
"type": "number"
},
"tx_configuration": {
"properties": {
"max_frequency": {
"format": "uint64",
"type": "string"
},
"min_frequency": {
"format": "uint64",
"type": "string"
},
"notch_frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayRegistryCreateBody
Fields
Name | Type | Description |
---|---|---|
collaborator |
object | Collaborator to grant all rights on the newly created gateway. |
gateway |
object | Gateway is the message that defines a gateway on the network. |
Schema
{
"collaborator": {
"description": "Collaborator to grant all rights on the newly created gateway.",
"properties": {
"organization_ids": {
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"title": "Collaborator to grant all rights on the newly created gateway.",
"type": "object"
},
"gateway": {
"description": "Gateway is the message that defines a gateway on the network.",
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"alert_notification_profile_ids": {
"properties": {
"profile_id": {
"type": "string"
}
},
"type": "object"
},
"antennas": {
"description": "Antennas of the gateway. Location information of the antennas is public and can be seen by any authenticated user in the network if location_public=true.",
"items": {
"description": "GatewayAntenna is the message that defines a gateway antenna.",
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"gain": {
"description": "Antenna gain relative to the gateway, in dBi.",
"format": "float",
"type": "number"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"placement": {
"default": "PLACEMENT_UNKNOWN",
"enum": [
"PLACEMENT_UNKNOWN",
"INDOOR",
"OUTDOOR"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this gateway. Typically used for organizing gateways or for storing integration-specific data.",
"type": "object"
},
"auto_update": {
"type": "boolean"
},
"claim_authentication_code": {
"description": "Authentication code for claiming gateways.",
"properties": {
"secret": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information for this gateway. Typically used to indicate who to contact with technical/security questions about the gateway.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the gateway was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the gateway was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the gateway. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"disable_packet_broker_forwarding": {
"type": "boolean"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"enforce_duty_cycle": {
"description": "Enforcing gateway duty cycle is recommended for all gateways to respect spectrum regulations. Disable enforcing the\nduty cycle only in controlled research and development environments.",
"type": "boolean"
},
"frequency_plan_id": {
"description": "Frequency plan ID of the gateway.\nThis information is public and can be seen by any authenticated user in the network.\nDEPRECATED: use frequency_plan_ids.\nThis equals the first element of the frequency_plan_ids field.",
"type": "string"
},
"frequency_plan_ids": {
"description": "Frequency plan IDs of the gateway.\nThis information is public and can be seen by any authenticated user in the network.\nThe first element equals the frequency_plan_id field.",
"items": {
"type": "string"
},
"type": "array"
},
"gateway_server_address": {
"description": "The address of the Gateway Server to connect to.\nThis information is public and can be seen by any authenticated user in the network if status_public is true.\nThe typical format of the address is \"scheme://host:port\". The scheme is optional. If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"lbs_lns_secret": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"location_public": {
"description": "The location of this gateway may be publicly displayed.",
"type": "boolean"
},
"lrfhss": {
"description": "LR-FHSS gateway capabilities.",
"properties": {
"supported": {
"description": "The gateway supports the LR-FHSS uplink channels.",
"type": "boolean"
}
},
"type": "object"
},
"name": {
"description": "The name of the gateway. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"require_authenticated_connection": {
"description": "Require an authenticated gateway connection. This prevents the gateway from using the UDP protocol and requires authentication when using other protocols.",
"type": "boolean"
},
"schedule_anytime_delay": {
"description": "Adjust the time that GS schedules class C messages in advance. This is useful for gateways that have a known high latency backhaul, like 3G and satellite.",
"type": "string"
},
"schedule_downlink_late": {
"description": "Enable server-side buffering of downlink messages. This is recommended for gateways using the Semtech UDP Packet\nForwarder v2.x or older, as it does not feature a just-in-time queue. If enabled, the Gateway Server schedules the\ndownlink message late to the gateway so that it does not overwrite previously scheduled downlink messages that have\nnot been transmitted yet.",
"type": "boolean"
},
"status_public": {
"description": "The status of this gateway may be publicly displayed.",
"type": "boolean"
},
"target_cups_key": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"target_cups_uri": {
"description": "CUPS URI for LoRa Basics Station CUPS redirection.\nThe CUPS Trust field will be automatically fetched from the cert chain presented by the target server.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"update_channel": {
"type": "string"
},
"update_location_from_status": {
"description": "Update the location of this gateway from status messages. This only works for gateways connecting with authentication; gateways connected over UDP are not supported.",
"type": "boolean"
},
"updated_at": {
"description": "When the gateway was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
},
"runtime_version": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayRegistryUpdateBody
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | The names of the gateway fields that should be updated. |
gateway |
object | Gateway is the message that defines a gateway on the network. |
Schema
{
"field_mask": {
"description": "The names of the gateway fields that should be updated.",
"type": "string"
},
"gateway": {
"description": "Gateway is the message that defines a gateway on the network.",
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"alert_notification_profile_ids": {
"properties": {
"profile_id": {
"type": "string"
}
},
"type": "object"
},
"antennas": {
"description": "Antennas of the gateway. Location information of the antennas is public and can be seen by any authenticated user in the network if location_public=true.",
"items": {
"description": "GatewayAntenna is the message that defines a gateway antenna.",
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"gain": {
"description": "Antenna gain relative to the gateway, in dBi.",
"format": "float",
"type": "number"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"placement": {
"default": "PLACEMENT_UNKNOWN",
"enum": [
"PLACEMENT_UNKNOWN",
"INDOOR",
"OUTDOOR"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this gateway. Typically used for organizing gateways or for storing integration-specific data.",
"type": "object"
},
"auto_update": {
"type": "boolean"
},
"claim_authentication_code": {
"description": "Authentication code for claiming gateways.",
"properties": {
"secret": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information for this gateway. Typically used to indicate who to contact with technical/security questions about the gateway.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the gateway was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the gateway was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the gateway. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"disable_packet_broker_forwarding": {
"type": "boolean"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"enforce_duty_cycle": {
"description": "Enforcing gateway duty cycle is recommended for all gateways to respect spectrum regulations. Disable enforcing the\nduty cycle only in controlled research and development environments.",
"type": "boolean"
},
"frequency_plan_id": {
"description": "Frequency plan ID of the gateway.\nThis information is public and can be seen by any authenticated user in the network.\nDEPRECATED: use frequency_plan_ids.\nThis equals the first element of the frequency_plan_ids field.",
"type": "string"
},
"frequency_plan_ids": {
"description": "Frequency plan IDs of the gateway.\nThis information is public and can be seen by any authenticated user in the network.\nThe first element equals the frequency_plan_id field.",
"items": {
"type": "string"
},
"type": "array"
},
"gateway_server_address": {
"description": "The address of the Gateway Server to connect to.\nThis information is public and can be seen by any authenticated user in the network if status_public is true.\nThe typical format of the address is \"scheme://host:port\". The scheme is optional. If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"ids": {
"description": "The identifiers of the gateway. These are public and can be seen by any authenticated user in the network.",
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"title": "The identifiers of the gateway. These are public and can be seen by any authenticated user in the network.",
"type": "object"
},
"lbs_lns_secret": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"location_public": {
"description": "The location of this gateway may be publicly displayed.",
"type": "boolean"
},
"lrfhss": {
"description": "LR-FHSS gateway capabilities.",
"properties": {
"supported": {
"description": "The gateway supports the LR-FHSS uplink channels.",
"type": "boolean"
}
},
"type": "object"
},
"name": {
"description": "The name of the gateway. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"require_authenticated_connection": {
"description": "Require an authenticated gateway connection. This prevents the gateway from using the UDP protocol and requires authentication when using other protocols.",
"type": "boolean"
},
"schedule_anytime_delay": {
"description": "Adjust the time that GS schedules class C messages in advance. This is useful for gateways that have a known high latency backhaul, like 3G and satellite.",
"type": "string"
},
"schedule_downlink_late": {
"description": "Enable server-side buffering of downlink messages. This is recommended for gateways using the Semtech UDP Packet\nForwarder v2.x or older, as it does not feature a just-in-time queue. If enabled, the Gateway Server schedules the\ndownlink message late to the gateway so that it does not overwrite previously scheduled downlink messages that have\nnot been transmitted yet.",
"type": "boolean"
},
"status_public": {
"description": "The status of this gateway may be publicly displayed.",
"type": "boolean"
},
"target_cups_key": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"target_cups_uri": {
"description": "CUPS URI for LoRa Basics Station CUPS redirection.\nThe CUPS Trust field will be automatically fetched from the cert chain presented by the target server.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"update_channel": {
"type": "string"
},
"update_location_from_status": {
"description": "Update the location of this gateway from status messages. This only works for gateways connecting with authentication; gateways connected over UDP are not supported.",
"type": "boolean"
},
"updated_at": {
"description": "When the gateway was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
},
"runtime_version": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayRemoteAddress
Fields
Name | Type | Description |
---|---|---|
ip |
string | IPv4 or IPv6 address. |
Schema
{
"ip": {
"description": "IPv4 or IPv6 address.",
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayStatistics
Fields
Name | Type | Description |
---|---|---|
best_channel_rssi |
number | |
gateway_id |
object | |
packet_count |
string |
Schema
{
"best_channel_rssi": {
"format": "float",
"type": "number"
},
"gateway_id": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_count": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
GatewayStatus
Fields
Name | Type | Description |
---|---|---|
advanced |
object | |
antenna_locations |
object | |
boot_time |
string | |
ip |
string | IP addresses of this gateway. Repeated addresses can be used to communicate addresses of multiple interfaces (LAN, Public IP, ...). |
metrics |
object | |
time |
string | |
versions |
object |
Schema
{
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"antenna_locations": {
"items": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"title": "Location of each gateway's antenna\n- if left out, server uses registry-set location as fallback",
"type": "array"
},
"boot_time": {
"format": "date-time",
"title": "Boot time of the gateway\n- can be left out to save bandwidth; old value will be kept",
"type": "string"
},
"ip": {
"description": "IP addresses of this gateway.\nRepeated addresses can be used to communicate addresses of multiple interfaces (LAN, Public IP, ...).",
"items": {
"type": "string"
},
"type": "array"
},
"metrics": {
"additionalProperties": {
"format": "float",
"type": "number"
},
"title": "Metrics\n- can be used for forwarding gateway metrics such as temperatures or performance metrics\n- map keys are written in snake_case",
"type": "object"
},
"time": {
"format": "date-time",
"title": "Current time of the gateway",
"type": "string"
},
"versions": {
"additionalProperties": {
"type": "string"
},
"title": "Versions of gateway subsystems\n- each field can be left out to save bandwidth; old value will be kept\n- map keys are written in snake_case\n- for example:\n firmware: \"2.0.4\"\n forwarder: \"v2-3.3.1\"\n fpga: \"48\"\n dsp: \"27\"\n hal: \"v2-3.5.0\"",
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayTimeWindowQuery
Fields
Name | Type | Description |
---|---|---|
gateway_ids |
object | |
time_window |
object | Request for data in a specific time window. |
Schema
{
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"time_window": {
"description": "Request for data in a specific time window.",
"properties": {
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayTopNetworksSeen
Fields
Name | Type | Description |
---|---|---|
networks |
object | Proportion of network by name. The proportions are a fraction of 1. The remaining number is the rest total. |
Schema
{
"networks": {
"additionalProperties": {
"format": "float",
"type": "number"
},
"description": "Proportion of network by name. The proportions are a fraction of 1. The remaining number is the rest total.",
"type": "object"
}
}
Show the schema of the message in JSON format.
GatewayVersionIdentifiers
Fields
Name | Type | Description |
---|---|---|
brand_id |
string | |
firmware_version |
string | |
hardware_version |
string | |
model_id |
string | |
runtime_version |
string |
Schema
{
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
},
"runtime_version": {
"type": "string"
}
}
Show the schema of the message in JSON format.
Gateways
Fields
Name | Type | Description |
---|---|---|
gateways |
object |
Schema
{
"gateways": {
"items": {
"description": "Gateway is the message that defines a gateway on the network.",
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"alert_notification_profile_ids": {
"properties": {
"profile_id": {
"type": "string"
}
},
"type": "object"
},
"antennas": {
"description": "Antennas of the gateway. Location information of the antennas is public and can be seen by any authenticated user in the network if location_public=true.",
"items": {
"description": "GatewayAntenna is the message that defines a gateway antenna.",
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"gain": {
"description": "Antenna gain relative to the gateway, in dBi.",
"format": "float",
"type": "number"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"placement": {
"default": "PLACEMENT_UNKNOWN",
"enum": [
"PLACEMENT_UNKNOWN",
"INDOOR",
"OUTDOOR"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this gateway. Typically used for organizing gateways or for storing integration-specific data.",
"type": "object"
},
"auto_update": {
"type": "boolean"
},
"claim_authentication_code": {
"description": "Authentication code for claiming gateways.",
"properties": {
"secret": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information for this gateway. Typically used to indicate who to contact with technical/security questions about the gateway.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the gateway was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the gateway was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the gateway. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"disable_packet_broker_forwarding": {
"type": "boolean"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"enforce_duty_cycle": {
"description": "Enforcing gateway duty cycle is recommended for all gateways to respect spectrum regulations. Disable enforcing the\nduty cycle only in controlled research and development environments.",
"type": "boolean"
},
"frequency_plan_id": {
"description": "Frequency plan ID of the gateway.\nThis information is public and can be seen by any authenticated user in the network.\nDEPRECATED: use frequency_plan_ids.\nThis equals the first element of the frequency_plan_ids field.",
"type": "string"
},
"frequency_plan_ids": {
"description": "Frequency plan IDs of the gateway.\nThis information is public and can be seen by any authenticated user in the network.\nThe first element equals the frequency_plan_id field.",
"items": {
"type": "string"
},
"type": "array"
},
"gateway_server_address": {
"description": "The address of the Gateway Server to connect to.\nThis information is public and can be seen by any authenticated user in the network if status_public is true.\nThe typical format of the address is \"scheme://host:port\". The scheme is optional. If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"lbs_lns_secret": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"location_public": {
"description": "The location of this gateway may be publicly displayed.",
"type": "boolean"
},
"lrfhss": {
"description": "LR-FHSS gateway capabilities.",
"properties": {
"supported": {
"description": "The gateway supports the LR-FHSS uplink channels.",
"type": "boolean"
}
},
"type": "object"
},
"name": {
"description": "The name of the gateway. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"require_authenticated_connection": {
"description": "Require an authenticated gateway connection. This prevents the gateway from using the UDP protocol and requires authentication when using other protocols.",
"type": "boolean"
},
"schedule_anytime_delay": {
"description": "Adjust the time that GS schedules class C messages in advance. This is useful for gateways that have a known high latency backhaul, like 3G and satellite.",
"type": "string"
},
"schedule_downlink_late": {
"description": "Enable server-side buffering of downlink messages. This is recommended for gateways using the Semtech UDP Packet\nForwarder v2.x or older, as it does not feature a just-in-time queue. If enabled, the Gateway Server schedules the\ndownlink message late to the gateway so that it does not overwrite previously scheduled downlink messages that have\nnot been transmitted yet.",
"type": "boolean"
},
"status_public": {
"description": "The status of this gateway may be publicly displayed.",
"type": "boolean"
},
"target_cups_key": {
"description": "Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.",
"properties": {
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"target_cups_uri": {
"description": "CUPS URI for LoRa Basics Station CUPS redirection.\nThe CUPS Trust field will be automatically fetched from the cert chain presented by the target server.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"update_channel": {
"type": "string"
},
"update_location_from_status": {
"description": "Update the location of this gateway from status messages. This only works for gateways connecting with authentication; gateways connected over UDP are not supported.",
"type": "boolean"
},
"updated_at": {
"description": "When the gateway was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
},
"runtime_version": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GatewaysActiveMetrics
Fields
Name | Type | Description |
---|---|---|
gateway_ids |
object |
Schema
{
"gateway_ids": {
"items": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GatewaysConnectivityTimes
Fields
Name | Type | Description |
---|---|---|
gateways |
object |
Schema
{
"gateways": {
"items": {
"description": "Connectivity times of a gateway.",
"properties": {
"disconnects": {
"description": "Number of disconnects.",
"format": "uint64",
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"last_connect": {
"format": "date-time",
"type": "string"
},
"last_disconnect": {
"format": "date-time",
"type": "string"
},
"packet_rate_last_hour": {
"description": "Packet rate (uplink and downlink) of the last hour.",
"format": "float",
"type": "number"
},
"uptime": {
"description": "Fraction of time that the gateway was active.\nThis is typically aggregated in time buckets of at least 5 minutes or 1 hour depending on the query window.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GenerateDevAddrResponse
Fields
Name | Type | Description |
---|---|---|
dev_addr |
string |
Schema
{
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
GenerateEndDeviceQRCodeRequest
Fields
Name | Type | Description |
---|---|---|
end_device |
object | 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. |
format_id |
string | QR code format identifier. Enumerate available formats with rpc ListFormats in the EndDeviceQRCodeGenerator service. |
image |
object |
Schema
{
"end_device": {
"description": "Defines an End Device registration and its state on the network.\nThe persistence of the EndDevice is divided between the Network Server, Application Server and Join Server.\nSDKs are responsible for combining (if desired) the three.",
"properties": {
"activated_at": {
"description": "Timestamp when the device has been activated. Stored in the Entity Registry.\nThis field is set by the Application Server when an end device sends\nits first uplink.\nThe Application Server will use the field in order to avoid repeated\ncalls to the Entity Registry.\nThe field cannot be unset once set.",
"format": "date-time",
"type": "string"
},
"application_server_address": {
"description": "The address of the Application Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"application_server_id": {
"description": "The AS-ID of the Application Server to use.\nStored in Join Server.",
"type": "string"
},
"application_server_kek_label": {
"description": "The KEK label of the Application Server to use for wrapping the application session key.\nStored in Join Server.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "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.",
"type": "object"
},
"battery_percentage": {
"description": "Latest-known battery percentage of the device.\nReceived via the DevStatus MAC command at last_dev_status_received_at or earlier.\nStored in Network Server.",
"format": "float",
"type": "number"
},
"claim_authentication_code": {
"description": "Authentication code for end devices.",
"properties": {
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "Description of the device. Stored in Entity Registry.",
"type": "string"
},
"downlink_margin": {
"description": "Demodulation signal-to-noise ratio (dB).\nReceived via the DevStatus MAC command at last_dev_status_received_at.\nStored in Network Server.",
"format": "int32",
"type": "integer"
},
"formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"frequency_plan_id": {
"description": "ID of the frequency plan used by this device.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this device is supposed to be registered.\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"last_dev_nonce": {
"description": "Last DevNonce used.\nThis field is only used for devices using LoRaWAN version 1.1 and later.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_dev_status_received_at": {
"description": "Time when last DevStatus MAC command was received.\nStored in Network Server.",
"format": "date-time",
"type": "string"
},
"last_join_nonce": {
"description": "Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_0": {
"description": "Last Rejoin counter value used (type 0/2).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_1": {
"description": "Last Rejoin counter value used (type 1).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_seen_at": {
"description": "Timestamp when a device uplink has been last observed.\nThis field is set by the Application Server and stored in the Identity Server.",
"format": "date-time",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "Location of the device. Stored in Entity Registry.",
"type": "object"
},
"lora_alliance_profile_ids": {
"properties": {
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lorawan_phy_version": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"mac_settings": {
"properties": {
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"max_frequency": {
"description": "Maximum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"min_frequency": {
"description": "Minimum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"multicast": {
"description": "Indicates whether this device represents a multicast group.",
"type": "boolean"
},
"name": {
"description": "Friendly name of the device. Stored in Entity Registry.",
"type": "string"
},
"net_id": {
"description": "Home NetID. Stored in Join Server.",
"example": "000013",
"format": "string",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"network_server_kek_label": {
"description": "The KEK label of the Network Server to use for wrapping network session keys.\nStored in Join Server.",
"type": "string"
},
"pending_mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"pending_session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"power_state": {
"default": "POWER_UNKNOWN",
"description": "Power state of the device.",
"enum": [
"POWER_UNKNOWN",
"POWER_BATTERY",
"POWER_EXTERNAL"
],
"type": "string"
},
"provisioner_id": {
"description": "ID of the provisioner. Stored in Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data. Stored in Join Server.",
"type": "object"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server,\nwhich sets them on the Network Server.\nThis field is deprecated and is always set equal to session.queued_application_downlinks.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resets_join_nonces": {
"description": "Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"root_keys": {
"description": "Root keys for a LoRaWAN device.\nThese are stored on the Join Server.",
"properties": {
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
},
"type": "object"
},
"serial_number": {
"type": "string"
},
"service_profile_id": {
"description": "Default service profile. Stored in Entity Registry.",
"type": "string"
},
"session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field is deprecated, use skip_payload_crypto_override instead.",
"type": "boolean"
},
"skip_payload_crypto_override": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field overrides the application-level setting.",
"type": "boolean"
},
"supports_class_b": {
"description": "Whether the device supports class B.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_class_c": {
"description": "Whether the device supports class C.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_join": {
"description": "The device supports join (it's OTAA).\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"used_dev_nonces": {
"description": "Used DevNonces sorted in ascending order.\nThis field is only used for devices using LoRaWAN versions preceding 1.1.\nStored in Join Server.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"format_id": {
"description": "QR code format identifier. Enumerate available formats with rpc ListFormats in the EndDeviceQRCodeGenerator service.",
"type": "string"
},
"image": {
"properties": {
"image_size": {
"description": "Requested QR code image dimension in pixels.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GenerateQRCodeResponse
Fields
Name | Type | Description |
---|---|---|
image |
object | |
text |
string | Text representation of the QR code contents. |
Schema
{
"image": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"text": {
"description": "Text representation of the QR code contents.",
"type": "string"
}
}
Show the schema of the message in JSON format.
GetArsConfigurationResponse
Fields
Name | Type | Description |
---|---|---|
configuration |
object |
Schema
{
"configuration": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GetAsConfigurationResponse
Fields
Name | Type | Description |
---|---|---|
configuration |
object | Application Server configuration. |
Schema
{
"configuration": {
"description": "Application Server configuration.",
"properties": {
"pubsub": {
"properties": {
"providers": {
"properties": {
"mqtt": {
"default": "ENABLED",
"description": " - ENABLED: No restrictions are in place.\n - WARNING: Warnings are being emitted that the provider will be deprecated in the future.\n - DISABLED: New integrations cannot be set up, and old ones do not start.",
"enum": [
"ENABLED",
"WARNING",
"DISABLED"
],
"type": "string"
},
"nats": {
"default": "ENABLED",
"description": " - ENABLED: No restrictions are in place.\n - WARNING: Warnings are being emitted that the provider will be deprecated in the future.\n - DISABLED: New integrations cannot be set up, and old ones do not start.",
"enum": [
"ENABLED",
"WARNING",
"DISABLED"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
},
"retry": {
"properties": {
"base_delay": {
"type": "string"
},
"delay_factor": {
"format": "double",
"type": "number"
},
"jitter_factor": {
"format": "double",
"type": "number"
},
"max_attempts": {
"format": "int64",
"type": "string"
},
"max_delay": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"unhealthy_attempts_threshold": {
"format": "int64",
"type": "string"
},
"unhealthy_retry_interval": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GetClaimStatusResponse
Fields
Name | Type | Description |
---|---|---|
end_device_ids |
object | |
home_net_id |
string | |
home_ns_id |
string | |
vendor_specific |
object |
Schema
{
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"home_net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"home_ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"vendor_specific": {
"properties": {
"data": {
"description": "Vendor Specific data in JSON format.",
"type": "object"
},
"organization_unique_identifier": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GetCollaboratorResponse
Fields
Name | Type | Description |
---|---|---|
ids |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
rights |
string |
Schema
{
"ids": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GetDefaultJoinEUIResponse
Fields
Name | Type | Description |
---|---|---|
join_eui |
string |
Schema
{
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
GetDeviceAdressPrefixesResponse
Fields
Name | Type | Description |
---|---|---|
dev_addr_prefixes |
string |
Schema
{
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GetGatewayConfigurationResponse
Fields
Name | Type | Description |
---|---|---|
contents |
string |
Schema
{
"contents": {
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
GetInfoByGatewayEUIRequest
Fields
Name | Type | Description |
---|---|---|
eui |
string |
Schema
{
"eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
GetInfoByGatewayEUIResponse
Fields
Name | Type | Description |
---|---|---|
eui |
string | |
is_managed |
boolean | Indicates whether the gateway is a managed gateway. If true, when the gateway is successfully claimed, it can be managed with ManagedGatewayConfigurationService. |
supports_claiming |
boolean |
Schema
{
"eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"is_managed": {
"description": "Indicates whether the gateway is a managed gateway.\nIf true, when the gateway is successfully claimed, it can be managed with ManagedGatewayConfigurationService.",
"type": "boolean"
},
"supports_claiming": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
GetInfoByJoinEUIRequest
Fields
Name | Type | Description |
---|---|---|
join_eui |
string |
Schema
{
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
GetInfoByJoinEUIResponse
Fields
Name | Type | Description |
---|---|---|
join_eui |
string | |
supports_claiming |
boolean | If set, this Join EUI is available for claiming on one of the configured Join Servers. |
Schema
{
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"supports_claiming": {
"description": "If set, this Join EUI is available for claiming on one of the configured Join Servers.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
GetInfoByJoinEUIsRequest
Fields
Name | Type | Description |
---|---|---|
requests |
object |
Schema
{
"requests": {
"items": {
"properties": {
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GetInfoByJoinEUIsResponse
Fields
Name | Type | Description |
---|---|---|
infos |
object |
Schema
{
"infos": {
"items": {
"properties": {
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"supports_claiming": {
"description": "If set, this Join EUI is available for claiming on one of the configured Join Servers.",
"type": "boolean"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GetIsConfigurationResponse
Fields
Name | Type | Description |
---|---|---|
configuration |
object |
Schema
{
"configuration": {
"properties": {
"admin_restrictions": {
"properties": {
"managed_fields_updates": {
"description": "managed-fields-updates disables the ability of an admin user to update fields which are administered by the\nbilling providers. The restrictions are ignored if a tenant admin key is used.",
"type": "boolean"
}
},
"type": "object"
},
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"description": "The maximum number of end devices in a newly created application.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"collaborator_rights": {
"properties": {
"set_others_as_contacts": {
"type": "boolean"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"network_limits": {
"properties": {
"applications": {
"description": "The maximum total number of applications in the network.",
"format": "uint64",
"type": "string"
},
"clients": {
"description": "The maximum total number of clients in the network.",
"format": "uint64",
"type": "string"
},
"gateways": {
"description": "The maximum total number of gateways in the network.",
"format": "uint64",
"type": "string"
},
"organizations": {
"description": "The maximum total number of organizations in the network.",
"format": "uint64",
"type": "string"
},
"users": {
"description": "The maximum total number of users in the network.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"description": "The maximum number of applications of a newly created organization.",
"format": "uint64",
"type": "string"
},
"clients": {
"description": "The maximum number of clients of a newly created organization.",
"format": "uint64",
"type": "string"
},
"gateways": {
"description": "The maximum number of gateways of a newly created organization.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"tenant_registration": {
"properties": {
"contact_info_validation": {
"properties": {
"token_ttl": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"description": "The maximum number of applications of a newly created user.",
"format": "uint64",
"type": "string"
},
"clients": {
"description": "The maximum number of clients of a newly created user.",
"format": "uint64",
"type": "string"
},
"gateways": {
"description": "The maximum number of gateways of a newly created user.",
"format": "uint64",
"type": "string"
},
"organizations": {
"description": "The maximum number of organizations of a newly created user.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
},
"retry_interval": {
"description": "The minimum interval between validation emails.",
"type": "string"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GetNetIDResponse
Fields
Name | Type | Description |
---|---|---|
net_id |
string |
Schema
{
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
GetNocConfigurationResponse
Fields
Name | Type | Description |
---|---|---|
configuration |
object |
Schema
{
"configuration": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GetPhyVersionsResponse
Fields
Name | Type | Description |
---|---|---|
version_info |
object |
Schema
{
"version_info": {
"items": {
"properties": {
"band_id": {
"type": "string"
},
"phy_versions": {
"items": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
GetRelayResponse
Fields
Name | Type | Description |
---|---|---|
settings |
object | RelaySettings represent the settings of a relay. This is used internally by the Network Server. |
Schema
{
"settings": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GetRelayUplinkForwardingRuleResponse
Fields
Name | Type | Description |
---|---|---|
rule |
object |
Schema
{
"rule": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
GetStoredApplicationUpCountResponse
Fields
Name | Type | Description |
---|---|---|
count |
object | Number of stored messages by end device ID. |
Schema
{
"count": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"description": "Number of stored messages by end device ID.",
"type": "object"
}
}
Show the schema of the message in JSON format.
GrantType
Supported values
Name | Description |
---|---|
GRANT_AUTHORIZATION_CODE |
Grant type used to exchange an authorization code for an access token. |
GRANT_PASSWORD |
Grant type used to exchange a user ID and password for an access token. |
GRANT_REFRESH_TOKEN |
Grant type used to exchange a refresh token for an access token. |
Invitations
Fields
Name | Type | Description |
---|---|---|
invitations |
object |
Schema
{
"invitations": {
"items": {
"properties": {
"accepted_at": {
"format": "date-time",
"type": "string"
},
"accepted_by": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"email": {
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"token": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
IsConfiguration
Fields
Name | Type | Description |
---|---|---|
admin_restrictions |
object | |
admin_rights |
object | |
application_limits |
object | |
collaborator_rights |
object | |
end_device_picture |
object | |
network_limits |
object | |
organization_limits |
object | |
profile_picture |
object | |
tenant_registration |
object | |
user_limits |
object | |
user_login |
object | |
user_registration |
object | |
user_rights |
object |
Schema
{
"admin_restrictions": {
"properties": {
"managed_fields_updates": {
"description": "managed-fields-updates disables the ability of an admin user to update fields which are administered by the\nbilling providers. The restrictions are ignored if a tenant admin key is used.",
"type": "boolean"
}
},
"type": "object"
},
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"description": "The maximum number of end devices in a newly created application.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"collaborator_rights": {
"properties": {
"set_others_as_contacts": {
"type": "boolean"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"network_limits": {
"properties": {
"applications": {
"description": "The maximum total number of applications in the network.",
"format": "uint64",
"type": "string"
},
"clients": {
"description": "The maximum total number of clients in the network.",
"format": "uint64",
"type": "string"
},
"gateways": {
"description": "The maximum total number of gateways in the network.",
"format": "uint64",
"type": "string"
},
"organizations": {
"description": "The maximum total number of organizations in the network.",
"format": "uint64",
"type": "string"
},
"users": {
"description": "The maximum total number of users in the network.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"description": "The maximum number of applications of a newly created organization.",
"format": "uint64",
"type": "string"
},
"clients": {
"description": "The maximum number of clients of a newly created organization.",
"format": "uint64",
"type": "string"
},
"gateways": {
"description": "The maximum number of gateways of a newly created organization.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"tenant_registration": {
"properties": {
"contact_info_validation": {
"properties": {
"token_ttl": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"description": "The maximum number of applications of a newly created user.",
"format": "uint64",
"type": "string"
},
"clients": {
"description": "The maximum number of clients of a newly created user.",
"format": "uint64",
"type": "string"
},
"gateways": {
"description": "The maximum number of gateways of a newly created user.",
"format": "uint64",
"type": "string"
},
"organizations": {
"description": "The maximum number of organizations of a newly created user.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
},
"retry_interval": {
"description": "The minimum interval between validation emails.",
"type": "string"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
IsConfigurationAdminRights
Fields
Name | Type | Description |
---|---|---|
all |
boolean |
Schema
{
"all": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
IsConfigurationApplicationLimits
Fields
Name | Type | Description |
---|---|---|
end_devices |
string | The maximum number of end devices in a newly created application. |
Schema
{
"end_devices": {
"description": "The maximum number of end devices in a newly created application.",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
IsConfigurationEndDevicePicture
Fields
Name | Type | Description |
---|---|---|
disable_upload |
boolean |
Schema
{
"disable_upload": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
IsConfigurationOrganizationLimits
Fields
Name | Type | Description |
---|---|---|
applications |
string | The maximum number of applications of a newly created organization. |
clients |
string | The maximum number of clients of a newly created organization. |
gateways |
string | The maximum number of gateways of a newly created organization. |
Schema
{
"applications": {
"description": "The maximum number of applications of a newly created organization.",
"format": "uint64",
"type": "string"
},
"clients": {
"description": "The maximum number of clients of a newly created organization.",
"format": "uint64",
"type": "string"
},
"gateways": {
"description": "The maximum number of gateways of a newly created organization.",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
IsConfigurationProfilePicture
Fields
Name | Type | Description |
---|---|---|
disable_upload |
boolean | |
use_gravatar |
boolean |
Schema
{
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
IsConfigurationUserLimits
Fields
Name | Type | Description |
---|---|---|
applications |
string | The maximum number of applications of a newly created user. |
clients |
string | The maximum number of clients of a newly created user. |
gateways |
string | The maximum number of gateways of a newly created user. |
organizations |
string | The maximum number of organizations of a newly created user. |
Schema
{
"applications": {
"description": "The maximum number of applications of a newly created user.",
"format": "uint64",
"type": "string"
},
"clients": {
"description": "The maximum number of clients of a newly created user.",
"format": "uint64",
"type": "string"
},
"gateways": {
"description": "The maximum number of gateways of a newly created user.",
"format": "uint64",
"type": "string"
},
"organizations": {
"description": "The maximum number of organizations of a newly created user.",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
IsConfigurationUserLogin
Fields
Name | Type | Description |
---|---|---|
disable_credentials_login |
boolean |
Schema
{
"disable_credentials_login": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
IsConfigurationUserRegistration
Fields
Name | Type | Description |
---|---|---|
admin_approval |
object | |
contact_info_validation |
object | |
enabled |
boolean | |
invitation |
object | |
password_requirements |
object |
Schema
{
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
},
"retry_interval": {
"description": "The minimum interval between validation emails.",
"type": "string"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
IsConfigurationUserRegistrationAdminApproval
Fields
Name | Type | Description |
---|---|---|
required |
boolean |
Schema
{
"required": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
IsConfigurationUserRegistrationContactInfoValidation
Fields
Name | Type | Description |
---|---|---|
required |
boolean | |
retry_interval |
string | The minimum interval between validation emails. |
token_ttl |
string |
Schema
{
"required": {
"type": "boolean"
},
"retry_interval": {
"description": "The minimum interval between validation emails.",
"type": "string"
},
"token_ttl": {
"type": "string"
}
}
Show the schema of the message in JSON format.
IsConfigurationUserRegistrationInvitation
Fields
Name | Type | Description |
---|---|---|
required |
boolean | |
token_ttl |
string |
Schema
{
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
}
Show the schema of the message in JSON format.
IsConfigurationUserRegistrationPasswordRequirements
Fields
Name | Type | Description |
---|---|---|
max_length |
integer | |
min_digits |
integer | |
min_length |
integer | |
min_special |
integer | |
min_uppercase |
integer |
Schema
{
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
IsConfigurationUserRights
Fields
Name | Type | Description |
---|---|---|
create_applications |
boolean | |
create_clients |
boolean | |
create_gateways |
boolean | |
create_organizations |
boolean | |
update_name |
boolean | |
update_primary_email_address |
boolean |
Schema
{
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
IssueDevEUIResponse
Fields
Name | Type | Description |
---|---|---|
dev_eui |
string |
Schema
{
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
JoinAcceptPayload
Fields
Name | Type | Description |
---|---|---|
cf_list |
object | |
dev_addr |
string | |
dl_settings |
object | |
encrypted |
string | |
join_nonce |
string | |
net_id |
string | |
rx_delay |
string | - RX_DELAY_0: 1 second. - RX_DELAY_1: 1 second. - RX_DELAY_2: 2 seconds. - RX_DELAY_3: 3 seconds. - RX_DELAY_4: 4 seconds. - RX_DELAY_5: 5 seconds. - RX_DELAY_6: 6 seconds. - RX_DELAY_7: 7 seconds. - RX_DELAY_8: 8 seconds. - RX_DELAY_9: 9 seconds. - RX_DELAY_10: 10 seconds. - RX_DELAY_11: 11 seconds. - RX_DELAY_12: 12 seconds. - RX_DELAY_13: 13 seconds. - RX_DELAY_14: 14 seconds. - RX_DELAY_15: 15 seconds. |
Schema
{
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
JoinEUIPrefix
Fields
Name | Type | Description |
---|---|---|
join_eui |
string | |
length |
integer |
Schema
{
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"length": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
JoinEUIPrefixes
Fields
Name | Type | Description |
---|---|---|
prefixes |
object |
Schema
{
"prefixes": {
"items": {
"properties": {
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"length": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
JoinRequestPayload
Fields
Name | Type | Description |
---|---|---|
dev_eui |
string | |
dev_nonce |
string | |
join_eui |
string |
Schema
{
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
JoinRequestType
Supported values
Name | Description |
---|---|
REJOIN_CONTEXT |
Resets DevAddr, Session Keys, Frame Counters, Radio Parameters. |
REJOIN_SESSION |
Equivalent to the initial JoinRequest. |
REJOIN_KEYS |
Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters. |
JOIN |
Normal join-request. |
JoinResponse
Fields
Name | Type | Description |
---|---|---|
correlation_ids |
string | |
lifetime |
string | |
raw_payload |
string | |
session_keys |
object | 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. |
Schema
{
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"lifetime": {
"type": "string"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"session_keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
JsEndDeviceRegistrySetBody
Fields
Name | Type | Description |
---|---|---|
end_device |
object | 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. |
field_mask |
string | 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. |
Schema
{
"end_device": {
"description": "Defines an End Device registration and its state on the network.\nThe persistence of the EndDevice is divided between the Network Server, Application Server and Join Server.\nSDKs are responsible for combining (if desired) the three.",
"properties": {
"activated_at": {
"description": "Timestamp when the device has been activated. Stored in the Entity Registry.\nThis field is set by the Application Server when an end device sends\nits first uplink.\nThe Application Server will use the field in order to avoid repeated\ncalls to the Entity Registry.\nThe field cannot be unset once set.",
"format": "date-time",
"type": "string"
},
"application_server_address": {
"description": "The address of the Application Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"application_server_id": {
"description": "The AS-ID of the Application Server to use.\nStored in Join Server.",
"type": "string"
},
"application_server_kek_label": {
"description": "The KEK label of the Application Server to use for wrapping the application session key.\nStored in Join Server.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "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.",
"type": "object"
},
"battery_percentage": {
"description": "Latest-known battery percentage of the device.\nReceived via the DevStatus MAC command at last_dev_status_received_at or earlier.\nStored in Network Server.",
"format": "float",
"type": "number"
},
"claim_authentication_code": {
"description": "Authentication code for end devices.",
"properties": {
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "Description of the device. Stored in Entity Registry.",
"type": "string"
},
"downlink_margin": {
"description": "Demodulation signal-to-noise ratio (dB).\nReceived via the DevStatus MAC command at last_dev_status_received_at.\nStored in Network Server.",
"format": "int32",
"type": "integer"
},
"formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"frequency_plan_id": {
"description": "ID of the frequency plan used by this device.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this device is supposed to be registered.\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"last_dev_nonce": {
"description": "Last DevNonce used.\nThis field is only used for devices using LoRaWAN version 1.1 and later.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_dev_status_received_at": {
"description": "Time when last DevStatus MAC command was received.\nStored in Network Server.",
"format": "date-time",
"type": "string"
},
"last_join_nonce": {
"description": "Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_0": {
"description": "Last Rejoin counter value used (type 0/2).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_1": {
"description": "Last Rejoin counter value used (type 1).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_seen_at": {
"description": "Timestamp when a device uplink has been last observed.\nThis field is set by the Application Server and stored in the Identity Server.",
"format": "date-time",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "Location of the device. Stored in Entity Registry.",
"type": "object"
},
"lora_alliance_profile_ids": {
"properties": {
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lorawan_phy_version": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"mac_settings": {
"properties": {
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"max_frequency": {
"description": "Maximum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"min_frequency": {
"description": "Minimum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"multicast": {
"description": "Indicates whether this device represents a multicast group.",
"type": "boolean"
},
"name": {
"description": "Friendly name of the device. Stored in Entity Registry.",
"type": "string"
},
"net_id": {
"description": "Home NetID. Stored in Join Server.",
"example": "000013",
"format": "string",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"network_server_kek_label": {
"description": "The KEK label of the Network Server to use for wrapping network session keys.\nStored in Join Server.",
"type": "string"
},
"pending_mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"pending_session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"power_state": {
"default": "POWER_UNKNOWN",
"description": "Power state of the device.",
"enum": [
"POWER_UNKNOWN",
"POWER_BATTERY",
"POWER_EXTERNAL"
],
"type": "string"
},
"provisioner_id": {
"description": "ID of the provisioner. Stored in Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data. Stored in Join Server.",
"type": "object"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server,\nwhich sets them on the Network Server.\nThis field is deprecated and is always set equal to session.queued_application_downlinks.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resets_join_nonces": {
"description": "Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"root_keys": {
"description": "Root keys for a LoRaWAN device.\nThese are stored on the Join Server.",
"properties": {
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
},
"type": "object"
},
"serial_number": {
"type": "string"
},
"service_profile_id": {
"description": "Default service profile. Stored in Entity Registry.",
"type": "string"
},
"session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field is deprecated, use skip_payload_crypto_override instead.",
"type": "boolean"
},
"skip_payload_crypto_override": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field overrides the application-level setting.",
"type": "boolean"
},
"supports_class_b": {
"description": "Whether the device supports class B.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_class_c": {
"description": "Whether the device supports class C.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_join": {
"description": "The device supports join (it's OTAA).\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"used_dev_nonces": {
"description": "Used DevNonces sorted in ascending order.\nThis field is only used for devices using LoRaWAN versions preceding 1.1.\nStored in Join Server.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the end device fields that should be updated.\nSee the API reference for which fields can be set on the different services.",
"type": "string"
}
}
Show the schema of the message in JSON format.
KeyEnvelope
Fields
Name | Type | Description |
---|---|---|
encrypted_key |
string | |
kek_label |
string | The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key. |
key |
string | The unencrypted AES key. |
Schema
{
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
KeyProvisioning
Supported values
Name | Description |
---|---|
KEY_PROVISIONING_UNKNOWN |
Unknown Key Provisioning. |
KEY_PROVISIONING_CUSTOM |
Custom Key Provisioning. |
KEY_PROVISIONING_JOIN_SERVER |
Key Provisioning from the Global Join Server. |
KEY_PROVISIONING_MANIFEST |
Key Provisioning from Manifest. |
KeySecurity
Supported values
Name | Description |
---|---|
KEY_SECURITY_UNKNOWN |
Unknown key security. |
KEY_SECURITY_NONE |
No key security. |
KEY_SECURITY_READ_PROTECTED |
Read Protected key security. |
KEY_SECURITY_SECURE_ELEMENT |
Key security using the Security Element. |
LRFHSSDataRate
Fields
Name | Type | Description |
---|---|---|
coding_rate |
string | |
modulation_type |
integer | |
operating_channel_width |
integer | Operating Channel Width (Hz). |
Schema
{
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
ListBandsResponse
Fields
Name | Type | Description |
---|---|---|
descriptions |
object |
Schema
{
"descriptions": {
"additionalProperties": {
"properties": {
"band": {
"additionalProperties": {
"properties": {
"adr_ack_limit": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
},
"beacon": {
"properties": {
"coding_rate": {
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequencies": {
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"boot_dwell_time": {
"properties": {
"downlinks": {
"type": "boolean"
},
"uplinks": {
"type": "boolean"
}
},
"type": "object"
},
"cf_list_type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
},
"data_rates": {
"additionalProperties": {
"properties": {
"rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "object"
},
"default_max_eirp": {
"format": "float",
"type": "number"
},
"default_rx2_parameters": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_channels": {
"items": {
"properties": {
"frequency": {
"format": "uint64",
"type": "string"
},
"max_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"freq_multiplier": {
"format": "uint64",
"type": "string"
},
"id": {
"type": "string"
},
"implements_cf_list": {
"type": "boolean"
},
"join_accept_delay_1": {
"type": "string"
},
"join_accept_delay_2": {
"type": "string"
},
"max_adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_downlink_channels": {
"format": "int64",
"type": "integer"
},
"max_fcnt_gap": {
"format": "uint64",
"type": "string"
},
"max_retransmit_timeout": {
"type": "string"
},
"max_uplink_channels": {
"format": "int64",
"type": "integer"
},
"min_retransmit_timeout": {
"type": "string"
},
"ping_slot_frequencies": {
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"receive_delay_1": {
"type": "string"
},
"receive_delay_2": {
"type": "string"
},
"relay": {
"properties": {
"wor_channels": {
"items": {
"properties": {
"ack_frequency": {
"format": "uint64",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"relay_forward_delay": {
"type": "string"
},
"relay_receive_delay": {
"type": "string"
},
"sub_bands": {
"items": {
"properties": {
"duty_cycle": {
"format": "float",
"type": "number"
},
"max_eirp": {
"format": "float",
"type": "number"
},
"max_frequency": {
"format": "uint64",
"type": "string"
},
"min_frequency": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"supports_dynamic_adr": {
"type": "boolean"
},
"tx_offset": {
"items": {
"format": "float",
"type": "number"
},
"type": "array"
},
"tx_param_setup_req_support": {
"type": "boolean"
},
"uplink_channels": {
"items": {
"properties": {
"frequency": {
"format": "uint64",
"type": "string"
},
"max_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"type": "object"
}
},
"type": "object"
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ListEndDeviceBrandsResponse
Fields
Name | Type | Description |
---|---|---|
brands |
object |
Schema
{
"brands": {
"items": {
"properties": {
"brand_id": {
"description": "Brand identifier, as specified in the Device Repository.",
"type": "string"
},
"email": {
"description": "Contact email address.",
"type": "string"
},
"logo": {
"description": "Path to brand logo.",
"type": "string"
},
"lora_alliance_vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"name": {
"description": "Brand name.",
"type": "string"
},
"organization_unique_identifiers": {
"description": "Organization Unique Identifiers (OUI) assigned by IEEE.",
"items": {
"type": "string"
},
"type": "array"
},
"private_enterprise_number": {
"description": "Private Enterprise Number (PEN) assigned by IANA.",
"format": "int64",
"type": "integer"
},
"website": {
"description": "Brand website URL.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ListEndDeviceModelsResponse
Fields
Name | Type | Description |
---|---|---|
models |
object |
Schema
{
"models": {
"items": {
"properties": {
"additional_radios": {
"description": "List of any additional radios included in the device.",
"items": {
"type": "string"
},
"type": "array"
},
"battery": {
"properties": {
"replaceable": {
"description": "Whether the device battery can be replaced.",
"type": "boolean"
},
"type": {
"description": "Battery type.",
"type": "string"
}
},
"type": "object"
},
"brand_id": {
"description": "Brand identifier, as defined in the Device Repository.",
"type": "string"
},
"compliances": {
"properties": {
"radio_equipment": {
"description": "List of radio equipment standards the device is compliant with.",
"items": {
"properties": {
"body": {
"type": "string"
},
"norm": {
"type": "string"
},
"standard": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"safety": {
"description": "List of safety standards the device is compliant with.",
"items": {
"properties": {
"body": {
"type": "string"
},
"norm": {
"type": "string"
},
"standard": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"datasheet_url": {
"description": "Device datasheet URL.",
"type": "string"
},
"description": {
"description": "Model description.",
"type": "string"
},
"dimensions": {
"properties": {
"diameter": {
"description": "Device diameter (mm).",
"format": "float",
"type": "number"
},
"height": {
"description": "Device height (mm).",
"format": "float",
"type": "number"
},
"length": {
"description": "Device length (mm).",
"format": "float",
"type": "number"
},
"width": {
"description": "Device width (mm).",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"firmware_versions": {
"description": "Available firmware versions.",
"items": {
"properties": {
"numeric": {
"description": "Numeric firmware revision number.",
"format": "int64",
"type": "integer"
},
"profiles": {
"additionalProperties": {
"properties": {
"codec_id": {
"description": "Payload formatter codec identifier, as defined in the Device Repository.",
"type": "string"
},
"lorawan_certified": {
"description": "Whether the device is LoRaWAN certified.",
"type": "boolean"
},
"profile_id": {
"description": "Profile identifier, as defined in the Device Repository.",
"type": "string"
},
"vendor_id": {
"description": "Vendor ID of the profile, as defined in the Device Repository.\nIf this value is set, the profile is loaded from this vendor's folder.\nIf this value is not set, the profile is loaded from the current (end device's) vendor.",
"type": "string"
}
},
"type": "object"
},
"description": "Device profiles for each supported region (band).",
"type": "object"
},
"supported_hardware_versions": {
"description": "Hardware versions supported by this firmware version.",
"items": {
"type": "string"
},
"type": "array"
},
"version": {
"description": "Firmware version string.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"hardware_versions": {
"description": "Available hardware versions.",
"items": {
"properties": {
"numeric": {
"description": "Numberic hardware revision number.",
"format": "int64",
"type": "integer"
},
"part_number": {
"description": "Hardware part number.",
"type": "string"
},
"version": {
"description": "Hardware version string.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"ip_code": {
"description": "Device IP rating code.",
"type": "string"
},
"key_provisioning": {
"description": "Supported key provisioning methods.",
"items": {
"default": "KEY_PROVISIONING_UNKNOWN",
"description": " - KEY_PROVISIONING_UNKNOWN: Unknown Key Provisioning.\n - KEY_PROVISIONING_CUSTOM: Custom Key Provisioning.\n - KEY_PROVISIONING_JOIN_SERVER: Key Provisioning from the Global Join Server.\n - KEY_PROVISIONING_MANIFEST: Key Provisioning from Manifest.",
"enum": [
"KEY_PROVISIONING_UNKNOWN",
"KEY_PROVISIONING_CUSTOM",
"KEY_PROVISIONING_JOIN_SERVER",
"KEY_PROVISIONING_MANIFEST"
],
"type": "string"
},
"type": "array"
},
"key_security": {
"default": "KEY_SECURITY_UNKNOWN",
"description": " - KEY_SECURITY_UNKNOWN: Unknown key security.\n - KEY_SECURITY_NONE: No key security.\n - KEY_SECURITY_READ_PROTECTED: Read Protected key security.\n - KEY_SECURITY_SECURE_ELEMENT: Key security using the Security Element.",
"enum": [
"KEY_SECURITY_UNKNOWN",
"KEY_SECURITY_NONE",
"KEY_SECURITY_READ_PROTECTED",
"KEY_SECURITY_SECURE_ELEMENT"
],
"type": "string"
},
"model_id": {
"description": "Model identifier, as defined in the Device Repository.",
"type": "string"
},
"name": {
"description": "Model name, as defined in the Device Repository.",
"type": "string"
},
"operating_conditions": {
"properties": {
"relative_humidity": {
"properties": {
"max": {
"description": "Max value of operating conditions range.",
"format": "float",
"type": "number"
},
"min": {
"description": "Min value of operating conditions range.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"temperature": {
"properties": {
"max": {
"description": "Max value of operating conditions range.",
"format": "float",
"type": "number"
},
"min": {
"description": "Min value of operating conditions range.",
"format": "float",
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"photos": {
"properties": {
"main": {
"description": "Main device photo.",
"type": "string"
},
"other": {
"description": "List of other device photos.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"product_url": {
"description": "Device information page URL.",
"type": "string"
},
"resellers": {
"description": "Reseller URLs.",
"items": {
"properties": {
"name": {
"description": "Reseller name.",
"type": "string"
},
"region": {
"description": "Reseller regions.",
"items": {
"type": "string"
},
"type": "array"
},
"url": {
"description": "Reseller URL.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"sensors": {
"description": "List of sensors included in the device.",
"items": {
"type": "string"
},
"type": "array"
},
"videos": {
"properties": {
"main": {
"description": "Link to main device video.",
"type": "string"
},
"other": {
"description": "Links to other device videos.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"weight": {
"description": "Device weight (gram).",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ListEndDevicesRequestFilter
Fields
Name | Type | Description |
---|---|---|
updated_since |
string |
Schema
{
"updated_since": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
ListFrequencyPlansResponse
Fields
Name | Type | Description |
---|---|---|
frequency_plans |
object |
Schema
{
"frequency_plans": {
"items": {
"properties": {
"band_id": {
"type": "string"
},
"base_frequency": {
"format": "int64",
"title": "Base frequency in MHz for hardware support (433, 470, 868 or 915)",
"type": "integer"
},
"base_id": {
"description": "The ID of the frequency that the current frequency plan is based on.",
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ListGatewaysRequest
Fields
Name | Type | Description |
---|---|---|
collaborator |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
deleted |
boolean | Only return recently deleted gateways. |
field_mask |
string | The names of the gateway fields that should be returned. |
filters |
object | |
limit |
integer | Limit the number of results per page. |
order |
string | 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. |
page |
integer | Page number for pagination. 0 is interpreted as 1. |
Schema
{
"collaborator": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"deleted": {
"description": "Only return recently deleted gateways.",
"type": "boolean"
},
"field_mask": {
"description": "The names of the gateway fields that should be returned.",
"type": "string"
},
"filters": {
"items": {
"description": "Filter gateways by fields.",
"properties": {
"updated_since": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"limit": {
"description": "Limit the number of results per page.",
"format": "int64",
"type": "integer"
},
"order": {
"description": "Order the results by this field path (must be present in the field mask).\nDefault ordering is by ID. Prepend with a minus (-) to reverse the order.",
"type": "string"
},
"page": {
"description": "Page number for pagination. 0 is interpreted as 1.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
ListGatewaysRequestFilter
Fields
Name | Type | Description |
---|---|---|
updated_since |
string |
Schema
{
"updated_since": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
ListNotificationsResponse
Fields
Name | Type | Description |
---|---|---|
notifications |
object |
Schema
{
"notifications": {
"items": {
"properties": {
"created_at": {
"description": "The time when the notification was triggered.",
"format": "date-time",
"type": "string"
},
"data": {
"additionalProperties": {},
"description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }",
"properties": {
"@type": {
"description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
"type": "string"
}
},
"type": "object"
},
"email": {
"description": "Whether an email was sent for the notification.",
"type": "boolean"
},
"entity_ids": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"id": {
"description": "The immutable ID of the notification. Generated by the server.",
"type": "string"
},
"notification_type": {
"description": "The type of this notification.",
"type": "string"
},
"receivers": {
"description": "Relation of the notification receiver to the entity.",
"items": {
"default": "NOTIFICATION_RECEIVER_UNKNOWN",
"description": " - NOTIFICATION_RECEIVER_COLLABORATOR: Notification is received by collaborators of the entity.\nIf the collaborator is an organization, the notification is received by organization members.\n - NOTIFICATION_RECEIVER_ADMINISTRATIVE_CONTACT: Notification is received by administrative contact of the entity.\nIf this is an organization, the notification is received by organization members.\n - NOTIFICATION_RECEIVER_TECHNICAL_CONTACT: Notification is received by technical contact of the entity.\nIf this is an organization, the notification is received by organization members.",
"enum": [
"NOTIFICATION_RECEIVER_UNKNOWN",
"NOTIFICATION_RECEIVER_COLLABORATOR",
"NOTIFICATION_RECEIVER_ADMINISTRATIVE_CONTACT",
"NOTIFICATION_RECEIVER_TECHNICAL_CONTACT"
],
"type": "string"
},
"type": "array"
},
"sender_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"status": {
"default": "NOTIFICATION_STATUS_UNSEEN",
"enum": [
"NOTIFICATION_STATUS_UNSEEN",
"NOTIFICATION_STATUS_SEEN",
"NOTIFICATION_STATUS_ARCHIVED"
],
"type": "string"
},
"status_updated_at": {
"description": "The time when the notification status was updated.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ListRelayUplinkForwardingRulesResponse
Fields
Name | Type | Description |
---|---|---|
rules |
object | Uplink forwarding rules. |
Schema
{
"rules": {
"description": "Uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
LoRaAllianceProfileIdentifiers
Fields
Name | Type | Description |
---|---|---|
vendor_id |
integer | VendorID managed by the LoRa Alliance, as defined in TR005. |
vendor_profile_id |
integer | ID of the LoRaWAN end device profile assigned by the vendor. |
Schema
{
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
LoRaDataRate
Fields
Name | Type | Description |
---|---|---|
bandwidth |
integer | Bandwidth (Hz). |
coding_rate |
string | |
spreading_factor |
integer |
Schema
{
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
LocationSource
Supported values
Name | Description |
---|---|
SOURCE_UNKNOWN |
The source of the location is not known or not set. |
SOURCE_GPS |
The location is determined by GPS. |
SOURCE_REGISTRY |
The location is set in and updated from a registry. |
SOURCE_IP_GEOLOCATION |
The location is estimated with IP geolocation. |
SOURCE_WIFI_RSSI_GEOLOCATION |
The location is estimated with WiFi RSSI geolocation. |
SOURCE_BT_RSSI_GEOLOCATION |
The location is estimated with BT/BLE RSSI geolocation. |
SOURCE_LORA_RSSI_GEOLOCATION |
The location is estimated with LoRa RSSI geolocation. |
SOURCE_LORA_TDOA_GEOLOCATION |
The location is estimated with LoRa TDOA geolocation. |
SOURCE_COMBINED_GEOLOCATION |
The location is estimated by a combination of geolocation sources. |
MACCommand
Fields
Name | Type | Description |
---|---|---|
adr_param_setup_req |
object | |
beacon_freq_ans |
object | |
beacon_freq_req |
object | |
beacon_timing_ans |
object | |
cid |
string | |
dev_status_ans |
object | |
device_mode_conf |
object | |
device_mode_ind |
object | |
device_time_ans |
object | |
dl_channel_ans |
object | |
dl_channel_req |
object | |
duty_cycle_req |
object | |
force_rejoin_req |
object | |
link_adr_ans |
object | |
link_adr_req |
object | |
link_check_ans |
object | |
new_channel_ans |
object | |
new_channel_req |
object | |
ping_slot_channel_ans |
object | |
ping_slot_channel_req |
object | |
ping_slot_info_req |
object | |
raw_payload |
string | |
rejoin_param_setup_ans |
object | |
rejoin_param_setup_req |
object | |
rekey_conf |
object | |
rekey_ind |
object | |
relay_conf_ans |
object | |
relay_conf_req |
object | |
relay_configure_fwd_limit_ans |
object | |
relay_configure_fwd_limit_req |
object | |
relay_ctrl_uplink_list_ans |
object | |
relay_ctrl_uplink_list_req |
object | |
relay_end_device_conf_ans |
object | |
relay_end_device_conf_req |
object | |
relay_notify_new_end_device_req |
object | |
relay_update_uplink_list_ans |
object | |
relay_update_uplink_list_req |
object | |
reset_conf |
object | |
reset_ind |
object | |
rx_param_setup_ans |
object | |
rx_param_setup_req |
object | |
rx_timing_setup_req |
object | |
tx_param_setup_req |
object |
Schema
{
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACCommandIdentifier
Supported values
CID_RFU_0
CID_RESET
CID_LINK_CHECK
CID_LINK_ADR
CID_DUTY_CYCLE
CID_RX_PARAM_SETUP
CID_DEV_STATUS
CID_NEW_CHANNEL
CID_RX_TIMING_SETUP
CID_TX_PARAM_SETUP
CID_DL_CHANNEL
CID_REKEY
CID_ADR_PARAM_SETUP
CID_DEVICE_TIME
CID_FORCE_REJOIN
CID_REJOIN_PARAM_SETUP
CID_PING_SLOT_INFO
CID_PING_SLOT_CHANNEL
CID_BEACON_TIMING
CID_BEACON_FREQ
CID_DEVICE_MODE
CID_RELAY_CONF
CID_RELAY_END_DEVICE_CONF
CID_RELAY_FILTER_LIST
CID_RELAY_UPDATE_UPLINK_LIST
CID_RELAY_CTRL_UPLINK_LIST
CID_RELAY_CONFIGURE_FWD_LIMIT
CID_RELAY_NOTIFY_NEW_END_DEVICE
Default: CID_RFU_0
MACParameters
Fields
Name | Type | Description |
---|---|---|
adr_ack_delay |
integer | 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. |
adr_ack_delay_exponent |
object | |
adr_ack_limit |
integer | ADR: number of messages to wait before setting ADRAckReq. This field is deprecated, use adr_ack_limit_exponent instead. |
adr_ack_limit_exponent |
object | |
adr_data_rate_index |
string | |
adr_nb_trans |
integer | ADR: number of retransmissions. |
adr_tx_power_index |
integer | ADR: transmission power index to use. |
beacon_frequency |
string | Frequency of the class B beacon (Hz). |
channels |
object | Configured uplink channels and optionally Rx1 frequency. |
downlink_dwell_time |
object | |
max_duty_cycle |
string | - DUTY_CYCLE_1: 100%. - DUTY_CYCLE_2: 50%. - DUTY_CYCLE_4: 25%. - DUTY_CYCLE_8: 12.5%. - DUTY_CYCLE_16: 6.25%. - DUTY_CYCLE_32: 3.125%. - DUTY_CYCLE_64: 1.5625%. - DUTY_CYCLE_128: Roughly 0.781%. - DUTY_CYCLE_256: Roughly 0.390%. - DUTY_CYCLE_512: Roughly 0.195%. - DUTY_CYCLE_1024: Roughly 0.098%. - DUTY_CYCLE_2048: Roughly 0.049%. - DUTY_CYCLE_4096: Roughly 0.024%. - DUTY_CYCLE_8192: Roughly 0.012%. - DUTY_CYCLE_16384: Roughly 0.006%. - DUTY_CYCLE_32768: Roughly 0.003%. |
max_eirp |
number | Maximum EIRP (dBm). |
ping_slot_data_rate_index |
string | |
ping_slot_data_rate_index_value |
object | |
ping_slot_frequency |
string | Frequency of the class B ping slot (Hz). |
rejoin_count_periodicity |
string | |
rejoin_time_periodicity |
string | - REJOIN_TIME_0: Every ~17.1 minutes. - REJOIN_TIME_1: Every ~34.1 minutes. - REJOIN_TIME_2: Every ~1.1 hours. - REJOIN_TIME_3: Every ~2.3 hours. - REJOIN_TIME_4: Every ~4.6 hours. - REJOIN_TIME_5: Every ~9.1 hours. - REJOIN_TIME_6: Every ~18.2 hours. - REJOIN_TIME_7: Every ~1.5 days. - REJOIN_TIME_8: Every ~3.0 days. - REJOIN_TIME_9: Every ~6.1 days. - REJOIN_TIME_10: Every ~12.1 days. - REJOIN_TIME_11: Every ~3.5 weeks. - REJOIN_TIME_12: Every ~1.6 months. - REJOIN_TIME_13: Every ~3.2 months. - REJOIN_TIME_14: Every ~6.4 months. - REJOIN_TIME_15: Every ~1.1 year. |
relay |
object | RelayParameters represent the parameters of a relay. This is used internally by the Network Server. |
rx1_data_rate_offset |
string | |
rx1_delay |
string | - RX_DELAY_0: 1 second. - RX_DELAY_1: 1 second. - RX_DELAY_2: 2 seconds. - RX_DELAY_3: 3 seconds. - RX_DELAY_4: 4 seconds. - RX_DELAY_5: 5 seconds. - RX_DELAY_6: 6 seconds. - RX_DELAY_7: 7 seconds. - RX_DELAY_8: 8 seconds. - RX_DELAY_9: 9 seconds. - RX_DELAY_10: 10 seconds. - RX_DELAY_11: 11 seconds. - RX_DELAY_12: 12 seconds. - RX_DELAY_13: 13 seconds. - RX_DELAY_14: 14 seconds. - RX_DELAY_15: 15 seconds. |
rx2_data_rate_index |
string | |
rx2_frequency |
string | Frequency for Rx2 (Hz). |
uplink_dwell_time |
object |
Schema
{
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACParametersChannel
Fields
Name | Type | Description |
---|---|---|
downlink_frequency |
string | Downlink frequency of the channel (Hz). |
enable_uplink |
boolean | Channel can be used by device for uplink. |
max_data_rate_index |
string | |
min_data_rate_index |
string | |
uplink_frequency |
string | Uplink frequency of the channel (Hz). |
Schema
{
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
MACSettings
Fields
Name | Type | Description |
---|---|---|
adr |
object | Adaptive Data Rate settings. |
adr_margin |
number | 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. |
beacon_frequency |
object | |
class_b_c_downlink_interval |
string | The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink. |
class_b_timeout |
string | 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. |
class_c_timeout |
string | 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. |
desired_adr_ack_delay_exponent |
object | |
desired_adr_ack_limit_exponent |
object | |
desired_beacon_frequency |
object | |
desired_max_duty_cycle |
object | |
desired_max_eirp |
object | |
desired_ping_slot_data_rate_index |
object | |
desired_ping_slot_frequency |
object | |
desired_relay |
object | RelaySettings represent the settings of a relay. This is used internally by the Network Server. |
desired_rx1_data_rate_offset |
object | |
desired_rx1_delay |
object | |
desired_rx2_data_rate_index |
object | |
desired_rx2_frequency |
object | |
downlink_dwell_time |
object | |
factory_preset_frequencies |
string | List of factory-preset frequencies. If unset, the default value from Network Server configuration or regional parameters specification will be used. |
max_duty_cycle |
object | |
ping_slot_data_rate_index |
object | |
ping_slot_frequency |
object | |
ping_slot_periodicity |
object | |
relay |
object | RelaySettings represent the settings of a relay. This is used internally by the Network Server. |
resets_f_cnt |
object | |
rx1_data_rate_offset |
object | |
rx1_delay |
object | |
rx2_data_rate_index |
object | |
rx2_frequency |
object | |
schedule_downlinks |
object | |
status_count_periodicity |
integer | Number of uplink messages after which a DevStatusReq MACCommand shall be sent. If unset, the default value from Network Server configuration will be used. |
status_time_periodicity |
string | The interval after which a DevStatusReq MACCommand shall be sent. If unset, the default value from Network Server configuration will be used. |
supports_32_bit_f_cnt |
object | |
uplink_dwell_time |
object | |
use_adr |
object |
Schema
{
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACState
Fields
Name | Type | Description |
---|---|---|
current_parameters |
object | MACParameters represent the parameters of the device's MAC layer (active or desired). This is used internally by the Network Server. |
desired_parameters |
object | MACParameters represent the parameters of the device's MAC layer (active or desired). This is used internally by the Network Server. |
device_class |
string | |
last_adr_change_f_cnt_up |
integer | Frame counter of uplink, which confirmed the last ADR parameter change. |
last_confirmed_downlink_at |
string | Time when the last confirmed downlink message or MAC command was scheduled. |
last_dev_status_f_cnt_up |
integer | Frame counter value of last uplink containing DevStatusAns. |
last_downlink_at |
string | Time when the last downlink message was scheduled. |
last_network_initiated_downlink_at |
string | Time when the last network-initiated downlink message was scheduled. |
lorawan_version |
string | |
pending_application_downlink |
object | |
pending_join_request |
object | |
pending_relay_downlink |
object | |
pending_requests |
object | Pending MAC requests(i.e. sent requests, for which no response has been received yet). Regenerated on each downlink. |
ping_slot_periodicity |
object | |
queued_join_accept |
object | |
queued_responses |
object | Queued MAC responses. Regenerated on each uplink. |
recent_downlinks |
object | Recent data downlink messages sorted by time. The number of messages stored may depend on configuration. |
recent_mac_command_identifiers |
string | 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. |
recent_uplinks |
object | Recent data uplink messages sorted by time. The number of messages stored may depend on configuration. |
rejected_adr_data_rate_indexes |
string | ADR Data rate index values rejected by the device. Reset each time `current_parameters.channels` change. Elements are sorted in ascending order. |
rejected_adr_tx_power_indexes |
integer | ADR TX output power index values rejected by the device. Elements are sorted in ascending order. |
rejected_data_rate_ranges |
object | Data rate ranges rejected by the device per frequency. |
rejected_frequencies |
string | Frequencies rejected by the device. |
rx_windows_available |
boolean | 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. |
Schema
{
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
MACStateDownlinkMessage
Fields
Name | Type | Description |
---|---|---|
correlation_ids |
string | |
payload |
object |
Schema
{
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACStateJoinRequest
Fields
Name | Type | Description |
---|---|---|
cf_list |
object | |
downlink_settings |
object | |
rx_delay |
string | - RX_DELAY_0: 1 second. - RX_DELAY_1: 1 second. - RX_DELAY_2: 2 seconds. - RX_DELAY_3: 3 seconds. - RX_DELAY_4: 4 seconds. - RX_DELAY_5: 5 seconds. - RX_DELAY_6: 6 seconds. - RX_DELAY_7: 7 seconds. - RX_DELAY_8: 8 seconds. - RX_DELAY_9: 9 seconds. - RX_DELAY_10: 10 seconds. - RX_DELAY_11: 11 seconds. - RX_DELAY_12: 12 seconds. - RX_DELAY_13: 13 seconds. - RX_DELAY_14: 14 seconds. - RX_DELAY_15: 15 seconds. |
Schema
{
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
MACStateUplinkMessage
Fields
Name | Type | Description |
---|---|---|
correlation_ids |
string | |
device_channel_index |
integer | |
payload |
object | |
received_at |
string | |
rx_metadata |
object | |
settings |
object |
Schema
{
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MACVersion
Supported values
MAC_UNKNOWN
MAC_V1_0
MAC_V1_0_1
MAC_V1_0_2
MAC_V1_1
MAC_V1_0_3
MAC_V1_0_4
Default: MAC_UNKNOWN
MQTTConnectionInfo
Fields
Name | Type | Description |
---|---|---|
public_address |
string | The public listen address of the frontend. |
public_tls_address |
string | The public listen address of the TLS frontend. |
username |
string | The username to be used for authentication. |
Schema
{
"public_address": {
"description": "The public listen address of the frontend.",
"type": "string"
},
"public_tls_address": {
"description": "The public listen address of the TLS frontend.",
"type": "string"
},
"username": {
"description": "The username to be used for authentication.",
"type": "string"
}
}
Show the schema of the message in JSON format.
MType
Supported values
JOIN_REQUEST
JOIN_ACCEPT
UNCONFIRMED_UP
UNCONFIRMED_DOWN
CONFIRMED_UP
CONFIRMED_DOWN
REJOIN_REQUEST
PROPRIETARY
Default: JOIN_REQUEST
Major
Supported values
LORAWAN_R1
Default: LORAWAN_R1
ManagedGateway
Fields
Name | Type | Description |
---|---|---|
cellular_imei |
string | |
cellular_imsi |
string | |
ethernet_mac_address |
string | |
ethernet_profile_id |
string | |
ids |
object | |
version_ids |
object | Identifies an end device model with version information. |
wifi_mac_address |
string | |
wifi_profile_id |
string |
Schema
{
"cellular_imei": {
"type": "string"
},
"cellular_imsi": {
"type": "string"
},
"ethernet_mac_address": {
"example": "EC656E000100",
"format": "string",
"type": "string"
},
"ethernet_profile_id": {
"type": "string"
},
"ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
},
"runtime_version": {
"type": "string"
}
},
"type": "object"
},
"wifi_mac_address": {
"example": "EC656E000100",
"format": "string",
"type": "string"
},
"wifi_profile_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ManagedGatewayCellularBackhaul
Fields
Name | Type | Description |
---|---|---|
network_interface |
object | |
operator |
string | |
rssi |
number |
Schema
{
"network_interface": {
"properties": {
"addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"dhcp_enabled": {
"type": "boolean"
},
"status": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_DOWN",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UP",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_FAILED"
],
"type": "string"
}
},
"type": "object"
},
"operator": {
"type": "string"
},
"rssi": {
"format": "float",
"type": "number"
}
}
Show the schema of the message in JSON format.
ManagedGatewayConfigurationServiceUpdateBody
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | The names of the gateway fields that should be updated. |
gateway |
object |
Schema
{
"field_mask": {
"description": "The names of the gateway fields that should be updated.",
"type": "string"
},
"gateway": {
"properties": {
"cellular_imei": {
"type": "string"
},
"cellular_imsi": {
"type": "string"
},
"ethernet_mac_address": {
"example": "EC656E000100",
"format": "string",
"type": "string"
},
"ethernet_profile_id": {
"type": "string"
},
"ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
},
"runtime_version": {
"type": "string"
}
},
"type": "object"
},
"wifi_mac_address": {
"example": "EC656E000100",
"format": "string",
"type": "string"
},
"wifi_profile_id": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ManagedGatewayControllerConnection
Fields
Name | Type | Description |
---|---|---|
network_interface_type |
string |
Schema
{
"network_interface_type": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_CELLULAR",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_WIFI",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_ETHERNET"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
ManagedGatewayEthernetBackhaul
Fields
Name | Type | Description |
---|---|---|
network_interface |
object |
Schema
{
"network_interface": {
"properties": {
"addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"dhcp_enabled": {
"type": "boolean"
},
"status": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_DOWN",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UP",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_FAILED"
],
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ManagedGatewayEthernetProfile
Fields
Name | Type | Description |
---|---|---|
network_interface_addresses |
object | |
profile_id |
string | |
profile_name |
string | |
shared |
boolean |
Schema
{
"network_interface_addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"profile_id": {
"type": "string"
},
"profile_name": {
"type": "string"
},
"shared": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
ManagedGatewayEthernetProfileConfigurationServiceCreateBody
Fields
Name | Type | Description |
---|---|---|
collaborator |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
profile |
object |
Schema
{
"collaborator": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"profile": {
"properties": {
"network_interface_addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"profile_id": {
"type": "string"
},
"profile_name": {
"type": "string"
},
"shared": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ManagedGatewayEthernetProfileConfigurationServiceUpdateBody
Fields
Name | Type | Description |
---|---|---|
collaborator |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
field_mask |
string | The names of the gateway fields that should be updated. |
profile |
object |
Schema
{
"collaborator": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the gateway fields that should be updated.",
"type": "string"
},
"profile": {
"properties": {
"network_interface_addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"profile_name": {
"type": "string"
},
"shared": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ManagedGatewayEthernetProfiles
Fields
Name | Type | Description |
---|---|---|
profiles |
object |
Schema
{
"profiles": {
"items": {
"properties": {
"network_interface_addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"profile_id": {
"type": "string"
},
"profile_name": {
"type": "string"
},
"shared": {
"type": "boolean"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ManagedGatewayEventData
Fields
Name | Type | Description |
---|---|---|
cellular_backhaul |
object | |
controller_connection |
object | |
entity |
object | |
ethernet_backhaul |
object | |
gateway_server_connection |
object | |
location |
object | |
system_status |
object | |
wifi_backhaul |
object |
Schema
{
"cellular_backhaul": {
"properties": {
"network_interface": {
"properties": {
"addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"dhcp_enabled": {
"type": "boolean"
},
"status": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_DOWN",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UP",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_FAILED"
],
"type": "string"
}
},
"type": "object"
},
"operator": {
"type": "string"
},
"rssi": {
"format": "float",
"type": "number"
}
},
"type": "object"
},
"controller_connection": {
"properties": {
"network_interface_type": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_CELLULAR",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_WIFI",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_ETHERNET"
],
"type": "string"
}
},
"type": "object"
},
"entity": {
"properties": {
"cellular_imei": {
"type": "string"
},
"cellular_imsi": {
"type": "string"
},
"ethernet_mac_address": {
"example": "EC656E000100",
"format": "string",
"type": "string"
},
"ethernet_profile_id": {
"type": "string"
},
"ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
},
"runtime_version": {
"type": "string"
}
},
"type": "object"
},
"wifi_mac_address": {
"example": "EC656E000100",
"format": "string",
"type": "string"
},
"wifi_profile_id": {
"type": "string"
}
},
"type": "object"
},
"ethernet_backhaul": {
"properties": {
"network_interface": {
"properties": {
"addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"dhcp_enabled": {
"type": "boolean"
},
"status": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_DOWN",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UP",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_FAILED"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"gateway_server_connection": {
"properties": {
"address": {
"type": "string"
},
"network_interface_type": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_CELLULAR",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_WIFI",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_ETHERNET"
],
"type": "string"
}
},
"type": "object"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"system_status": {
"properties": {
"cpu_temperature": {
"description": "CPU temperature (Celsius).",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"wifi_backhaul": {
"properties": {
"authentication_mode": {
"type": "string"
},
"bssid": {
"example": "EC656E000100",
"format": "string",
"type": "string"
},
"channel": {
"format": "int64",
"type": "integer"
},
"network_interface": {
"properties": {
"addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"dhcp_enabled": {
"type": "boolean"
},
"status": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_DOWN",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UP",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_FAILED"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"format": "float",
"type": "number"
},
"ssid": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ManagedGatewayGatewayServerConnection
Fields
Name | Type | Description |
---|---|---|
address |
string | |
network_interface_type |
string |
Schema
{
"address": {
"type": "string"
},
"network_interface_type": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_CELLULAR",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_WIFI",
"MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_ETHERNET"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
ManagedGatewayNetworkInterfaceAddresses
Fields
Name | Type | Description |
---|---|---|
dns_servers |
string | |
gateway |
string | |
ip_addresses |
string | |
subnet_mask |
string |
Schema
{
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
}
Show the schema of the message in JSON format.
ManagedGatewayNetworkInterfaceInfo
Fields
Name | Type | Description |
---|---|---|
addresses |
object | |
dhcp_enabled |
boolean | |
status |
string |
Schema
{
"addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"dhcp_enabled": {
"type": "boolean"
},
"status": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_DOWN",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UP",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_FAILED"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
ManagedGatewayNetworkInterfaceStatus
Supported values
MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED
MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_DOWN
MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UP
MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_FAILED
Default: MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED
ManagedGatewayNetworkInterfaceType
Supported values
MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_UNSPECIFIED
MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_CELLULAR
MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_WIFI
MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_ETHERNET
Default: MANAGED_GATEWAY_NETWORK_INTERFACE_TYPE_UNSPECIFIED
ManagedGatewaySystemStatus
Fields
Name | Type | Description |
---|---|---|
cpu_temperature |
number | CPU temperature (Celsius). |
Schema
{
"cpu_temperature": {
"description": "CPU temperature (Celsius).",
"format": "float",
"type": "number"
}
}
Show the schema of the message in JSON format.
ManagedGatewayWiFiAccessPoint
Fields
Name | Type | Description |
---|---|---|
authentication_mode |
string | |
bssid |
string | |
channel |
integer | |
rssi |
number | |
ssid |
string |
Schema
{
"authentication_mode": {
"type": "string"
},
"bssid": {
"example": "EC656E000100",
"format": "string",
"type": "string"
},
"channel": {
"format": "int64",
"type": "integer"
},
"rssi": {
"format": "float",
"type": "number"
},
"ssid": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ManagedGatewayWiFiAccessPoints
Fields
Name | Type | Description |
---|---|---|
access_points |
object |
Schema
{
"access_points": {
"items": {
"properties": {
"authentication_mode": {
"type": "string"
},
"bssid": {
"example": "EC656E000100",
"format": "string",
"type": "string"
},
"channel": {
"format": "int64",
"type": "integer"
},
"rssi": {
"format": "float",
"type": "number"
},
"ssid": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ManagedGatewayWiFiBackhaul
Fields
Name | Type | Description |
---|---|---|
authentication_mode |
string | |
bssid |
string | |
channel |
integer | |
network_interface |
object | |
rssi |
number | |
ssid |
string |
Schema
{
"authentication_mode": {
"type": "string"
},
"bssid": {
"example": "EC656E000100",
"format": "string",
"type": "string"
},
"channel": {
"format": "int64",
"type": "integer"
},
"network_interface": {
"properties": {
"addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"dhcp_enabled": {
"type": "boolean"
},
"status": {
"default": "MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"enum": [
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UNSPECIFIED",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_DOWN",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_UP",
"MANAGED_GATEWAY_NETWORK_INTERFACE_STATUS_FAILED"
],
"type": "string"
}
},
"type": "object"
},
"rssi": {
"format": "float",
"type": "number"
},
"ssid": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ManagedGatewayWiFiProfile
Fields
Name | Type | Description |
---|---|---|
network_interface_addresses |
object | |
password |
string | |
profile_id |
string | |
profile_name |
string | |
shared |
boolean | |
ssid |
string |
Schema
{
"network_interface_addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"password": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"profile_name": {
"type": "string"
},
"shared": {
"type": "boolean"
},
"ssid": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ManagedGatewayWiFiProfileConfigurationServiceCreateBody
Fields
Name | Type | Description |
---|---|---|
collaborator |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
profile |
object |
Schema
{
"collaborator": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"profile": {
"properties": {
"network_interface_addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"password": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"profile_name": {
"type": "string"
},
"shared": {
"type": "boolean"
},
"ssid": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ManagedGatewayWiFiProfileConfigurationServiceUpdateBody
Fields
Name | Type | Description |
---|---|---|
collaborator |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
field_mask |
string | The names of the gateway fields that should be updated. |
profile |
object |
Schema
{
"collaborator": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the gateway fields that should be updated.",
"type": "string"
},
"profile": {
"properties": {
"network_interface_addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"password": {
"type": "string"
},
"profile_name": {
"type": "string"
},
"shared": {
"type": "boolean"
},
"ssid": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ManagedGatewayWiFiProfiles
Fields
Name | Type | Description |
---|---|---|
profiles |
object |
Schema
{
"profiles": {
"items": {
"properties": {
"network_interface_addresses": {
"properties": {
"dns_servers": {
"example": [
"192.0.2.0",
"192.0.2.1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"gateway": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
},
"ip_addresses": {
"example": [
"192.0.2.0",
"2001:db8::1"
],
"items": {
"format": "string",
"type": "string"
},
"type": "string"
},
"subnet_mask": {
"example": "192.0.2.0",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"password": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"profile_name": {
"type": "string"
},
"shared": {
"type": "boolean"
},
"ssid": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
MessagePayloadDecoder
Fields
Name | Type | Description |
---|---|---|
codec_id |
string | |
examples |
object | |
formatter |
string | - FORMATTER_NONE: No payload formatter to work with raw payload only. - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository. - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service. - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename. - FORMATTER_CAYENNELPP: CayenneLPP payload formatter. More payload formatters can be added. |
formatter_parameter |
string | Parameter for the formatter, must be set together. |
Schema
{
"codec_id": {
"type": "string"
},
"examples": {
"items": {
"properties": {
"description": {
"type": "string"
},
"input": {
"properties": {
"errors": {
"items": {
"type": "string"
},
"type": "array"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"output": {
"properties": {
"data": {
"type": "object"
},
"errors": {
"items": {
"type": "string"
},
"type": "array"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"formatter_parameter": {
"description": "Parameter for the formatter, must be set together.",
"type": "string"
}
}
Show the schema of the message in JSON format.
MessagePayloadDecoderExample
Fields
Name | Type | Description |
---|---|---|
description |
string | |
input |
object | |
output |
object |
Schema
{
"description": {
"type": "string"
},
"input": {
"properties": {
"errors": {
"items": {
"type": "string"
},
"type": "array"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"output": {
"properties": {
"data": {
"type": "object"
},
"errors": {
"items": {
"type": "string"
},
"type": "array"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MessagePayloadEncoder
Fields
Name | Type | Description |
---|---|---|
codec_id |
string | |
examples |
object | |
formatter |
string | - FORMATTER_NONE: No payload formatter to work with raw payload only. - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository. - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service. - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename. - FORMATTER_CAYENNELPP: CayenneLPP payload formatter. More payload formatters can be added. |
formatter_parameter |
string | Parameter for the formatter, must be set together. |
Schema
{
"codec_id": {
"type": "string"
},
"examples": {
"items": {
"properties": {
"description": {
"type": "string"
},
"input": {
"properties": {
"data": {
"type": "object"
},
"errors": {
"items": {
"type": "string"
},
"type": "array"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"output": {
"properties": {
"errors": {
"items": {
"type": "string"
},
"type": "array"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"formatter_parameter": {
"description": "Parameter for the formatter, must be set together.",
"type": "string"
}
}
Show the schema of the message in JSON format.
MessagePayloadEncoderExample
Fields
Name | Type | Description |
---|---|---|
description |
string | |
input |
object | |
output |
object |
Schema
{
"description": {
"type": "string"
},
"input": {
"properties": {
"data": {
"type": "object"
},
"errors": {
"items": {
"type": "string"
},
"type": "array"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"output": {
"properties": {
"errors": {
"items": {
"type": "string"
},
"type": "array"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
MessagePayloadFormatters
Fields
Name | Type | Description |
---|---|---|
down_formatter |
string | - FORMATTER_NONE: No payload formatter to work with raw payload only. - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository. - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service. - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename. - FORMATTER_CAYENNELPP: CayenneLPP payload formatter. More payload formatters can be added. |
down_formatter_parameter |
string | 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. |
up_formatter |
string | - FORMATTER_NONE: No payload formatter to work with raw payload only. - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository. - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service. - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename. - FORMATTER_CAYENNELPP: CayenneLPP payload formatter. More payload formatters can be added. |
up_formatter_parameter |
string | 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. |
Schema
{
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
}
Show the schema of the message in JSON format.
Minor
Supported values
MINOR_RFU_0
MINOR_1
MINOR_RFU_2
MINOR_RFU_3
MINOR_RFU_4
MINOR_RFU_5
MINOR_RFU_6
MINOR_RFU_7
MINOR_RFU_8
MINOR_RFU_9
MINOR_RFU_10
MINOR_RFU_11
MINOR_RFU_12
MINOR_RFU_13
MINOR_RFU_14
MINOR_RFU_15
Default: MINOR_RFU_0
NetworkIdentifiers
Fields
Name | Type | Description |
---|---|---|
cluster_address |
string | Cluster address of the Network Server. |
cluster_id |
string | Cluster identifier of the Network Server. |
net_id |
string | LoRa Alliance NetID. |
ns_id |
string | LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance. |
tenant_address |
string | Optional tenant address for multi-tenant deployments. |
tenant_id |
string | Optional tenant identifier for multi-tenant deployments. |
Schema
{
"cluster_address": {
"description": "Cluster address of the Network Server.",
"type": "string"
},
"cluster_id": {
"description": "Cluster identifier of the Network Server.",
"type": "string"
},
"net_id": {
"description": "LoRa Alliance NetID.",
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"description": "LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"tenant_address": {
"description": "Optional tenant address for multi-tenant deployments.",
"type": "string"
},
"tenant_id": {
"description": "Optional tenant identifier for multi-tenant deployments.",
"type": "string"
}
}
Show the schema of the message in JSON format.
NocConfiguration
Fields
Name | Type | Description |
---|---|---|
access |
object |
Schema
{
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
NocConfigurationAccess
Fields
Name | Type | Description |
---|---|---|
extended |
boolean |
Schema
{
"extended": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
Notification
Fields
Name | Type | Description |
---|---|---|
created_at |
string | The time when the notification was triggered. |
data |
object | `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); } Example 3: Pack and unpack a message in Python. foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a message in Go foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... } The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z". JSON ==== The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example: package google.profile; message Person { string first_name = 1; string last_name = 2; } { "@type": "type.googleapis.com/google.profile.Person", "firstName": <string>, "lastName": <string> } If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]): { "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } |
email |
boolean | Whether an email was sent for the notification. |
entity_ids |
object | EntityIdentifiers contains one of the possible entity identifiers. |
id |
string | The immutable ID of the notification. Generated by the server. |
notification_type |
string | The type of this notification. |
receivers |
string | Relation of the notification receiver to the entity. |
sender_ids |
object | |
status |
string | |
status_updated_at |
string | The time when the notification status was updated. |
Schema
{
"created_at": {
"description": "The time when the notification was triggered.",
"format": "date-time",
"type": "string"
},
"data": {
"additionalProperties": {},
"description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }",
"properties": {
"@type": {
"description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
"type": "string"
}
},
"type": "object"
},
"email": {
"description": "Whether an email was sent for the notification.",
"type": "boolean"
},
"entity_ids": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"id": {
"description": "The immutable ID of the notification. Generated by the server.",
"type": "string"
},
"notification_type": {
"description": "The type of this notification.",
"type": "string"
},
"receivers": {
"description": "Relation of the notification receiver to the entity.",
"items": {
"default": "NOTIFICATION_RECEIVER_UNKNOWN",
"description": " - NOTIFICATION_RECEIVER_COLLABORATOR: Notification is received by collaborators of the entity.\nIf the collaborator is an organization, the notification is received by organization members.\n - NOTIFICATION_RECEIVER_ADMINISTRATIVE_CONTACT: Notification is received by administrative contact of the entity.\nIf this is an organization, the notification is received by organization members.\n - NOTIFICATION_RECEIVER_TECHNICAL_CONTACT: Notification is received by technical contact of the entity.\nIf this is an organization, the notification is received by organization members.",
"enum": [
"NOTIFICATION_RECEIVER_UNKNOWN",
"NOTIFICATION_RECEIVER_COLLABORATOR",
"NOTIFICATION_RECEIVER_ADMINISTRATIVE_CONTACT",
"NOTIFICATION_RECEIVER_TECHNICAL_CONTACT"
],
"type": "string"
},
"type": "array"
},
"sender_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"status": {
"default": "NOTIFICATION_STATUS_UNSEEN",
"enum": [
"NOTIFICATION_STATUS_UNSEEN",
"NOTIFICATION_STATUS_SEEN",
"NOTIFICATION_STATUS_ARCHIVED"
],
"type": "string"
},
"status_updated_at": {
"description": "The time when the notification status was updated.",
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
NotificationReceiver
Supported values
Name | Description |
---|---|
NOTIFICATION_RECEIVER_COLLABORATOR |
Notification is received by collaborators of the entity. |
NOTIFICATION_RECEIVER_ADMINISTRATIVE_CONTACT |
Notification is received by administrative contact of the entity. |
NOTIFICATION_RECEIVER_TECHNICAL_CONTACT |
Notification is received by technical contact of the entity. |
NotificationStatus
Supported values
NOTIFICATION_STATUS_UNSEEN
NOTIFICATION_STATUS_SEEN
NOTIFICATION_STATUS_ARCHIVED
Default: NOTIFICATION_STATUS_UNSEEN
NsEndDeviceRegistrySetBody
Fields
Name | Type | Description |
---|---|---|
end_device |
object | 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. |
field_mask |
string | 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. |
Schema
{
"end_device": {
"description": "Defines an End Device registration and its state on the network.\nThe persistence of the EndDevice is divided between the Network Server, Application Server and Join Server.\nSDKs are responsible for combining (if desired) the three.",
"properties": {
"activated_at": {
"description": "Timestamp when the device has been activated. Stored in the Entity Registry.\nThis field is set by the Application Server when an end device sends\nits first uplink.\nThe Application Server will use the field in order to avoid repeated\ncalls to the Entity Registry.\nThe field cannot be unset once set.",
"format": "date-time",
"type": "string"
},
"application_server_address": {
"description": "The address of the Application Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"application_server_id": {
"description": "The AS-ID of the Application Server to use.\nStored in Join Server.",
"type": "string"
},
"application_server_kek_label": {
"description": "The KEK label of the Application Server to use for wrapping the application session key.\nStored in Join Server.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "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.",
"type": "object"
},
"battery_percentage": {
"description": "Latest-known battery percentage of the device.\nReceived via the DevStatus MAC command at last_dev_status_received_at or earlier.\nStored in Network Server.",
"format": "float",
"type": "number"
},
"claim_authentication_code": {
"description": "Authentication code for end devices.",
"properties": {
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "Description of the device. Stored in Entity Registry.",
"type": "string"
},
"downlink_margin": {
"description": "Demodulation signal-to-noise ratio (dB).\nReceived via the DevStatus MAC command at last_dev_status_received_at.\nStored in Network Server.",
"format": "int32",
"type": "integer"
},
"formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"frequency_plan_id": {
"description": "ID of the frequency plan used by this device.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this device is supposed to be registered.\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"last_dev_nonce": {
"description": "Last DevNonce used.\nThis field is only used for devices using LoRaWAN version 1.1 and later.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_dev_status_received_at": {
"description": "Time when last DevStatus MAC command was received.\nStored in Network Server.",
"format": "date-time",
"type": "string"
},
"last_join_nonce": {
"description": "Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_0": {
"description": "Last Rejoin counter value used (type 0/2).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_1": {
"description": "Last Rejoin counter value used (type 1).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_seen_at": {
"description": "Timestamp when a device uplink has been last observed.\nThis field is set by the Application Server and stored in the Identity Server.",
"format": "date-time",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "Location of the device. Stored in Entity Registry.",
"type": "object"
},
"lora_alliance_profile_ids": {
"properties": {
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lorawan_phy_version": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"mac_settings": {
"properties": {
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"max_frequency": {
"description": "Maximum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"min_frequency": {
"description": "Minimum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"multicast": {
"description": "Indicates whether this device represents a multicast group.",
"type": "boolean"
},
"name": {
"description": "Friendly name of the device. Stored in Entity Registry.",
"type": "string"
},
"net_id": {
"description": "Home NetID. Stored in Join Server.",
"example": "000013",
"format": "string",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"network_server_kek_label": {
"description": "The KEK label of the Network Server to use for wrapping network session keys.\nStored in Join Server.",
"type": "string"
},
"pending_mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"pending_session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"power_state": {
"default": "POWER_UNKNOWN",
"description": "Power state of the device.",
"enum": [
"POWER_UNKNOWN",
"POWER_BATTERY",
"POWER_EXTERNAL"
],
"type": "string"
},
"provisioner_id": {
"description": "ID of the provisioner. Stored in Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data. Stored in Join Server.",
"type": "object"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server,\nwhich sets them on the Network Server.\nThis field is deprecated and is always set equal to session.queued_application_downlinks.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resets_join_nonces": {
"description": "Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"root_keys": {
"description": "Root keys for a LoRaWAN device.\nThese are stored on the Join Server.",
"properties": {
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
},
"type": "object"
},
"serial_number": {
"type": "string"
},
"service_profile_id": {
"description": "Default service profile. Stored in Entity Registry.",
"type": "string"
},
"session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field is deprecated, use skip_payload_crypto_override instead.",
"type": "boolean"
},
"skip_payload_crypto_override": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field overrides the application-level setting.",
"type": "boolean"
},
"supports_class_b": {
"description": "Whether the device supports class B.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_class_c": {
"description": "Whether the device supports class C.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_join": {
"description": "The device supports join (it's OTAA).\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"used_dev_nonces": {
"description": "Used DevNonces sorted in ascending order.\nThis field is only used for devices using LoRaWAN versions preceding 1.1.\nStored in Join Server.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the end device fields that should be updated.\nSee the API reference for which fields can be set on the different services.",
"type": "string"
}
}
Show the schema of the message in JSON format.
NwkSKeysResponse
Fields
Name | Type | Description |
---|---|---|
f_nwk_s_int_key |
object | |
nwk_s_enc_key |
object | |
s_nwk_s_int_key |
object |
Schema
{
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
OAuthAccessToken
Fields
Name | Type | Description |
---|---|---|
access_token |
string | |
client_ids |
object | |
created_at |
string | |
expires_at |
string | |
id |
string | |
refresh_token |
string | |
rights |
string | |
user_ids |
object | |
user_session_id |
string |
Schema
{
"access_token": {
"type": "string"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"id": {
"type": "string"
},
"refresh_token": {
"type": "string"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"user_session_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
OAuthAccessTokens
Fields
Name | Type | Description |
---|---|---|
tokens |
object |
Schema
{
"tokens": {
"items": {
"properties": {
"access_token": {
"type": "string"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"id": {
"type": "string"
},
"refresh_token": {
"type": "string"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"user_session_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
OAuthClientAuthorization
Fields
Name | Type | Description |
---|---|---|
client_ids |
object | |
created_at |
string | |
rights |
string | |
updated_at |
string | |
user_ids |
object |
Schema
{
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
OAuthClientAuthorizations
Fields
Name | Type | Description |
---|---|---|
authorizations |
object |
Schema
{
"authorizations": {
"items": {
"properties": {
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
Organization
Fields
Name | Type | Description |
---|---|---|
administrative_contact |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
application_limit |
string | The maximum number of applications of the organization. This field can only be modified by admins. |
attributes |
object | Key-value attributes for this organization. Typically used for organizing organizations or for storing integration-specific data. |
client_limit |
string | The maximum number of clients of the organization. This field can only be modified by admins. |
contact_info |
object | Contact information for this organization. Typically used to indicate who to contact with security/billing questions about the organization. This field is deprecated. Use administrative_contact and technical_contact instead. |
created_at |
string | When the organization was created. This information is public and can be seen by any authenticated user in the network. |
deleted_at |
string | When the organization was deleted. This information is public and can be seen by any authenticated user in the network. |
description |
string | A description for the organization. |
fanout_notifications |
boolean | Determines if a notification will be sent to the collaborators. If false it, notifications will be sent only to the administrative or technical contact. |
gateway_limit |
string | The maximum number of gateways of the organization. This field can only be modified by admins. |
ids |
object | |
name |
string | The name of the organization. This information is public and can be seen by any authenticated user in the network. |
technical_contact |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
updated_at |
string | When the organization was last updated. This information is public and can be seen by any authenticated user in the network. |
Schema
{
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"application_limit": {
"description": "The maximum number of applications of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this organization. Typically used for organizing organizations or for storing integration-specific data.",
"type": "object"
},
"client_limit": {
"description": "The maximum number of clients of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"contact_info": {
"description": "Contact information for this organization. Typically used to indicate who to contact with security/billing questions about the organization.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the organization was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the organization was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the organization.",
"type": "string"
},
"fanout_notifications": {
"description": "Determines if a notification will be sent to the collaborators. If false it, notifications will be sent only to the\nadministrative or technical contact.",
"type": "boolean"
},
"gateway_limit": {
"description": "The maximum number of gateways of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"name": {
"description": "The name of the organization. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the organization was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
OrganizationAccessCreateAPIKeyBody
Fields
Name | Type | Description |
---|---|---|
expires_at |
string | |
name |
string | |
organization_ids |
object | |
rights |
string |
Schema
{
"expires_at": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"organization_ids": {
"type": "object"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
OrganizationAccessSetCollaboratorBody
Fields
Name | Type | Description |
---|---|---|
collaborator |
object | |
organization_ids |
object |
Schema
{
"collaborator": {
"properties": {
"ids": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"organization_ids": {
"type": "object"
}
}
Show the schema of the message in JSON format.
OrganizationAccessUpdateAPIKeyBody
Fields
Name | Type | Description |
---|---|---|
api_key |
object | |
field_mask |
string | The names of the api key fields that should be updated. |
organization_ids |
object |
Schema
{
"api_key": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"key": {
"description": "Immutable and unique secret value of the API key.\nGenerated by the Access Server.",
"type": "string"
},
"name": {
"description": "User-defined (friendly) name for the API key.",
"type": "string"
},
"rights": {
"description": "Rights that are granted to this API key.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the api key fields that should be updated.",
"type": "string"
},
"organization_ids": {
"type": "object"
}
}
Show the schema of the message in JSON format.
OrganizationIdentifiers
Fields
Name | Type | Description |
---|---|---|
organization_id |
string | This ID shares namespace with user IDs. |
Schema
{
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
}
Show the schema of the message in JSON format.
OrganizationOrUserIdentifiers
Fields
Name | Type | Description |
---|---|---|
organization_ids |
object | |
user_ids |
object |
Schema
{
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
OrganizationRegistryCreateBody
Fields
Name | Type | Description |
---|---|---|
collaborator |
object | Collaborator to grant all rights on the newly created application. NOTE: It is currently not possible to have organizations collaborating on other organizations. |
organization |
object |
Schema
{
"collaborator": {
"description": "Collaborator to grant all rights on the newly created application.\nNOTE: It is currently not possible to have organizations collaborating on\nother organizations.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"type": "object"
}
},
"title": "Collaborator to grant all rights on the newly created application.\nNOTE: It is currently not possible to have organizations collaborating on\nother organizations.",
"type": "object"
},
"organization": {
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"application_limit": {
"description": "The maximum number of applications of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this organization. Typically used for organizing organizations or for storing integration-specific data.",
"type": "object"
},
"client_limit": {
"description": "The maximum number of clients of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"contact_info": {
"description": "Contact information for this organization. Typically used to indicate who to contact with security/billing questions about the organization.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the organization was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the organization was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the organization.",
"type": "string"
},
"fanout_notifications": {
"description": "Determines if a notification will be sent to the collaborators. If false it, notifications will be sent only to the\nadministrative or technical contact.",
"type": "boolean"
},
"gateway_limit": {
"description": "The maximum number of gateways of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"name": {
"description": "The name of the organization. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the organization was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
OrganizationRegistryUpdateBody
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | The names of the organization fields that should be updated. |
organization |
object |
Schema
{
"field_mask": {
"description": "The names of the organization fields that should be updated.",
"type": "string"
},
"organization": {
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"application_limit": {
"description": "The maximum number of applications of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this organization. Typically used for organizing organizations or for storing integration-specific data.",
"type": "object"
},
"client_limit": {
"description": "The maximum number of clients of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"contact_info": {
"description": "Contact information for this organization. Typically used to indicate who to contact with security/billing questions about the organization.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the organization was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the organization was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the organization.",
"type": "string"
},
"fanout_notifications": {
"description": "Determines if a notification will be sent to the collaborators. If false it, notifications will be sent only to the\nadministrative or technical contact.",
"type": "boolean"
},
"gateway_limit": {
"description": "The maximum number of gateways of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"description": "The identifiers of the organization. These are public and can be seen by any authenticated user in the network.",
"title": "The identifiers of the organization. These are public and can be seen by any authenticated user in the network.",
"type": "object"
},
"name": {
"description": "The name of the organization. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the organization was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
Organizations
Fields
Name | Type | Description |
---|---|---|
organizations |
object |
Schema
{
"organizations": {
"items": {
"properties": {
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"application_limit": {
"description": "The maximum number of applications of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this organization. Typically used for organizing organizations or for storing integration-specific data.",
"type": "object"
},
"client_limit": {
"description": "The maximum number of clients of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"contact_info": {
"description": "Contact information for this organization. Typically used to indicate who to contact with security/billing questions about the organization.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the organization was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the organization was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the organization.",
"type": "string"
},
"fanout_notifications": {
"description": "Determines if a notification will be sent to the collaborators. If false it, notifications will be sent only to the\nadministrative or technical contact.",
"type": "boolean"
},
"gateway_limit": {
"description": "The maximum number of gateways of the organization.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"name": {
"description": "The name of the organization. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updated_at": {
"description": "When the organization was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
PHYVersion
Supported values
PHY_UNKNOWN
PHY_V1_0
TS001_V1_0
PHY_V1_0_1
TS001_V1_0_1
PHY_V1_0_2_REV_A
RP001_V1_0_2
PHY_V1_0_2_REV_B
RP001_V1_0_2_REV_B
PHY_V1_1_REV_A
RP001_V1_1_REV_A
PHY_V1_1_REV_B
RP001_V1_1_REV_B
PHY_V1_0_3_REV_A
RP001_V1_0_3_REV_A
RP002_V1_0_0
RP002_V1_0_1
RP002_V1_0_2
RP002_V1_0_3
RP002_V1_0_4
Default: PHY_UNKNOWN
PacketBrokerDefaultGatewayVisibility
Fields
Name | Type | Description |
---|---|---|
updated_at |
string | Timestamp when the policy got last updated. |
visibility |
object |
Schema
{
"updated_at": {
"description": "Timestamp when the policy got last updated.",
"format": "date-time",
"type": "string"
},
"visibility": {
"properties": {
"antenna_count": {
"description": "Show antenna count.",
"type": "boolean"
},
"antenna_placement": {
"description": "Show antenna placement (indoor/outdoor).",
"type": "boolean"
},
"contact_info": {
"description": "Show contact information.",
"type": "boolean"
},
"fine_timestamps": {
"description": "Show whether the gateway produces fine timestamps.",
"type": "boolean"
},
"frequency_plan": {
"description": "Show frequency plan.",
"type": "boolean"
},
"location": {
"description": "Show location.",
"type": "boolean"
},
"packet_rates": {
"description": "Show receive and transmission packet rates.",
"type": "boolean"
},
"status": {
"description": "Show status (online/offline).",
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
PacketBrokerDefaultRoutingPolicy
Fields
Name | Type | Description |
---|---|---|
downlink |
object | |
updated_at |
string | Timestamp when the policy got last updated. |
uplink |
object |
Schema
{
"downlink": {
"properties": {
"application_data": {
"description": "Allow downlink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_accept": {
"description": "Allow join-accept messages.",
"type": "boolean"
},
"mac_data": {
"description": "Allow downlink messages with FPort of 0.",
"type": "boolean"
}
},
"type": "object"
},
"updated_at": {
"description": "Timestamp when the policy got last updated.",
"format": "date-time",
"type": "string"
},
"uplink": {
"properties": {
"application_data": {
"description": "Forward uplink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_request": {
"description": "Forward join-request messages.",
"type": "boolean"
},
"localization": {
"description": "Forward gateway location, RSSI, SNR and fine timestamp.",
"type": "boolean"
},
"mac_data": {
"description": "Forward uplink messages with FPort of 0.",
"type": "boolean"
},
"signal_quality": {
"description": "Forward RSSI and SNR.",
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
PacketBrokerDevAddrBlock
Fields
Name | Type | Description |
---|---|---|
dev_addr_prefix |
object | |
home_network_cluster_id |
string |
Schema
{
"dev_addr_prefix": {
"properties": {
"dev_addr": {
"description": "DevAddr base.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"length": {
"description": "Number of most significant bits from dev_addr that are used as prefix.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"home_network_cluster_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
PacketBrokerGateway
Fields
Name | Type | Description |
---|---|---|
administrative_contact |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
antennas |
object | |
contact_info |
object | This field is deprecated. Use administrative_contact and technical_contact instead. |
frequency_plan_ids |
string | |
ids |
object | |
location_public |
boolean | |
online |
boolean | |
rx_rate |
number | Received packets rate (number of packets per hour). This field gets updated when a value is set. |
status_public |
boolean | |
technical_contact |
object | OrganizationOrUserIdentifiers contains either organization or user identifiers. |
tx_rate |
number | Transmitted packets rate (number of packets per hour). This field gets updated when a value is set. |
update_location_from_status |
boolean |
Schema
{
"administrative_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"antennas": {
"items": {
"description": "GatewayAntenna is the message that defines a gateway antenna.",
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"gain": {
"description": "Antenna gain relative to the gateway, in dBi.",
"format": "float",
"type": "number"
},
"location": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"placement": {
"default": "PLACEMENT_UNKNOWN",
"enum": [
"PLACEMENT_UNKNOWN",
"INDOOR",
"OUTDOOR"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"contact_info": {
"description": "This field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"frequency_plan_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"ids": {
"properties": {
"eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"location_public": {
"type": "boolean"
},
"online": {
"type": "boolean"
},
"rx_rate": {
"description": "Received packets rate (number of packets per hour).\nThis field gets updated when a value is set.",
"format": "float",
"type": "number"
},
"status_public": {
"type": "boolean"
},
"technical_contact": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"tx_rate": {
"description": "Transmitted packets rate (number of packets per hour).\nThis field gets updated when a value is set.",
"format": "float",
"type": "number"
},
"update_location_from_status": {
"type": "boolean"
}
}
Show the schema of the message in JSON format.
PacketBrokerGatewayGatewayIdentifiers
Fields
Name | Type | Description |
---|---|---|
eui |
string | |
gateway_id |
string |
Schema
{
"eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
PacketBrokerGatewayVisibility
Fields
Name | Type | Description |
---|---|---|
antenna_count |
boolean | Show antenna count. |
antenna_placement |
boolean | Show antenna placement (indoor/outdoor). |
contact_info |
boolean | Show contact information. |
fine_timestamps |
boolean | Show whether the gateway produces fine timestamps. |
frequency_plan |
boolean | Show frequency plan. |
location |
boolean | Show location. |
packet_rates |
boolean | Show receive and transmission packet rates. |
status |
boolean | Show status (online/offline). |
Schema
{
"antenna_count": {
"description": "Show antenna count.",
"type": "boolean"
},
"antenna_placement": {
"description": "Show antenna placement (indoor/outdoor).",
"type": "boolean"
},
"contact_info": {
"description": "Show contact information.",
"type": "boolean"
},
"fine_timestamps": {
"description": "Show whether the gateway produces fine timestamps.",
"type": "boolean"
},
"frequency_plan": {
"description": "Show frequency plan.",
"type": "boolean"
},
"location": {
"description": "Show location.",
"type": "boolean"
},
"packet_rates": {
"description": "Show receive and transmission packet rates.",
"type": "boolean"
},
"status": {
"description": "Show status (online/offline).",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
PacketBrokerInfo
Fields
Name | Type | Description |
---|---|---|
forwarder_enabled |
boolean | Whether the server is configured as Forwarder (with gateways). |
home_network_enabled |
boolean | Whether the server is configured as Home Network (with end devices). |
register_enabled |
boolean | Whether the registration can be changed. |
registration |
object |
Schema
{
"forwarder_enabled": {
"description": "Whether the server is configured as Forwarder (with gateways).",
"type": "boolean"
},
"home_network_enabled": {
"description": "Whether the server is configured as Home Network (with end devices).",
"type": "boolean"
},
"register_enabled": {
"description": "Whether the registration can be changed.",
"type": "boolean"
},
"registration": {
"properties": {
"administrative_contact": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"dev_addr_blocks": {
"description": "DevAddr blocks that are assigned to this registration.",
"items": {
"properties": {
"dev_addr_prefix": {
"properties": {
"dev_addr": {
"description": "DevAddr base.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"length": {
"description": "Number of most significant bits from dev_addr that are used as prefix.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"home_network_cluster_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"id": {
"properties": {
"net_id": {
"description": "LoRa Alliance NetID.",
"format": "int64",
"type": "integer"
},
"tenant_id": {
"description": "Tenant identifier if the registration leases DevAddr blocks from a NetID.",
"type": "string"
}
},
"type": "object"
},
"listed": {
"description": "Whether the network is listed so it can be viewed by other networks.",
"type": "boolean"
},
"name": {
"description": "Name of the network.",
"type": "string"
},
"technical_contact": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
PacketBrokerNetwork
Fields
Name | Type | Description |
---|---|---|
administrative_contact |
object | |
contact_info |
object | Contact information. This field is deprecated. Use administrative_contact and technical_contact instead. |
dev_addr_blocks |
object | DevAddr blocks that are assigned to this registration. |
id |
object | |
listed |
boolean | Whether the network is listed so it can be viewed by other networks. |
name |
string | Name of the network. |
technical_contact |
object |
Schema
{
"administrative_contact": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"dev_addr_blocks": {
"description": "DevAddr blocks that are assigned to this registration.",
"items": {
"properties": {
"dev_addr_prefix": {
"properties": {
"dev_addr": {
"description": "DevAddr base.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"length": {
"description": "Number of most significant bits from dev_addr that are used as prefix.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"home_network_cluster_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"id": {
"properties": {
"net_id": {
"description": "LoRa Alliance NetID.",
"format": "int64",
"type": "integer"
},
"tenant_id": {
"description": "Tenant identifier if the registration leases DevAddr blocks from a NetID.",
"type": "string"
}
},
"type": "object"
},
"listed": {
"description": "Whether the network is listed so it can be viewed by other networks.",
"type": "boolean"
},
"name": {
"description": "Name of the network.",
"type": "string"
},
"technical_contact": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
PacketBrokerNetworkIdentifier
Fields
Name | Type | Description |
---|---|---|
net_id |
integer | LoRa Alliance NetID. |
tenant_id |
string | Tenant identifier if the registration leases DevAddr blocks from a NetID. |
Schema
{
"net_id": {
"description": "LoRa Alliance NetID.",
"format": "int64",
"type": "integer"
},
"tenant_id": {
"description": "Tenant identifier if the registration leases DevAddr blocks from a NetID.",
"type": "string"
}
}
Show the schema of the message in JSON format.
PacketBrokerNetworks
Fields
Name | Type | Description |
---|---|---|
networks |
object |
Schema
{
"networks": {
"items": {
"properties": {
"administrative_contact": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information.\nThis field is deprecated. Use administrative_contact and technical_contact instead.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"dev_addr_blocks": {
"description": "DevAddr blocks that are assigned to this registration.",
"items": {
"properties": {
"dev_addr_prefix": {
"properties": {
"dev_addr": {
"description": "DevAddr base.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"length": {
"description": "Number of most significant bits from dev_addr that are used as prefix.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"home_network_cluster_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"id": {
"properties": {
"net_id": {
"description": "LoRa Alliance NetID.",
"format": "int64",
"type": "integer"
},
"tenant_id": {
"description": "Tenant identifier if the registration leases DevAddr blocks from a NetID.",
"type": "string"
}
},
"type": "object"
},
"listed": {
"description": "Whether the network is listed so it can be viewed by other networks.",
"type": "boolean"
},
"name": {
"description": "Name of the network.",
"type": "string"
},
"technical_contact": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
PacketBrokerRegisterRequest
Fields
Name | Type | Description |
---|---|---|
listed |
boolean | Whether the network should be listed in Packet Broker. If unset, the value is taken from the registration settings. |
Schema
{
"listed": {
"description": "Whether the network should be listed in Packet Broker.\nIf unset, the value is taken from the registration settings.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
PacketBrokerRouteHop
Fields
Name | Type | Description |
---|---|---|
received_at |
string | Time when the service received the message. |
receiver_agent |
string | Receiver agent. |
receiver_name |
string | Receiver of the message. |
sender_address |
string | Sender IP address or host name. |
sender_name |
string | Sender of the message, typically the authorized client identifier. |
Schema
{
"received_at": {
"description": "Time when the service received the message.",
"format": "date-time",
"type": "string"
},
"receiver_agent": {
"description": "Receiver agent.",
"type": "string"
},
"receiver_name": {
"description": "Receiver of the message.",
"type": "string"
},
"sender_address": {
"description": "Sender IP address or host name.",
"type": "string"
},
"sender_name": {
"description": "Sender of the message, typically the authorized client identifier.",
"type": "string"
}
}
Show the schema of the message in JSON format.
PacketBrokerRoutingPolicies
Fields
Name | Type | Description |
---|---|---|
policies |
object |
Schema
{
"policies": {
"items": {
"properties": {
"downlink": {
"properties": {
"application_data": {
"description": "Allow downlink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_accept": {
"description": "Allow join-accept messages.",
"type": "boolean"
},
"mac_data": {
"description": "Allow downlink messages with FPort of 0.",
"type": "boolean"
}
},
"type": "object"
},
"forwarder_id": {
"properties": {
"net_id": {
"description": "LoRa Alliance NetID.",
"format": "int64",
"type": "integer"
},
"tenant_id": {
"description": "Tenant identifier if the registration leases DevAddr blocks from a NetID.",
"type": "string"
}
},
"type": "object"
},
"home_network_id": {
"properties": {
"net_id": {
"description": "LoRa Alliance NetID.",
"format": "int64",
"type": "integer"
},
"tenant_id": {
"description": "Tenant identifier if the registration leases DevAddr blocks from a NetID.",
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"description": "Timestamp when the policy got last updated.",
"format": "date-time",
"type": "string"
},
"uplink": {
"properties": {
"application_data": {
"description": "Forward uplink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_request": {
"description": "Forward join-request messages.",
"type": "boolean"
},
"localization": {
"description": "Forward gateway location, RSSI, SNR and fine timestamp.",
"type": "boolean"
},
"mac_data": {
"description": "Forward uplink messages with FPort of 0.",
"type": "boolean"
},
"signal_quality": {
"description": "Forward RSSI and SNR.",
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
PacketBrokerRoutingPolicy
Fields
Name | Type | Description |
---|---|---|
downlink |
object | |
forwarder_id |
object | |
home_network_id |
object | |
updated_at |
string | Timestamp when the policy got last updated. |
uplink |
object |
Schema
{
"downlink": {
"properties": {
"application_data": {
"description": "Allow downlink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_accept": {
"description": "Allow join-accept messages.",
"type": "boolean"
},
"mac_data": {
"description": "Allow downlink messages with FPort of 0.",
"type": "boolean"
}
},
"type": "object"
},
"forwarder_id": {
"properties": {
"net_id": {
"description": "LoRa Alliance NetID.",
"format": "int64",
"type": "integer"
},
"tenant_id": {
"description": "Tenant identifier if the registration leases DevAddr blocks from a NetID.",
"type": "string"
}
},
"type": "object"
},
"home_network_id": {
"properties": {
"net_id": {
"description": "LoRa Alliance NetID.",
"format": "int64",
"type": "integer"
},
"tenant_id": {
"description": "Tenant identifier if the registration leases DevAddr blocks from a NetID.",
"type": "string"
}
},
"type": "object"
},
"updated_at": {
"description": "Timestamp when the policy got last updated.",
"format": "date-time",
"type": "string"
},
"uplink": {
"properties": {
"application_data": {
"description": "Forward uplink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_request": {
"description": "Forward join-request messages.",
"type": "boolean"
},
"localization": {
"description": "Forward gateway location, RSSI, SNR and fine timestamp.",
"type": "boolean"
},
"mac_data": {
"description": "Forward uplink messages with FPort of 0.",
"type": "boolean"
},
"signal_quality": {
"description": "Forward RSSI and SNR.",
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
PacketBrokerRoutingPolicyDownlink
Fields
Name | Type | Description |
---|---|---|
application_data |
boolean | Allow downlink messages with FPort between 1 and 255. |
join_accept |
boolean | Allow join-accept messages. |
mac_data |
boolean | Allow downlink messages with FPort of 0. |
Schema
{
"application_data": {
"description": "Allow downlink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_accept": {
"description": "Allow join-accept messages.",
"type": "boolean"
},
"mac_data": {
"description": "Allow downlink messages with FPort of 0.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
PacketBrokerRoutingPolicyUplink
Fields
Name | Type | Description |
---|---|---|
application_data |
boolean | Forward uplink messages with FPort between 1 and 255. |
join_request |
boolean | Forward join-request messages. |
localization |
boolean | Forward gateway location, RSSI, SNR and fine timestamp. |
mac_data |
boolean | Forward uplink messages with FPort of 0. |
signal_quality |
boolean | Forward RSSI and SNR. |
Schema
{
"application_data": {
"description": "Forward uplink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_request": {
"description": "Forward join-request messages.",
"type": "boolean"
},
"localization": {
"description": "Forward gateway location, RSSI, SNR and fine timestamp.",
"type": "boolean"
},
"mac_data": {
"description": "Forward uplink messages with FPort of 0.",
"type": "boolean"
},
"signal_quality": {
"description": "Forward RSSI and SNR.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
PacketErrorRatesTimeBuckets
Fields
Name | Type | Description |
---|---|---|
packet_error_rates |
object |
Schema
{
"packet_error_rates": {
"items": {
"properties": {
"packet_error_rate": {
"format": "float",
"type": "number"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ParseEndDeviceQRCodeRequest
Fields
Name | Type | Description |
---|---|---|
format_id |
string | 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. |
qr_code |
string | Raw QR code contents. |
Schema
{
"format_id": {
"description": "QR code format identifier.\nEnumerate available formats with the rpc `ListFormats`.\nIf this field is not specified, the server will attempt to parse the data with each known format.",
"type": "string"
},
"qr_code": {
"description": "Raw QR code contents.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
ParseEndDeviceQRCodeResponse
Fields
Name | Type | Description |
---|---|---|
end_device_template |
object | |
format_id |
string | Identifier of the format used to successfully parse the QR code data. |
Schema
{
"end_device_template": {
"properties": {
"end_device": {
"description": "Defines an End Device registration and its state on the network.\nThe persistence of the EndDevice is divided between the Network Server, Application Server and Join Server.\nSDKs are responsible for combining (if desired) the three.",
"properties": {
"activated_at": {
"description": "Timestamp when the device has been activated. Stored in the Entity Registry.\nThis field is set by the Application Server when an end device sends\nits first uplink.\nThe Application Server will use the field in order to avoid repeated\ncalls to the Entity Registry.\nThe field cannot be unset once set.",
"format": "date-time",
"type": "string"
},
"application_server_address": {
"description": "The address of the Application Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"application_server_id": {
"description": "The AS-ID of the Application Server to use.\nStored in Join Server.",
"type": "string"
},
"application_server_kek_label": {
"description": "The KEK label of the Application Server to use for wrapping the application session key.\nStored in Join Server.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "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.",
"type": "object"
},
"battery_percentage": {
"description": "Latest-known battery percentage of the device.\nReceived via the DevStatus MAC command at last_dev_status_received_at or earlier.\nStored in Network Server.",
"format": "float",
"type": "number"
},
"claim_authentication_code": {
"description": "Authentication code for end devices.",
"properties": {
"valid_from": {
"format": "date-time",
"type": "string"
},
"valid_to": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "Description of the device. Stored in Entity Registry.",
"type": "string"
},
"downlink_margin": {
"description": "Demodulation signal-to-noise ratio (dB).\nReceived via the DevStatus MAC command at last_dev_status_received_at.\nStored in Network Server.",
"format": "int32",
"type": "integer"
},
"formatters": {
"properties": {
"down_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"down_formatter_parameter": {
"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.",
"type": "string"
},
"up_formatter": {
"default": "FORMATTER_NONE",
"description": " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload formatters can be added.",
"enum": [
"FORMATTER_NONE",
"FORMATTER_REPOSITORY",
"FORMATTER_GRPC_SERVICE",
"FORMATTER_JAVASCRIPT",
"FORMATTER_CAYENNELPP"
],
"type": "string"
},
"up_formatter_parameter": {
"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.",
"type": "string"
}
},
"type": "object"
},
"frequency_plan_id": {
"description": "ID of the frequency plan used by this device.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "string"
},
"ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"join_server_address": {
"description": "The address of the Join Server where this device is supposed to be registered.\nStored in Entity Registry.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"last_dev_nonce": {
"description": "Last DevNonce used.\nThis field is only used for devices using LoRaWAN version 1.1 and later.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_dev_status_received_at": {
"description": "Time when last DevStatus MAC command was received.\nStored in Network Server.",
"format": "date-time",
"type": "string"
},
"last_join_nonce": {
"description": "Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used.\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_0": {
"description": "Last Rejoin counter value used (type 0/2).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_rj_count_1": {
"description": "Last Rejoin counter value used (type 1).\nStored in Join Server.",
"format": "int64",
"type": "integer"
},
"last_seen_at": {
"description": "Timestamp when a device uplink has been last observed.\nThis field is set by the Application Server and stored in the Identity Server.",
"format": "date-time",
"type": "string"
},
"locations": {
"additionalProperties": {
"properties": {
"accuracy": {
"description": "The accuracy of the location (meters).",
"format": "int32",
"type": "integer"
},
"altitude": {
"description": "The altitude (meters), where 0 is the mean sea level.",
"format": "int32",
"type": "integer"
},
"latitude": {
"description": "The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.",
"format": "double",
"type": "number"
},
"longitude": {
"description": "The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.",
"format": "double",
"type": "number"
},
"source": {
"default": "SOURCE_UNKNOWN",
"description": " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION: The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation sources.\n\nMore estimation methods can be added.",
"enum": [
"SOURCE_UNKNOWN",
"SOURCE_GPS",
"SOURCE_REGISTRY",
"SOURCE_IP_GEOLOCATION",
"SOURCE_WIFI_RSSI_GEOLOCATION",
"SOURCE_BT_RSSI_GEOLOCATION",
"SOURCE_LORA_RSSI_GEOLOCATION",
"SOURCE_LORA_TDOA_GEOLOCATION",
"SOURCE_COMBINED_GEOLOCATION"
],
"type": "string"
}
},
"type": "object"
},
"description": "Location of the device. Stored in Entity Registry.",
"type": "object"
},
"lora_alliance_profile_ids": {
"properties": {
"vendor_id": {
"description": "VendorID managed by the LoRa Alliance, as defined in TR005.",
"format": "int64",
"type": "integer"
},
"vendor_profile_id": {
"description": "ID of the LoRaWAN end device profile assigned by the vendor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lorawan_phy_version": {
"default": "PHY_UNKNOWN",
"enum": [
"PHY_UNKNOWN",
"PHY_V1_0",
"TS001_V1_0",
"PHY_V1_0_1",
"TS001_V1_0_1",
"PHY_V1_0_2_REV_A",
"RP001_V1_0_2",
"PHY_V1_0_2_REV_B",
"RP001_V1_0_2_REV_B",
"PHY_V1_1_REV_A",
"RP001_V1_1_REV_A",
"PHY_V1_1_REV_B",
"RP001_V1_1_REV_B",
"PHY_V1_0_3_REV_A",
"RP001_V1_0_3_REV_A",
"RP002_V1_0_0",
"RP002_V1_0_1",
"RP002_V1_0_2",
"RP002_V1_0_3",
"RP002_V1_0_4"
],
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"mac_settings": {
"properties": {
"adr": {
"description": "Adaptive Data Rate settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is to be disabled\ncompletely.",
"type": "object"
},
"dynamic": {
"description": "Configuration options for dynamic ADR.",
"properties": {
"channel_steering": {
"description": "EXPERIMENTAL: Channel steering settings.",
"properties": {
"disabled": {
"description": "Configuration options for cases in which ADR is not supposed to steer the end device\nto another set of channels.",
"type": "object"
},
"lora_narrow": {
"description": "Configuration options for LoRa narrow channels steering.\nThe narrow mode attempts to steer the end device towards\nusing the LoRa modulated, 125kHz bandwidth channels.",
"type": "object"
}
},
"type": "object"
},
"margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nIf unset, the default value from Network Server configuration will be used.",
"format": "float",
"type": "number"
},
"max_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"max_tx_power_index": {
"description": "Maximum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_tx_power_index": {
"description": "Minimum transmission power index.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"overrides": {
"description": "EXPERIMENTAL: Configuration overrides.",
"properties": {
"data_rate_0": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_1": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_10": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_11": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_12": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_13": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_14": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_15": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_2": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_3": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_4": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_5": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_6": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_7": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_8": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"data_rate_9": {
"description": "EXPERIMENTAL: Data rate index override settings.",
"properties": {
"max_nb_trans": {
"description": "Maximum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"min_nb_trans": {
"description": "Minimum number of retransmissions.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"static": {
"description": "Configuration options for static ADR.",
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"description": "Number of retransmissions.",
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"description": "Transmission power index to use.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"adr_margin": {
"description": "The ADR margin (dB) tells the network server how much margin it should add in ADR requests.\nA bigger margin is less efficient, but gives a better chance of successful reception.\nThis field is deprecated, use adr_settings.dynamic.margin instead.",
"format": "float",
"type": "number"
},
"beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"class_b_c_downlink_interval": {
"description": "The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink.",
"type": "string"
},
"class_b_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"class_c_timeout": {
"description": "Maximum delay for the device to answer a MAC request or a confirmed downlink frame.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"desired_adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_beacon_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"desired_max_eirp": {
"properties": {
"value": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"desired_relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"desired_rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"factory_preset_frequencies": {
"description": "List of factory-preset frequencies.\nIf unset, the default value from Network Server configuration or regional parameters specification will be used.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"max_duty_cycle": {
"properties": {
"value": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"relay": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"resets_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"properties": {
"value": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
}
},
"type": "object"
},
"rx1_delay": {
"properties": {
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"rx2_data_rate_index": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx2_frequency": {
"properties": {
"value": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"schedule_downlinks": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"status_count_periodicity": {
"description": "Number of uplink messages after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"status_time_periodicity": {
"description": "The interval after which a DevStatusReq MACCommand shall be sent.\nIf unset, the default value from Network Server configuration will be used.",
"type": "string"
},
"supports_32_bit_f_cnt": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"use_adr": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"max_frequency": {
"description": "Maximum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"min_frequency": {
"description": "Minimum frequency the device is capable of using (Hz). Stored in Network Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"format": "uint64",
"type": "string"
},
"multicast": {
"description": "Indicates whether this device represents a multicast group.",
"type": "boolean"
},
"name": {
"description": "Friendly name of the device. Stored in Entity Registry.",
"type": "string"
},
"net_id": {
"description": "Home NetID. Stored in Join Server.",
"example": "000013",
"format": "string",
"type": "string"
},
"network_server_address": {
"description": "The address of the Network Server where this device is supposed to be registered.\nStored in Entity Registry and Join Server.\nThe typical format of the address is \"host:port\". If the port is omitted,\nthe normal port inference (with DNS lookup, otherwise defaults) is used.\nThe connection shall be established with transport layer security (TLS).\nCustom certificate authorities may be configured out-of-band.",
"type": "string"
},
"network_server_kek_label": {
"description": "The KEK label of the Network Server to use for wrapping network session keys.\nStored in Join Server.",
"type": "string"
},
"pending_mac_state": {
"description": "MACState represents the state of MAC layer of the device.\nMACState is reset on each join for OTAA or ResetInd for ABP devices.\nThis is used internally by the Network Server.",
"properties": {
"current_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"desired_parameters": {
"description": "MACParameters represent the parameters of the device's MAC layer (active or desired).\nThis is used internally by the Network Server.",
"properties": {
"adr_ack_delay": {
"description": "ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.\nThis field is deprecated, use adr_ack_delay_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_delay_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_ack_limit": {
"description": "ADR: number of messages to wait before setting ADRAckReq.\nThis field is deprecated, use adr_ack_limit_exponent instead.",
"format": "int64",
"type": "integer"
},
"adr_ack_limit_exponent": {
"properties": {
"value": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"adr_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"adr_nb_trans": {
"description": "ADR: number of retransmissions.",
"format": "int64",
"type": "integer"
},
"adr_tx_power_index": {
"description": "ADR: transmission power index to use.",
"format": "int64",
"type": "integer"
},
"beacon_frequency": {
"description": "Frequency of the class B beacon (Hz).",
"format": "uint64",
"type": "string"
},
"channels": {
"description": "Configured uplink channels and optionally Rx1 frequency.",
"items": {
"properties": {
"downlink_frequency": {
"description": "Downlink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
},
"enable_uplink": {
"description": "Channel can be used by device for uplink.",
"type": "boolean"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"uplink_frequency": {
"description": "Uplink frequency of the channel (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"downlink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
},
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
},
"max_eirp": {
"description": "Maximum EIRP (dBm).",
"format": "float",
"type": "number"
},
"ping_slot_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"ping_slot_data_rate_index_value": {
"properties": {
"value": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_frequency": {
"description": "Frequency of the class B ping slot (Hz).",
"format": "uint64",
"type": "string"
},
"rejoin_count_periodicity": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"rejoin_time_periodicity": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
},
"relay": {
"description": "RelayParameters represent the parameters of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Frequency for Rx2 (Hz).",
"format": "uint64",
"type": "string"
},
"uplink_dwell_time": {
"properties": {
"value": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"device_class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"last_adr_change_f_cnt_up": {
"description": "Frame counter of uplink, which confirmed the last ADR parameter change.",
"format": "int64",
"type": "integer"
},
"last_confirmed_downlink_at": {
"description": "Time when the last confirmed downlink message or MAC command was scheduled.",
"format": "date-time",
"type": "string"
},
"last_dev_status_f_cnt_up": {
"description": "Frame counter value of last uplink containing DevStatusAns.",
"format": "int64",
"type": "integer"
},
"last_downlink_at": {
"description": "Time when the last downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"last_network_initiated_downlink_at": {
"description": "Time when the last network-initiated downlink message was scheduled.",
"format": "date-time",
"type": "string"
},
"lorawan_version": {
"default": "MAC_UNKNOWN",
"enum": [
"MAC_UNKNOWN",
"MAC_V1_0",
"MAC_V1_0_1",
"MAC_V1_0_2",
"MAC_V1_1",
"MAC_V1_0_3",
"MAC_V1_0_4"
],
"type": "string"
},
"pending_application_downlink": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_join_request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"pending_relay_downlink": {
"properties": {
"raw_payload": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"pending_requests": {
"description": "Pending MAC requests(i.e. sent requests, for which no response has been received yet).\nRegenerated on each downlink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"ping_slot_periodicity": {
"properties": {
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"queued_join_accept": {
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"payload": {
"description": "Payload of the join-accept received from Join Server.",
"format": "byte",
"type": "string"
},
"request": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"downlink_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"queued_responses": {
"description": "Queued MAC responses.\nRegenerated on each uplink.",
"items": {
"properties": {
"adr_param_setup_req": {
"properties": {
"adr_ack_delay_exponent": {
"default": "ADR_ACK_DELAY_1",
"enum": [
"ADR_ACK_DELAY_1",
"ADR_ACK_DELAY_2",
"ADR_ACK_DELAY_4",
"ADR_ACK_DELAY_8",
"ADR_ACK_DELAY_16",
"ADR_ACK_DELAY_32",
"ADR_ACK_DELAY_64",
"ADR_ACK_DELAY_128",
"ADR_ACK_DELAY_256",
"ADR_ACK_DELAY_512",
"ADR_ACK_DELAY_1024",
"ADR_ACK_DELAY_2048",
"ADR_ACK_DELAY_4096",
"ADR_ACK_DELAY_8192",
"ADR_ACK_DELAY_16384",
"ADR_ACK_DELAY_32768"
],
"type": "string"
},
"adr_ack_limit_exponent": {
"default": "ADR_ACK_LIMIT_1",
"enum": [
"ADR_ACK_LIMIT_1",
"ADR_ACK_LIMIT_2",
"ADR_ACK_LIMIT_4",
"ADR_ACK_LIMIT_8",
"ADR_ACK_LIMIT_16",
"ADR_ACK_LIMIT_32",
"ADR_ACK_LIMIT_64",
"ADR_ACK_LIMIT_128",
"ADR_ACK_LIMIT_256",
"ADR_ACK_LIMIT_512",
"ADR_ACK_LIMIT_1024",
"ADR_ACK_LIMIT_2048",
"ADR_ACK_LIMIT_4096",
"ADR_ACK_LIMIT_8192",
"ADR_ACK_LIMIT_16384",
"ADR_ACK_LIMIT_32768"
],
"type": "string"
}
},
"type": "object"
},
"beacon_freq_ans": {
"properties": {
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"beacon_freq_req": {
"properties": {
"frequency": {
"description": "Frequency of the Class B beacons (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"beacon_timing_ans": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"delay": {
"description": "(uint16) See LoRaWAN specification.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"cid": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"dev_status_ans": {
"properties": {
"battery": {
"description": "Device battery status.\n0 indicates that the device is connected to an external power source.\n1..254 indicates a battery level.\n255 indicates that the device was not able to measure the battery level.",
"format": "int64",
"type": "integer"
},
"margin": {
"description": "SNR of the last downlink (dB; [-32, +31]).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"device_mode_conf": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_mode_ind": {
"properties": {
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
}
},
"type": "object"
},
"device_time_ans": {
"properties": {
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"dl_channel_ans": {
"properties": {
"channel_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"dl_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Downlink channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"duty_cycle_req": {
"properties": {
"max_duty_cycle": {
"default": "DUTY_CYCLE_1",
"description": " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16: 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256: Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n - DUTY_CYCLE_32768: Roughly 0.003%.",
"enum": [
"DUTY_CYCLE_1",
"DUTY_CYCLE_2",
"DUTY_CYCLE_4",
"DUTY_CYCLE_8",
"DUTY_CYCLE_16",
"DUTY_CYCLE_32",
"DUTY_CYCLE_64",
"DUTY_CYCLE_128",
"DUTY_CYCLE_256",
"DUTY_CYCLE_512",
"DUTY_CYCLE_1024",
"DUTY_CYCLE_2048",
"DUTY_CYCLE_4096",
"DUTY_CYCLE_8192",
"DUTY_CYCLE_16384",
"DUTY_CYCLE_32768"
],
"type": "string"
}
},
"type": "object"
},
"force_rejoin_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"max_retries": {
"format": "int64",
"type": "integer"
},
"period_exponent": {
"default": "REJOIN_PERIOD_0",
"description": " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2: Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7: Every 4096 to 4128 seconds.",
"enum": [
"REJOIN_PERIOD_0",
"REJOIN_PERIOD_1",
"REJOIN_PERIOD_2",
"REJOIN_PERIOD_3",
"REJOIN_PERIOD_4",
"REJOIN_PERIOD_5",
"REJOIN_PERIOD_6",
"REJOIN_PERIOD_7"
],
"type": "string"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
},
"link_adr_ans": {
"properties": {
"channel_mask_ack": {
"type": "boolean"
},
"data_rate_index_ack": {
"type": "boolean"
},
"tx_power_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"link_adr_req": {
"properties": {
"channel_mask": {
"items": {
"type": "boolean"
},
"type": "array"
},
"channel_mask_control": {
"format": "int64",
"type": "integer"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"nb_trans": {
"format": "int64",
"type": "integer"
},
"tx_power_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"link_check_ans": {
"properties": {
"gateway_count": {
"format": "int64",
"type": "integer"
},
"margin": {
"description": "Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"new_channel_ans": {
"properties": {
"data_rate_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"new_channel_req": {
"properties": {
"channel_index": {
"format": "int64",
"type": "integer"
},
"frequency": {
"description": "Channel frequency (Hz).",
"format": "uint64",
"type": "string"
},
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"ping_slot_channel_ans": {
"properties": {
"data_rate_index_ack": {
"type": "boolean"
},
"frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"ping_slot_channel_req": {
"properties": {
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "Ping slot channel frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"ping_slot_info_req": {
"properties": {
"period": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
},
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"rejoin_param_setup_ans": {
"properties": {
"max_time_exponent_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rejoin_param_setup_req": {
"properties": {
"max_count_exponent": {
"default": "REJOIN_COUNT_16",
"enum": [
"REJOIN_COUNT_16",
"REJOIN_COUNT_32",
"REJOIN_COUNT_64",
"REJOIN_COUNT_128",
"REJOIN_COUNT_256",
"REJOIN_COUNT_512",
"REJOIN_COUNT_1024",
"REJOIN_COUNT_2048",
"REJOIN_COUNT_4096",
"REJOIN_COUNT_8192",
"REJOIN_COUNT_16384",
"REJOIN_COUNT_32768",
"REJOIN_COUNT_65536",
"REJOIN_COUNT_131072",
"REJOIN_COUNT_262144",
"REJOIN_COUNT_524288"
],
"type": "string"
},
"max_time_exponent": {
"default": "REJOIN_TIME_0",
"description": " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1 hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n - REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n - REJOIN_TIME_15: Every ~1.1 year.",
"enum": [
"REJOIN_TIME_0",
"REJOIN_TIME_1",
"REJOIN_TIME_2",
"REJOIN_TIME_3",
"REJOIN_TIME_4",
"REJOIN_TIME_5",
"REJOIN_TIME_6",
"REJOIN_TIME_7",
"REJOIN_TIME_8",
"REJOIN_TIME_9",
"REJOIN_TIME_10",
"REJOIN_TIME_11",
"REJOIN_TIME_12",
"REJOIN_TIME_13",
"REJOIN_TIME_14",
"REJOIN_TIME_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rekey_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"relay_conf_ans": {
"properties": {
"cad_periodicity_ack": {
"type": "boolean"
},
"default_channel_index_ack": {
"type": "boolean"
},
"second_channel_ack_offset_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_conf_req": {
"properties": {
"configuration": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"format": "int64",
"type": "integer"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_configure_fwd_limit_ans": {
"type": "object"
},
"relay_configure_fwd_limit_req": {
"properties": {
"global_uplink_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"join_request_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notify_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_limit_counter": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_ans": {
"properties": {
"rule_index_ack": {
"type": "boolean"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_ctrl_uplink_list_req": {
"properties": {
"action": {
"default": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"enum": [
"RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
"RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE"
],
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"relay_end_device_conf_ans": {
"properties": {
"backoff_ack": {
"type": "boolean"
},
"second_channel_data_rate_index_ack": {
"type": "boolean"
},
"second_channel_frequency_ack": {
"type": "boolean"
},
"second_channel_index_ack": {
"type": "boolean"
}
},
"type": "object"
},
"relay_end_device_conf_req": {
"properties": {
"configuration": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"relay_notify_new_end_device_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"rssi": {
"format": "int32",
"type": "integer"
},
"snr": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"relay_update_uplink_list_ans": {
"type": "object"
},
"relay_update_uplink_list_req": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"forward_limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"root_wor_s_key": {
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
},
"rule_index": {
"format": "int64",
"type": "integer"
},
"session_key_id": {
"format": "byte",
"type": "string"
},
"w_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_conf": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"reset_ind": {
"properties": {
"minor_version": {
"default": "MINOR_RFU_0",
"enum": [
"MINOR_RFU_0",
"MINOR_1",
"MINOR_RFU_2",
"MINOR_RFU_3",
"MINOR_RFU_4",
"MINOR_RFU_5",
"MINOR_RFU_6",
"MINOR_RFU_7",
"MINOR_RFU_8",
"MINOR_RFU_9",
"MINOR_RFU_10",
"MINOR_RFU_11",
"MINOR_RFU_12",
"MINOR_RFU_13",
"MINOR_RFU_14",
"MINOR_RFU_15"
],
"type": "string"
}
},
"type": "object"
},
"rx_param_setup_ans": {
"properties": {
"rx1_data_rate_offset_ack": {
"type": "boolean"
},
"rx2_data_rate_index_ack": {
"type": "boolean"
},
"rx2_frequency_ack": {
"type": "boolean"
}
},
"type": "object"
},
"rx_param_setup_req": {
"properties": {
"rx1_data_rate_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"rx2_frequency": {
"description": "Rx2 frequency (Hz).",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"rx_timing_setup_req": {
"properties": {
"delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"tx_param_setup_req": {
"properties": {
"downlink_dwell_time": {
"type": "boolean"
},
"max_eirp_index": {
"default": "DEVICE_EIRP_8",
"description": " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13 dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n - DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm.",
"enum": [
"DEVICE_EIRP_8",
"DEVICE_EIRP_10",
"DEVICE_EIRP_12",
"DEVICE_EIRP_13",
"DEVICE_EIRP_14",
"DEVICE_EIRP_16",
"DEVICE_EIRP_18",
"DEVICE_EIRP_20",
"DEVICE_EIRP_21",
"DEVICE_EIRP_24",
"DEVICE_EIRP_26",
"DEVICE_EIRP_27",
"DEVICE_EIRP_29",
"DEVICE_EIRP_30",
"DEVICE_EIRP_33",
"DEVICE_EIRP_36"
],
"type": "string"
},
"uplink_dwell_time": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_downlinks": {
"description": "Recent data downlink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message.\nUsed for type safe recent downlink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"payload": {
"properties": {
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"f_port": {
"format": "int64",
"type": "integer"
},
"full_f_cnt": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"recent_mac_command_identifiers": {
"description": "MAC command identifiers sent by the end device in the last received uplink.\nThe Network Server may choose to store only certain types of MAC\ncommand identifiers in the underlying implementation.",
"items": {
"default": "CID_RFU_0",
"enum": [
"CID_RFU_0",
"CID_RESET",
"CID_LINK_CHECK",
"CID_LINK_ADR",
"CID_DUTY_CYCLE",
"CID_RX_PARAM_SETUP",
"CID_DEV_STATUS",
"CID_NEW_CHANNEL",
"CID_RX_TIMING_SETUP",
"CID_TX_PARAM_SETUP",
"CID_DL_CHANNEL",
"CID_REKEY",
"CID_ADR_PARAM_SETUP",
"CID_DEVICE_TIME",
"CID_FORCE_REJOIN",
"CID_REJOIN_PARAM_SETUP",
"CID_PING_SLOT_INFO",
"CID_PING_SLOT_CHANNEL",
"CID_BEACON_TIMING",
"CID_BEACON_FREQ",
"CID_DEVICE_MODE",
"CID_RELAY_CONF",
"CID_RELAY_END_DEVICE_CONF",
"CID_RELAY_FILTER_LIST",
"CID_RELAY_UPDATE_UPLINK_LIST",
"CID_RELAY_CTRL_UPLINK_LIST",
"CID_RELAY_CONFIGURE_FWD_LIMIT",
"CID_RELAY_NOTIFY_NEW_END_DEVICE"
],
"title": "- CID_BEACON_TIMING: Deprecated",
"type": "string"
},
"type": "array"
},
"recent_uplinks": {
"description": "Recent data uplink messages sorted by time.\nThe number of messages stored may depend on configuration.",
"items": {
"description": "A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message.\nUsed for type safe recent uplink storage.",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"device_channel_index": {
"format": "int64",
"type": "integer"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"received_at": {
"format": "date-time",
"type": "string"
},
"rx_metadata": {
"items": {
"properties": {
"channel_rssi": {
"format": "float",
"type": "number"
},
"downlink_path_constraint": {
"default": "DOWNLINK_PATH_CONSTRAINT_NONE",
"description": " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path.",
"enum": [
"DOWNLINK_PATH_CONSTRAINT_NONE",
"DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER",
"DOWNLINK_PATH_CONSTRAINT_NEVER"
],
"type": "string"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"packet_broker": {
"type": "object"
},
"relay": {
"type": "object"
},
"snr": {
"format": "float",
"type": "number"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"settings": {
"properties": {
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"rejected_adr_data_rate_indexes": {
"description": "ADR Data rate index values rejected by the device.\nReset each time `current_parameters.channels` change.\nElements are sorted in ascending order.",
"items": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"type": "array"
},
"rejected_adr_tx_power_indexes": {
"description": "ADR TX output power index values rejected by the device.\nElements are sorted in ascending order.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"rejected_data_rate_ranges": {
"additionalProperties": {
"properties": {
"ranges": {
"items": {
"properties": {
"max_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"min_data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"description": "Data rate ranges rejected by the device per frequency.",
"type": "object"
},
"rejected_frequencies": {
"description": "Frequencies rejected by the device.",
"items": {
"format": "uint64",
"type": "string"
},
"type": "array"
},
"rx_windows_available": {
"description": "Whether or not Rx windows are expected to be open.\nSet to true every time an uplink is received.\nSet to false every time a successful downlink scheduling attempt is made.",
"type": "boolean"
}
},
"type": "object"
},
"pending_session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"power_state": {
"default": "POWER_UNKNOWN",
"description": "Power state of the device.",
"enum": [
"POWER_UNKNOWN",
"POWER_BATTERY",
"POWER_EXTERNAL"
],
"type": "string"
},
"provisioner_id": {
"description": "ID of the provisioner. Stored in Join Server.",
"type": "string"
},
"provisioning_data": {
"description": "Vendor-specific provisioning data. Stored in Join Server.",
"type": "object"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server,\nwhich sets them on the Network Server.\nThis field is deprecated and is always set equal to session.queued_application_downlinks.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resets_join_nonces": {
"description": "Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"root_keys": {
"description": "Root keys for a LoRaWAN device.\nThese are stored on the Join Server.",
"properties": {
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
},
"type": "object"
},
"serial_number": {
"type": "string"
},
"service_profile_id": {
"description": "Default service profile. Stored in Entity Registry.",
"type": "string"
},
"session": {
"properties": {
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"skip_payload_crypto": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field is deprecated, use skip_payload_crypto_override instead.",
"type": "boolean"
},
"skip_payload_crypto_override": {
"description": "Skip decryption of uplink payloads and encryption of downlink payloads.\nThis field overrides the application-level setting.",
"type": "boolean"
},
"supports_class_b": {
"description": "Whether the device supports class B.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_class_c": {
"description": "Whether the device supports class C.\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"supports_join": {
"description": "The device supports join (it's OTAA).\nCopied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.",
"type": "boolean"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"used_dev_nonces": {
"description": "Used DevNonces sorted in ascending order.\nThis field is only used for devices using LoRaWAN versions preceding 1.1.\nStored in Join Server.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"version_ids": {
"description": "Identifies an end device model with version information.",
"properties": {
"band_id": {
"type": "string"
},
"brand_id": {
"type": "string"
},
"firmware_version": {
"type": "string"
},
"hardware_version": {
"type": "string"
},
"model_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"field_mask": {
"type": "string"
},
"mapping_key": {
"type": "string"
}
},
"type": "object"
},
"format_id": {
"description": "Identifier of the format used to successfully parse the QR code data.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ParseGatewayQRCodeRequest
Fields
Name | Type | Description |
---|---|---|
format_id |
string | QR code format identifier. If this field is not specified, the server will default to ttigpro1. |
qr_code |
string | Raw QR code contents. |
Schema
{
"format_id": {
"description": "QR code format identifier.\nIf this field is not specified, the server will default to ttigpro1.",
"type": "string"
},
"qr_code": {
"description": "Raw QR code contents.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
ParseGatewayQRCodeResponse
Fields
Name | Type | Description |
---|---|---|
format_id |
string | Identifier of the format used to parse the QR code data. |
gateway_eui |
string | |
owner_token |
string |
Schema
{
"format_id": {
"description": "Identifier of the format used to parse the QR code data.",
"type": "string"
},
"gateway_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"owner_token": {
"type": "string"
}
}
Show the schema of the message in JSON format.
PayloadFormatter
Supported values
Name | Description |
---|---|
FORMATTER_NONE |
No payload formatter to work with raw payload only. |
FORMATTER_REPOSITORY |
Use payload formatter for the end device type from a repository. |
FORMATTER_JAVASCRIPT |
Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename. |
FORMATTER_CAYENNELPP |
CayenneLPP payload formatter. |
Picture
Fields
Name | Type | Description |
---|---|---|
embedded |
object | |
sizes |
object | URLs of the picture for different sizes, if available on a CDN. |
Schema
{
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
}
Show the schema of the message in JSON format.
PingSlotPeriod
Supported values
Name | Description |
---|---|
PING_EVERY_1S |
Every second. |
PING_EVERY_2S |
Every 2 seconds. |
PING_EVERY_4S |
Every 4 seconds. |
PING_EVERY_8S |
Every 8 seconds. |
PING_EVERY_16S |
Every 16 seconds. |
PING_EVERY_32S |
Every 32 seconds. |
PING_EVERY_64S |
Every 64 seconds. |
PING_EVERY_128S |
Every 128 seconds. |
PingSlotPeriodValue
Fields
Name | Type | Description |
---|---|---|
value |
string | - PING_EVERY_1S: Every second. - PING_EVERY_2S: Every 2 seconds. - PING_EVERY_4S: Every 4 seconds. - PING_EVERY_8S: Every 8 seconds. - PING_EVERY_16S: Every 16 seconds. - PING_EVERY_32S: Every 32 seconds. - PING_EVERY_64S: Every 64 seconds. - PING_EVERY_128S: Every 128 seconds. |
Schema
{
"value": {
"default": "PING_EVERY_1S",
"description": " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n - PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds.",
"enum": [
"PING_EVERY_1S",
"PING_EVERY_2S",
"PING_EVERY_4S",
"PING_EVERY_8S",
"PING_EVERY_16S",
"PING_EVERY_32S",
"PING_EVERY_64S",
"PING_EVERY_128S"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
PowerState
Supported values
Name | Description |
---|
QRCodeFormat
Fields
Name | Type | Description |
---|---|---|
description |
string | |
field_mask |
string | The entity fields required to generate the QR code. |
name |
string |
Schema
{
"description": {
"type": "string"
},
"field_mask": {
"description": "The entity fields required to generate the QR code.",
"type": "string"
},
"name": {
"type": "string"
}
}
Show the schema of the message in JSON format.
QRCodeFormats
Fields
Name | Type | Description |
---|---|---|
formats |
object | Available formats. The map key is the format identifier. |
Schema
{
"formats": {
"additionalProperties": {
"properties": {
"description": {
"type": "string"
},
"field_mask": {
"description": "The entity fields required to generate the QR code.",
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"description": "Available formats. The map key is the format identifier.",
"type": "object"
}
}
Show the schema of the message in JSON format.
RejoinCountExponent
Supported values
REJOIN_COUNT_16
REJOIN_COUNT_32
REJOIN_COUNT_64
REJOIN_COUNT_128
REJOIN_COUNT_256
REJOIN_COUNT_512
REJOIN_COUNT_1024
REJOIN_COUNT_2048
REJOIN_COUNT_4096
REJOIN_COUNT_8192
REJOIN_COUNT_16384
REJOIN_COUNT_32768
REJOIN_COUNT_65536
REJOIN_COUNT_131072
REJOIN_COUNT_262144
REJOIN_COUNT_524288
Default: REJOIN_COUNT_16
RejoinPeriodExponent
Supported values
Name | Description |
---|---|
REJOIN_PERIOD_0 |
Every 32 to 64 seconds. |
REJOIN_PERIOD_1 |
Every 64 to 96 seconds. |
REJOIN_PERIOD_2 |
Every 128 to 160 seconds. |
REJOIN_PERIOD_3 |
Every 256 to 288 seconds. |
REJOIN_PERIOD_4 |
Every 512 to 544 seconds. |
REJOIN_PERIOD_5 |
Every 1024 to 1056 seconds. |
REJOIN_PERIOD_6 |
Every 2048 to 2080 seconds. |
REJOIN_PERIOD_7 |
Every 4096 to 4128 seconds. |
RejoinRequestPayload
Fields
Name | Type | Description |
---|---|---|
dev_eui |
string | |
join_eui |
string | |
net_id |
string | |
rejoin_cnt |
integer | Contains RJCount0 or RJCount1 depending on rejoin_type. |
rejoin_type |
string | - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters. - SESSION: Equivalent to the initial JoinRequest. - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters. |
Schema
{
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
RejoinRequestType
Supported values
Name | Description |
---|---|
CONTEXT |
Resets DevAddr, Session Keys, Frame Counters, Radio Parameters. |
SESSION |
Equivalent to the initial JoinRequest. |
KEYS |
Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters. |
RejoinTimeExponent
Supported values
Name | Description |
---|---|
REJOIN_TIME_0 |
Every ~17.1 minutes. |
REJOIN_TIME_1 |
Every ~34.1 minutes. |
REJOIN_TIME_2 |
Every ~1.1 hours. |
REJOIN_TIME_3 |
Every ~2.3 hours. |
REJOIN_TIME_4 |
Every ~4.6 hours. |
REJOIN_TIME_5 |
Every ~9.1 hours. |
REJOIN_TIME_6 |
Every ~18.2 hours. |
REJOIN_TIME_7 |
Every ~1.5 days. |
REJOIN_TIME_8 |
Every ~3.0 days. |
REJOIN_TIME_9 |
Every ~6.1 days. |
REJOIN_TIME_10 |
Every ~12.1 days. |
REJOIN_TIME_11 |
Every ~3.5 weeks. |
REJOIN_TIME_12 |
Every ~1.6 months. |
REJOIN_TIME_13 |
Every ~3.2 months. |
REJOIN_TIME_14 |
Every ~6.4 months. |
REJOIN_TIME_15 |
Every ~1.1 year. |
RelayCADPeriodicity
Supported values
RELAY_CAD_PERIODICITY_1_SECOND
RELAY_CAD_PERIODICITY_500_MILLISECONDS
RELAY_CAD_PERIODICITY_250_MILLISECONDS
RELAY_CAD_PERIODICITY_100_MILLISECONDS
RELAY_CAD_PERIODICITY_50_MILLISECONDS
RELAY_CAD_PERIODICITY_20_MILLISECONDS
Default: RELAY_CAD_PERIODICITY_1_SECOND
RelayCtrlUplinkListAction
Supported values
RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT
RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE
Default: RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT
RelayEndDeviceAlwaysMode
RelayEndDeviceControlledMode
RelayEndDeviceDynamicMode
Fields
Name | Type | Description |
---|---|---|
smart_enable_level |
string |
Schema
{
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
RelayForwardDownlinkReq
Fields
Name | Type | Description |
---|---|---|
raw_payload |
string |
Schema
{
"raw_payload": {
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
RelayForwardLimits
Fields
Name | Type | Description |
---|---|---|
bucket_size |
string | |
reload_rate |
integer | The number of tokens which are replenished in the bucket every hour. |
Schema
{
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
RelayLimitBucketSize
Supported values
RELAY_LIMIT_BUCKET_SIZE_1
RELAY_LIMIT_BUCKET_SIZE_2
RELAY_LIMIT_BUCKET_SIZE_4
RELAY_LIMIT_BUCKET_SIZE_12
Default: RELAY_LIMIT_BUCKET_SIZE_1
RelayResetLimitCounter
Supported values
RELAY_RESET_LIMIT_COUNTER_ZERO
RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE
RELAY_RESET_LIMIT_COUNTER_MAX_VALUE
RELAY_RESET_LIMIT_COUNTER_NO_RESET
Default: RELAY_RESET_LIMIT_COUNTER_ZERO
RelaySecondChAckOffset
Supported values
RELAY_SECOND_CH_ACK_OFFSET_0
RELAY_SECOND_CH_ACK_OFFSET_200
RELAY_SECOND_CH_ACK_OFFSET_400
RELAY_SECOND_CH_ACK_OFFSET_800
RELAY_SECOND_CH_ACK_OFFSET_1600
RELAY_SECOND_CH_ACK_OFFSET_3200
Default: RELAY_SECOND_CH_ACK_OFFSET_0
RelaySecondChannel
Fields
Name | Type | Description |
---|---|---|
ack_offset |
string | |
data_rate_index |
string | |
frequency |
string | The frequency (Hz) used by the wake on radio message. |
Schema
{
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
RelaySettings
Fields
Name | Type | Description |
---|---|---|
served |
object | |
serving |
object |
Schema
{
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
RelaySmartEnableLevel
Supported values
RELAY_SMART_ENABLE_LEVEL_8
RELAY_SMART_ENABLE_LEVEL_16
RELAY_SMART_ENABLE_LEVEL_32
RELAY_SMART_ENABLE_LEVEL_64
Default: RELAY_SMART_ENABLE_LEVEL_8
RelayUplinkForwardLimits
Fields
Name | Type | Description |
---|---|---|
bucket_size |
string | |
reload_rate |
integer | The number of tokens which are replenished in the bucket every hour. |
Schema
{
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
RelayUplinkForwardingRule
Fields
Name | Type | Description |
---|---|---|
device_id |
string | End device identifier of the served end device. |
last_w_f_cnt |
integer | Last wake on radio frame counter used by the served end device. |
limits |
object | |
session_key_id |
string | Session key ID of the session keys used to derive the root relay session key. |
Schema
{
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
Right
Supported values
Name | Description |
---|---|
RIGHT_USER_INFO |
The right to view user information. |
RIGHT_USER_SETTINGS_BASIC |
The right to edit basic user settings. |
RIGHT_USER_SETTINGS_API_KEYS |
The right to view and edit user API keys. |
RIGHT_USER_DELETE |
The right to delete user account. |
RIGHT_USER_AUTHORIZED_CLIENTS |
The right to view and edit authorized OAuth clients of the user. |
RIGHT_USER_APPLICATIONS_LIST |
The right to list applications the user is a collaborator of. |
RIGHT_USER_APPLICATIONS_CREATE |
The right to create an application under the user account. |
RIGHT_USER_GATEWAYS_LIST |
The right to list gateways the user is a collaborator of. |
RIGHT_USER_GATEWAYS_CREATE |
The right to create a gateway under the account of the user. |
RIGHT_USER_CLIENTS_LIST |
The right to list OAuth clients the user is a collaborator of. |
RIGHT_USER_CLIENTS_CREATE |
The right to create an OAuth client under the account of the user. |
RIGHT_USER_ORGANIZATIONS_LIST |
The right to list organizations the user is a member of. |
RIGHT_USER_ORGANIZATIONS_CREATE |
The right to create an organization under the user account. |
RIGHT_USER_NOTIFICATIONS_READ |
The right to read notifications sent to the user. |
RIGHT_USER_ALL |
The pseudo-right for all (current and future) user rights. |
RIGHT_APPLICATION_INFO |
The right to view application information. |
RIGHT_APPLICATION_SETTINGS_BASIC |
The right to edit basic application settings. |
RIGHT_APPLICATION_SETTINGS_API_KEYS |
The right to view and edit application API keys. |
RIGHT_APPLICATION_SETTINGS_COLLABORATORS |
The right to view and edit application collaborators. |
RIGHT_APPLICATION_SETTINGS_PACKAGES |
The right to view and edit application packages and associations. |
RIGHT_APPLICATION_DELETE |
The right to delete application. |
RIGHT_APPLICATION_DEVICES_READ |
The right to view devices in application. |
RIGHT_APPLICATION_DEVICES_WRITE |
The right to create devices in application. |
RIGHT_APPLICATION_DEVICES_READ_KEYS |
The right to view device keys in application. |
RIGHT_APPLICATION_DEVICES_WRITE_KEYS |
The right to edit device keys in application. |
RIGHT_APPLICATION_TRAFFIC_READ |
The right to read application traffic (uplink and downlink). |
RIGHT_APPLICATION_TRAFFIC_UP_WRITE |
The right to write uplink application traffic. |
RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE |
The right to write downlink application traffic. |
RIGHT_APPLICATION_LINK |
The right to link as Application to a Network Server for traffic exchange, |
RIGHT_APPLICATION_ALL |
The pseudo-right for all (current and future) application rights. |
RIGHT_CLIENT_ALL |
The pseudo-right for all (current and future) OAuth client rights. |
RIGHT_CLIENT_INFO |
The right to read client information. |
RIGHT_CLIENT_SETTINGS_BASIC |
The right to edit basic client settings. |
RIGHT_CLIENT_SETTINGS_COLLABORATORS |
The right to view and edit client collaborators. |
RIGHT_CLIENT_DELETE |
The right to delete a client. |
RIGHT_GATEWAY_INFO |
The right to view gateway information. |
RIGHT_GATEWAY_SETTINGS_BASIC |
The right to edit basic gateway settings. |
RIGHT_GATEWAY_SETTINGS_API_KEYS |
The right to view and edit gateway API keys. |
RIGHT_GATEWAY_SETTINGS_COLLABORATORS |
The right to view and edit gateway collaborators. |
RIGHT_GATEWAY_DELETE |
The right to delete gateway. |
RIGHT_GATEWAY_TRAFFIC_READ |
The right to read gateway traffic. |
RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE |
The right to write downlink gateway traffic. |
RIGHT_GATEWAY_LINK |
The right to link as Gateway to a Gateway Server for traffic exchange, |
RIGHT_GATEWAY_STATUS_READ |
The right to view gateway status. |
RIGHT_GATEWAY_LOCATION_READ |
The right to view view gateway location. |
RIGHT_GATEWAY_WRITE_SECRETS |
The right to store secrets associated with this gateway. |
RIGHT_GATEWAY_READ_SECRETS |
The right to retrieve secrets associated with this gateway. |
RIGHT_GATEWAY_ALL |
The pseudo-right for all (current and future) gateway rights. |
RIGHT_ORGANIZATION_INFO |
The right to view organization information. |
RIGHT_ORGANIZATION_SETTINGS_BASIC |
The right to edit basic organization settings. |
RIGHT_ORGANIZATION_SETTINGS_API_KEYS |
The right to view and edit organization API keys. |
RIGHT_ORGANIZATION_SETTINGS_MEMBERS |
The right to view and edit organization members. |
RIGHT_ORGANIZATION_DELETE |
The right to delete organization. |
RIGHT_ORGANIZATION_APPLICATIONS_LIST |
The right to list the applications the organization is a collaborator of. |
RIGHT_ORGANIZATION_APPLICATIONS_CREATE |
The right to create an application under the organization. |
RIGHT_ORGANIZATION_GATEWAYS_LIST |
The right to list the gateways the organization is a collaborator of. |
RIGHT_ORGANIZATION_GATEWAYS_CREATE |
The right to create a gateway under the organization. |
RIGHT_ORGANIZATION_CLIENTS_LIST |
The right to list the OAuth clients the organization is a collaborator of. |
RIGHT_ORGANIZATION_CLIENTS_CREATE |
The right to create an OAuth client under the organization. |
RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR |
The right to add the organization as a collaborator on an existing entity. |
RIGHT_ORGANIZATION_ALL |
The pseudo-right for all (current and future) organization rights. |
RIGHT_SEND_INVITES |
The right to send invites to new users. |
RIGHT_ALL |
The pseudo-right for all (current and future) possible rights. |
Rights
Fields
Name | Type | Description |
---|---|---|
rights |
string |
Schema
{
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
RootKeys
Fields
Name | Type | Description |
---|---|---|
app_key |
object | |
nwk_key |
object | |
root_key_id |
string | Join Server issued identifier for the root keys. |
Schema
{
"app_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"root_key_id": {
"description": "Join Server issued identifier for the root keys.",
"type": "string"
}
}
Show the schema of the message in JSON format.
RxDelay
Supported values
Name | Description |
---|---|
RX_DELAY_0 |
1 second. |
RX_DELAY_1 |
1 second. |
RX_DELAY_2 |
2 seconds. |
RX_DELAY_3 |
3 seconds. |
RX_DELAY_4 |
4 seconds. |
RX_DELAY_5 |
5 seconds. |
RX_DELAY_6 |
6 seconds. |
RX_DELAY_7 |
7 seconds. |
RX_DELAY_8 |
8 seconds. |
RX_DELAY_9 |
9 seconds. |
RX_DELAY_10 |
10 seconds. |
RX_DELAY_11 |
11 seconds. |
RX_DELAY_12 |
12 seconds. |
RX_DELAY_13 |
13 seconds. |
RX_DELAY_14 |
14 seconds. |
RX_DELAY_15 |
15 seconds. |
RxDelayValue
Fields
Name | Type | Description |
---|---|---|
value |
string | - RX_DELAY_0: 1 second. - RX_DELAY_1: 1 second. - RX_DELAY_2: 2 seconds. - RX_DELAY_3: 3 seconds. - RX_DELAY_4: 4 seconds. - RX_DELAY_5: 5 seconds. - RX_DELAY_6: 6 seconds. - RX_DELAY_7: 7 seconds. - RX_DELAY_8: 8 seconds. - RX_DELAY_9: 9 seconds. - RX_DELAY_10: 10 seconds. - RX_DELAY_11: 11 seconds. - RX_DELAY_12: 12 seconds. - RX_DELAY_13: 13 seconds. - RX_DELAY_14: 14 seconds. - RX_DELAY_15: 15 seconds. |
Schema
{
"value": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
ScheduleDownlinkResponse
Fields
Name | Type | Description |
---|---|---|
delay |
string | The amount of time between the message has been scheduled and it will be transmitted by the gateway. |
downlink_path |
object | |
rx1 |
boolean | 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. |
rx2 |
boolean | 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. |
Schema
{
"delay": {
"description": "The amount of time between the message has been scheduled and it will be transmitted by the gateway.",
"type": "string"
},
"downlink_path": {
"properties": {
"fixed": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"rx1": {
"description": "Whether RX1 has been chosen for the downlink message.\nBoth RX1 and RX2 can be used for transmitting the same message by the same gateway.",
"type": "boolean"
},
"rx2": {
"description": "Whether RX2 has been chosen for the downlink message.\nBoth RX1 and RX2 can be used for transmitting the same message by the same gateway.",
"type": "boolean"
}
}
Show the schema of the message in JSON format.
SearchAccountsResponse
Fields
Name | Type | Description |
---|---|---|
account_ids |
object |
Schema
{
"account_ids": {
"items": {
"description": "OrganizationOrUserIdentifiers contains either organization or user identifiers.",
"properties": {
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
Secret
Fields
Name | Type | Description |
---|---|---|
key_id |
string | ID of the Key used to encrypt the secret. |
value |
string |
Schema
{
"key_id": {
"description": "ID of the Key used to encrypt the secret.",
"type": "string"
},
"value": {
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
SendInvitationRequest
Fields
Name | Type | Description |
---|---|---|
email |
string |
Schema
{
"email": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ServedRelayParameters
Fields
Name | Type | Description |
---|---|---|
always |
object | |
backoff |
integer | Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly. |
dynamic |
object | |
end_device_controlled |
object | |
second_channel |
object | |
serving_device_id |
string | End device identifier of the serving end device. |
Schema
{
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ServedRelaySettings
Fields
Name | Type | Description |
---|---|---|
always |
object | |
backoff |
integer | 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. |
dynamic |
object | |
end_device_controlled |
object | |
second_channel |
object | |
serving_device_id |
string | End device identifier of the serving end device. |
Schema
{
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
}
Show the schema of the message in JSON format.
ServingRelayForwardingLimits
Fields
Name | Type | Description |
---|---|---|
join_requests |
object | |
notifications |
object | |
overall |
object | |
reset_behavior |
string | |
uplink_messages |
object |
Schema
{
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
ServingRelayParameters
Fields
Name | Type | Description |
---|---|---|
cad_periodicity |
string | |
default_channel_index |
integer | Index of the default wake on radio channel. |
limits |
object | |
second_channel |
object | |
uplink_forwarding_rules |
object | Configured uplink forwarding rules. |
Schema
{
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ServingRelaySettings
Fields
Name | Type | Description |
---|---|---|
cad_periodicity |
string | |
default_channel_index |
integer | Index of the default wake on radio channel. If unset, the default value from Network Server configuration will be used. |
limits |
object | |
second_channel |
object | |
uplink_forwarding_rules |
object | Configured uplink forwarding rules. |
Schema
{
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
Session
Fields
Name | Type | Description |
---|---|---|
dev_addr |
string | 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. |
keys |
object | 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. |
last_a_f_cnt_down |
integer | Last application downlink frame counter value used. Application Server only. |
last_conf_f_cnt_down |
integer | Frame counter of the last confirmed downlink message sent. Network Server only. |
last_f_cnt_up |
integer | Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it. |
last_n_f_cnt_down |
integer | Last network downlink frame counter value used. Network Server only. |
queued_application_downlinks |
object | Queued Application downlink messages. Stored in Application Server and Network Server. |
started_at |
string | Time when the session started. Network Server only. |
Schema
{
"dev_addr": {
"description": "Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03).\nKnown by Network Server, Application Server and Join Server. Owned by Network Server.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"keys": {
"description": "Session keys for a LoRaWAN session.\nOnly the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.",
"properties": {
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"last_a_f_cnt_down": {
"description": "Last application downlink frame counter value used. Application Server only.",
"format": "int64",
"type": "integer"
},
"last_conf_f_cnt_down": {
"description": "Frame counter of the last confirmed downlink message sent. Network Server only.",
"format": "int64",
"type": "integer"
},
"last_f_cnt_up": {
"description": "Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it.",
"format": "int64",
"type": "integer"
},
"last_n_f_cnt_down": {
"description": "Last network downlink frame counter value used. Network Server only.",
"format": "int64",
"type": "integer"
},
"queued_application_downlinks": {
"description": "Queued Application downlink messages. Stored in Application Server and Network Server.",
"items": {
"properties": {
"class_b_c": {
"properties": {
"absolute_time": {
"description": "Absolute time when the downlink message should be transmitted.\nThis requires the gateway to have GPS time synchronization.\nIf the time is in the past or if there is a scheduling conflict, the downlink message fails.\nIf null, the time is selected based on slot availability. This is recommended in class B mode.",
"format": "date-time",
"type": "string"
},
"gateways": {
"description": "Possible gateway identifiers, antenna index, and group index to use for this downlink message.\nThe Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot.\nIf none of the gateways can be selected, the downlink message fails.\nIf empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks.\nIf group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.",
"items": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"group_index": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"confirmed": {
"type": "boolean"
},
"confirmed_retry": {
"properties": {
"attempt": {
"description": "The number of attempted confirmed downlink acknowledgements.",
"format": "int64",
"type": "integer"
},
"max_attempts": {
"description": "The maximum number of confirmed downlink acknowledgement attempts.\nIf null, the Application Server configuration is used instead.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decoded_payload": {
"description": "The decoded frame payload of the downlink message.\nWhen scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters),\nthis fields acts as input for the downlink encoder, and the output is set to frm_payload.\nWhen reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.",
"type": "object"
},
"decoded_payload_warnings": {
"description": "Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink).",
"items": {
"type": "string"
},
"type": "array"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"description": "The frame payload of the downlink message.\nThe payload is encrypted if the skip_payload_crypto field of the EndDevice\nis true.",
"format": "byte",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys used by this downlink.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"started_at": {
"description": "Time when the session started. Network Server only.",
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
SessionKeys
Fields
Name | Type | Description |
---|---|---|
app_s_key |
object | |
f_nwk_s_int_key |
object | |
nwk_s_enc_key |
object | |
s_nwk_s_int_key |
object | |
session_key_id |
string | 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. |
Schema
{
"app_s_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"f_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"nwk_s_enc_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"s_nwk_s_int_key": {
"properties": {
"encrypted_key": {
"format": "byte",
"type": "string"
},
"kek_label": {
"description": "The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.",
"type": "string"
},
"key": {
"description": "The unencrypted AES key.",
"example": "0123456789ABCDEF0123456789ABCDEF",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"session_key_id": {
"description": "Join Server issued identifier for the session keys.\nThis ID can be used to request the keys from the Join Server in case the are lost.",
"format": "byte",
"type": "string"
}
}
Show the schema of the message in JSON format.
SetPacketBrokerDefaultGatewayVisibilityRequest
Fields
Name | Type | Description |
---|---|---|
visibility |
object |
Schema
{
"visibility": {
"properties": {
"antenna_count": {
"description": "Show antenna count.",
"type": "boolean"
},
"antenna_placement": {
"description": "Show antenna placement (indoor/outdoor).",
"type": "boolean"
},
"contact_info": {
"description": "Show contact information.",
"type": "boolean"
},
"fine_timestamps": {
"description": "Show whether the gateway produces fine timestamps.",
"type": "boolean"
},
"frequency_plan": {
"description": "Show frequency plan.",
"type": "boolean"
},
"location": {
"description": "Show location.",
"type": "boolean"
},
"packet_rates": {
"description": "Show receive and transmission packet rates.",
"type": "boolean"
},
"status": {
"description": "Show status (online/offline).",
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
SetPacketBrokerDefaultRoutingPolicyRequest
Fields
Name | Type | Description |
---|---|---|
downlink |
object | |
uplink |
object |
Schema
{
"downlink": {
"properties": {
"application_data": {
"description": "Allow downlink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_accept": {
"description": "Allow join-accept messages.",
"type": "boolean"
},
"mac_data": {
"description": "Allow downlink messages with FPort of 0.",
"type": "boolean"
}
},
"type": "object"
},
"uplink": {
"properties": {
"application_data": {
"description": "Forward uplink messages with FPort between 1 and 255.",
"type": "boolean"
},
"join_request": {
"description": "Forward join-request messages.",
"type": "boolean"
},
"localization": {
"description": "Forward gateway location, RSSI, SNR and fine timestamp.",
"type": "boolean"
},
"mac_data": {
"description": "Forward uplink messages with FPort of 0.",
"type": "boolean"
},
"signal_quality": {
"description": "Forward RSSI and SNR.",
"type": "boolean"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
State
Supported values
Name | Description |
---|---|
STATE_REQUESTED |
Denotes that the entity has been requested and is pending review by an admin. |
STATE_APPROVED |
Denotes that the entity has been reviewed and approved by an admin. |
STATE_REJECTED |
Denotes that the entity has been reviewed and rejected by an admin. |
STATE_FLAGGED |
Denotes that the entity has been flagged and is pending review by an admin. |
STATE_SUSPENDED |
Denotes that the entity has been reviewed and suspended by an admin. |
StreamEventsRequest
Fields
Name | Type | Description |
---|---|---|
after |
string | If not empty, this will return historical events after the given time when the stream starts. If used in combination with "tail", the limit that is reached first, is used. The availability of historical events depends on server support and retention policy. |
identifiers |
object | |
names |
string | If provided, this will filter events, so that only events with the given names are returned. Names can be provided as either exact event names (e.g. 'gs.up.receive'), or as regular expressions (e.g. '/^gs\..+/'). |
tail |
integer | If greater than zero, this will return historical events, up to this maximum when the stream starts. If used in combination with "after", the limit that is reached first, is used. The availability of historical events depends on server support and retention policy. |
Schema
{
"after": {
"description": "If not empty, this will return historical events after the given time when the stream starts.\nIf used in combination with \"tail\", the limit that is reached first, is used.\nThe availability of historical events depends on server support and retention policy.",
"format": "date-time",
"type": "string"
},
"identifiers": {
"items": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"names": {
"description": "If provided, this will filter events, so that only events with the given names are returned.\nNames can be provided as either exact event names (e.g. 'gs.up.receive'),\nor as regular expressions (e.g. '/^gs\\..+/').",
"items": {
"type": "string"
},
"type": "array"
},
"tail": {
"description": "If greater than zero, this will return historical events, up to this maximum when the stream starts.\nIf used in combination with \"after\", the limit that is reached first, is used.\nThe availability of historical events depends on server support and retention policy.",
"format": "int64",
"type": "integer"
}
}
Show the schema of the message in JSON format.
Tenant
Fields
Name | Type | Description |
---|---|---|
attributes |
object | |
billing |
object | |
billing_identifiers |
object | |
capabilities |
object | |
configuration |
object | |
contact_info |
object | |
created_at |
string | |
description |
string | |
ids |
object | |
max_applications |
string | If set, restricts the maximum number of applications that can be created. |
max_clients |
string | If set, restricts the maximum number of clients that can be created. |
max_end_devices |
string | If set, restricts the maximum number of end_devices that can be created. |
max_gateways |
string | If set, restricts the maximum number of gateways that can be created. |
max_organizations |
string | If set, restricts the maximum number of organizations that can be created. |
max_users |
string | If set, restricts the maximum number of users that can be created. |
name |
string | |
state |
string | State enum defines states that an entity can be in. - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin. - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin. - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin. - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin. - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin. |
state_description |
string | A description for the state field. This field can only be modified by admins, and should typically only be updated when also updating `state`. |
updated_at |
string |
Schema
{
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"billing": {
"properties": {
"aws_saas_marketplace": {
"properties": {
"customer_identifier": {
"type": "string"
},
"product_code": {
"type": "string"
}
},
"type": "object"
},
"counting": {
"properties": {
"end_devices": {
"default": "ALL",
"enum": [
"ALL",
"ONLY_ACTIVATED"
],
"type": "string"
}
},
"type": "object"
},
"stripe": {
"properties": {
"customer_id": {
"type": "string"
},
"plan_id": {
"type": "string"
},
"subscription_id": {
"type": "string"
},
"subscription_item_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"billing_identifiers": {
"properties": {
"billing_id": {
"type": "string"
}
},
"type": "object"
},
"capabilities": {
"type": "object"
},
"configuration": {
"properties": {
"clusters": {
"additionalProperties": {
"properties": {
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"description": "Configuration per cluster (by ID).",
"type": "object"
},
"default_cluster": {
"properties": {
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"pb": {
"properties": {
"listed": {
"description": "Indicates whether the Home Network is publicly listed.",
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"contact_info": {
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"type": "string"
},
"ids": {
"properties": {
"tenant_id": {
"type": "string"
}
},
"type": "object"
},
"max_applications": {
"description": "If set, restricts the maximum number of applications that can be created.",
"format": "uint64",
"type": "string"
},
"max_clients": {
"description": "If set, restricts the maximum number of clients that can be created.",
"format": "uint64",
"type": "string"
},
"max_end_devices": {
"description": "If set, restricts the maximum number of end_devices that can be created.",
"format": "uint64",
"type": "string"
},
"max_gateways": {
"description": "If set, restricts the maximum number of gateways that can be created.",
"format": "uint64",
"type": "string"
},
"max_organizations": {
"description": "If set, restricts the maximum number of organizations that can be created.",
"format": "uint64",
"type": "string"
},
"max_users": {
"description": "If set, restricts the maximum number of users that can be created.",
"format": "uint64",
"type": "string"
},
"name": {
"type": "string"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
TenantIdentifiers
Fields
Name | Type | Description |
---|---|---|
tenant_id |
string |
Schema
{
"tenant_id": {
"type": "string"
}
}
Show the schema of the message in JSON format.
TenantRegistryTotals
Fields
Name | Type | Description |
---|---|---|
activated_end_devices |
string | |
applications |
string | |
clients |
string | |
end_devices |
string | |
gateways |
string | |
organizations |
string | |
users |
string |
Schema
{
"activated_end_devices": {
"format": "uint64",
"type": "string"
},
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"end_devices": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
},
"users": {
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
TenantRegistryUpdateBody
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | |
tenant |
object | Tenant is the message that defines a Tenant in the network. |
Schema
{
"field_mask": {
"type": "string"
},
"tenant": {
"description": "Tenant is the message that defines a Tenant in the network.",
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"billing": {
"properties": {
"aws_saas_marketplace": {
"properties": {
"customer_identifier": {
"type": "string"
},
"product_code": {
"type": "string"
}
},
"type": "object"
},
"counting": {
"properties": {
"end_devices": {
"default": "ALL",
"enum": [
"ALL",
"ONLY_ACTIVATED"
],
"type": "string"
}
},
"type": "object"
},
"stripe": {
"properties": {
"customer_id": {
"type": "string"
},
"plan_id": {
"type": "string"
},
"subscription_id": {
"type": "string"
},
"subscription_item_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"billing_identifiers": {
"properties": {
"billing_id": {
"type": "string"
}
},
"type": "object"
},
"capabilities": {
"type": "object"
},
"configuration": {
"properties": {
"clusters": {
"additionalProperties": {
"properties": {
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"description": "Configuration per cluster (by ID).",
"type": "object"
},
"default_cluster": {
"properties": {
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"pb": {
"properties": {
"listed": {
"description": "Indicates whether the Home Network is publicly listed.",
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"contact_info": {
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"type": "string"
},
"ids": {
"type": "object"
},
"max_applications": {
"description": "If set, restricts the maximum number of applications that can be created.",
"format": "uint64",
"type": "string"
},
"max_clients": {
"description": "If set, restricts the maximum number of clients that can be created.",
"format": "uint64",
"type": "string"
},
"max_end_devices": {
"description": "If set, restricts the maximum number of end_devices that can be created.",
"format": "uint64",
"type": "string"
},
"max_gateways": {
"description": "If set, restricts the maximum number of gateways that can be created.",
"format": "uint64",
"type": "string"
},
"max_organizations": {
"description": "If set, restricts the maximum number of organizations that can be created.",
"format": "uint64",
"type": "string"
},
"max_users": {
"description": "If set, restricts the maximum number of users that can be created.",
"format": "uint64",
"type": "string"
},
"name": {
"type": "string"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
Tenants
Fields
Name | Type | Description |
---|---|---|
tenants |
object |
Schema
{
"tenants": {
"items": {
"description": "Tenant is the message that defines a Tenant in the network.",
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"billing": {
"properties": {
"aws_saas_marketplace": {
"properties": {
"customer_identifier": {
"type": "string"
},
"product_code": {
"type": "string"
}
},
"type": "object"
},
"counting": {
"properties": {
"end_devices": {
"default": "ALL",
"enum": [
"ALL",
"ONLY_ACTIVATED"
],
"type": "string"
}
},
"type": "object"
},
"stripe": {
"properties": {
"customer_id": {
"type": "string"
},
"plan_id": {
"type": "string"
},
"subscription_id": {
"type": "string"
},
"subscription_item_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"billing_identifiers": {
"properties": {
"billing_id": {
"type": "string"
}
},
"type": "object"
},
"capabilities": {
"type": "object"
},
"configuration": {
"properties": {
"clusters": {
"additionalProperties": {
"properties": {
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"description": "Configuration per cluster (by ID).",
"type": "object"
},
"default_cluster": {
"properties": {
"ars": {
"properties": {
"routing": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"as": {
"properties": {
"webhooks": {
"properties": {
"queue": {
"properties": {
"enabled": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"gs": {
"properties": {
"mtls_authentication": {
"properties": {
"client_ca_pool": {
"description": "PEM encoded pool of X.509 root certificates to trust for verifying the presented TLS client certificate.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"is": {
"properties": {
"admin_rights": {
"properties": {
"all": {
"type": "boolean"
}
},
"type": "object"
},
"application_limits": {
"properties": {
"end_devices": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"email": {
"properties": {
"network": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"end_device_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
}
},
"type": "object"
},
"organization_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"profile_picture": {
"properties": {
"disable_upload": {
"type": "boolean"
},
"use_gravatar": {
"type": "boolean"
}
},
"type": "object"
},
"user_limits": {
"properties": {
"applications": {
"format": "uint64",
"type": "string"
},
"clients": {
"format": "uint64",
"type": "string"
},
"gateways": {
"format": "uint64",
"type": "string"
},
"organizations": {
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"user_login": {
"properties": {
"disable_credentials_login": {
"type": "boolean"
}
},
"type": "object"
},
"user_registration": {
"properties": {
"admin_approval": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"contact_info_validation": {
"properties": {
"required": {
"type": "boolean"
}
},
"type": "object"
},
"enabled": {
"type": "boolean"
},
"invitation": {
"properties": {
"required": {
"type": "boolean"
},
"token_ttl": {
"type": "string"
}
},
"type": "object"
},
"password_requirements": {
"properties": {
"max_length": {
"format": "int64",
"type": "integer"
},
"min_digits": {
"format": "int64",
"type": "integer"
},
"min_length": {
"format": "int64",
"type": "integer"
},
"min_special": {
"format": "int64",
"type": "integer"
},
"min_uppercase": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"user_rights": {
"properties": {
"create_applications": {
"type": "boolean"
},
"create_clients": {
"type": "boolean"
},
"create_gateways": {
"type": "boolean"
},
"create_organizations": {
"type": "boolean"
},
"update_name": {
"type": "boolean"
},
"update_primary_email_address": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"js": {
"properties": {
"join_eui_prefixes": {
"example": [
"70B3D57ED0000000/56"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"noc": {
"properties": {
"access": {
"properties": {
"extended": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"ns": {
"properties": {
"cooldown_window": {
"type": "string"
},
"deduplication_window": {
"type": "string"
},
"dev_addr_prefixes": {
"example": [
"2600AB00/24"
],
"items": {
"format": "byte",
"type": "string"
},
"type": "array"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"ns_id": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"ui": {
"properties": {
"branding_base_url": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"pb": {
"properties": {
"listed": {
"description": "Indicates whether the Home Network is publicly listed.",
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"contact_info": {
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"description": {
"type": "string"
},
"ids": {
"properties": {
"tenant_id": {
"type": "string"
}
},
"type": "object"
},
"max_applications": {
"description": "If set, restricts the maximum number of applications that can be created.",
"format": "uint64",
"type": "string"
},
"max_clients": {
"description": "If set, restricts the maximum number of clients that can be created.",
"format": "uint64",
"type": "string"
},
"max_end_devices": {
"description": "If set, restricts the maximum number of end_devices that can be created.",
"format": "uint64",
"type": "string"
},
"max_gateways": {
"description": "If set, restricts the maximum number of gateways that can be created.",
"format": "uint64",
"type": "string"
},
"max_organizations": {
"description": "If set, restricts the maximum number of organizations that can be created.",
"format": "uint64",
"type": "string"
},
"max_users": {
"description": "If set, restricts the maximum number of users that can be created.",
"format": "uint64",
"type": "string"
},
"name": {
"type": "string"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
TimeBucketQuery
Fields
Name | Type | Description |
---|---|---|
bucket_interval |
string | |
from |
string | |
to |
string |
Schema
{
"bucket_interval": {
"type": "string"
},
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
TimeWindowQuery
Fields
Name | Type | Description |
---|---|---|
from |
string | |
to |
string |
Schema
{
"from": {
"format": "date-time",
"type": "string"
},
"to": {
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
TrafficRatesTimeBuckets
Fields
Name | Type | Description |
---|---|---|
downlink |
object | |
uplink |
object |
Schema
{
"downlink": {
"items": {
"properties": {
"rate": {
"format": "float",
"type": "number"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"uplink": {
"items": {
"properties": {
"rate": {
"format": "float",
"type": "number"
},
"time": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
TxAcknowledgment
Fields
Name | Type | Description |
---|---|---|
correlation_ids |
string | Correlation IDs for the downlink message. Set automatically by the UDP and LBS frontends. For gRPC and the MQTT v3 frontends, the correlation IDs must match the ones of the downlink message the Tx acknowledgment message refers to. |
downlink_message |
object | Mapping from UDP message: imme: - tmst: scheduled.timestamp tmms: scheduled.time freq: scheduled.frequency rfch: (0) powe: scheduled.tx_power modu: scheduled.modulation datr: scheduled.data_rate_index (derived) codr: scheduled.coding_rate fdev: (derived from bandwidth) ipol: scheduled.invert_polarization prea: [scheduled.advanced] size: (derived from len(raw_payload)) data: raw_payload ncrc: [scheduled.advanced] |
result |
string |
Schema
{
"correlation_ids": {
"description": "Correlation IDs for the downlink message.\nSet automatically by the UDP and LBS frontends.\nFor gRPC and the MQTT v3 frontends, the correlation IDs must match the ones of the downlink message the Tx acknowledgment message refers to.",
"items": {
"type": "string"
},
"type": "array"
},
"downlink_message": {
"description": "Mapping from UDP message:\n\n imme: -\n tmst: scheduled.timestamp\n tmms: scheduled.time\n freq: scheduled.frequency\n rfch: (0)\n powe: scheduled.tx_power\n modu: scheduled.modulation\n datr: scheduled.data_rate_index (derived)\n codr: scheduled.coding_rate\n fdev: (derived from bandwidth)\n ipol: scheduled.invert_polarization\n prea: [scheduled.advanced]\n size: (derived from len(raw_payload))\n data: raw_payload\n ncrc: [scheduled.advanced]",
"properties": {
"correlation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"end_device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"payload": {
"properties": {
"join_accept_payload": {
"properties": {
"cf_list": {
"properties": {
"ch_masks": {
"description": "ChMasks controlling the channels to be used.\nLength of this field must be equal to the amount of uplink channels\ndefined by the selected frequency plan.",
"items": {
"type": "boolean"
},
"type": "array"
},
"freq": {
"description": "Frequencies to be broadcasted, in hecto-Hz.\nThese values are broadcasted as 24 bits unsigned integers.\nThis field should not contain default values.",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"type": {
"default": "FREQUENCIES",
"enum": [
"FREQUENCIES",
"CHANNEL_MASKS"
],
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dl_settings": {
"properties": {
"opt_neg": {
"description": "OptNeg is set if Network Server implements LoRaWAN 1.1 or greater.",
"type": "boolean"
},
"rx1_dr_offset": {
"default": "DATA_RATE_OFFSET_0",
"enum": [
"DATA_RATE_OFFSET_0",
"DATA_RATE_OFFSET_1",
"DATA_RATE_OFFSET_2",
"DATA_RATE_OFFSET_3",
"DATA_RATE_OFFSET_4",
"DATA_RATE_OFFSET_5",
"DATA_RATE_OFFSET_6",
"DATA_RATE_OFFSET_7"
],
"type": "string"
},
"rx2_dr": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
}
},
"type": "object"
},
"encrypted": {
"format": "byte",
"type": "string"
},
"join_nonce": {
"example": "ABCDEF",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rx_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
}
},
"type": "object"
},
"join_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"dev_nonce": {
"example": "ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"m_hdr": {
"properties": {
"m_type": {
"default": "JOIN_REQUEST",
"enum": [
"JOIN_REQUEST",
"JOIN_ACCEPT",
"UNCONFIRMED_UP",
"UNCONFIRMED_DOWN",
"CONFIRMED_UP",
"CONFIRMED_DOWN",
"REJOIN_REQUEST",
"PROPRIETARY"
],
"type": "string"
},
"major": {
"default": "LORAWAN_R1",
"enum": [
"LORAWAN_R1"
],
"type": "string"
}
},
"type": "object"
},
"mac_payload": {
"properties": {
"decoded_payload": {
"type": "object"
},
"f_hdr": {
"properties": {
"dev_addr": {
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"f_cnt": {
"format": "int64",
"type": "integer"
},
"f_ctrl": {
"properties": {
"ack": {
"type": "boolean"
},
"adr": {
"type": "boolean"
},
"adr_ack_req": {
"description": "Only on uplink.",
"type": "boolean"
},
"class_b": {
"description": "Only on uplink.",
"type": "boolean"
},
"f_pending": {
"description": "Only on downlink.",
"type": "boolean"
}
},
"type": "object"
},
"f_opts": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"f_port": {
"format": "int64",
"type": "integer"
},
"frm_payload": {
"format": "byte",
"type": "string"
},
"full_f_cnt": {
"description": "Full 32-bit FCnt value. Used internally by Network Server.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"mic": {
"format": "byte",
"type": "string"
},
"rejoin_request_payload": {
"properties": {
"dev_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"join_eui": {
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"net_id": {
"example": "000013",
"format": "string",
"type": "string"
},
"rejoin_cnt": {
"description": "Contains RJCount0 or RJCount1 depending on rejoin_type.",
"format": "int64",
"type": "integer"
},
"rejoin_type": {
"default": "CONTEXT",
"description": " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters.",
"enum": [
"CONTEXT",
"SESSION",
"KEYS"
],
"type": "string"
}
},
"type": "object"
}
},
"title": "Message represents a LoRaWAN message",
"type": "object"
},
"raw_payload": {
"format": "byte",
"type": "string"
},
"request": {
"description": "TxRequest is a request for transmission.\nIf sent to a roaming partner, this request is used to generate the DLMetadata Object (see Backend Interfaces 1.0, Table 22).\nIf the gateway has a scheduler, this request is sent to the gateway, in the order of gateway_ids.\nOtherwise, the Gateway Server attempts to schedule the request and creates the TxSettings.",
"properties": {
"absolute_time": {
"description": "Time when the downlink message should be transmitted.\nThis value is only valid for class C downlink; class A downlink uses uplink tokens and class B downlink is scheduled on ping slots.\nThis requires the gateway to have GPS time sychronization.\nIf the absolute time is not set, the first available time will be used that does not conflict or violate regional limitations.",
"format": "date-time",
"type": "string"
},
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"downlink_paths": {
"description": "Downlink paths used to select a gateway for downlink.\nIn class A, the downlink paths are required to only contain uplink tokens.\nIn class B and C, the downlink paths may contain uplink tokens and fixed gateways antenna identifiers.",
"items": {
"properties": {
"fixed": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"frequency_plan_id": {
"description": "Frequency plan ID from which the frequencies in this message are retrieved.",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"rx1_data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx1_frequency": {
"description": "Frequency (Hz) for Rx1.",
"format": "uint64",
"type": "string"
},
"rx2_data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"rx2_frequency": {
"description": "Frequency (Hz) for Rx2.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"scheduled": {
"description": "TxSettings contains the settings for a transmission.\nThis message is used on both uplink and downlink.\nOn downlink, this is a scheduled transmission.",
"properties": {
"concentrator_timestamp": {
"description": "Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler.\nThis value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival).\nThis field is set and used only by the Gateway Server.",
"format": "int64",
"type": "string"
},
"data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"downlink": {
"description": "Transmission settings for downlink.",
"properties": {
"antenna_index": {
"description": "Index of the antenna on which the uplink was received and/or downlink must be sent.",
"format": "int64",
"type": "integer"
},
"invert_polarization": {
"description": "Invert LoRa polarization; false for LoRaWAN uplink, true for downlink.",
"type": "boolean"
},
"tx_power": {
"description": "Transmission power (dBm). Only on downlink.",
"format": "float",
"type": "number"
}
},
"type": "object"
},
"enable_crc": {
"description": "Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled.",
"type": "boolean"
},
"frequency": {
"description": "Frequency (Hz).",
"format": "uint64",
"type": "string"
},
"time": {
"description": "Time of the gateway when the uplink message was received, or when the downlink message should be transmitted.\nFor downlink, this requires the gateway to have GPS time synchronization.",
"format": "date-time",
"type": "string"
},
"timestamp": {
"description": "Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds).\nOn downlink, set timestamp to 0 and time to null to use immediate scheduling.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"format": "byte",
"type": "string"
}
},
"title": "Downlink message from the network to the end device",
"type": "object"
},
"result": {
"default": "SUCCESS",
"enum": [
"SUCCESS",
"UNKNOWN_ERROR",
"TOO_LATE",
"TOO_EARLY",
"COLLISION_PACKET",
"COLLISION_BEACON",
"TX_FREQ",
"TX_POWER",
"GPS_UNLOCKED"
],
"type": "string"
}
}
Show the schema of the message in JSON format.
TxRequest
Fields
Name | Type | Description |
---|---|---|
absolute_time |
string | 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. |
advanced |
object | |
class |
string | |
downlink_paths |
object | 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. |
frequency_plan_id |
string | Frequency plan ID from which the frequencies in this message are retrieved. |
priority |
string | |
rx1_data_rate |
object | |
rx1_delay |
string | - RX_DELAY_0: 1 second. - RX_DELAY_1: 1 second. - RX_DELAY_2: 2 seconds. - RX_DELAY_3: 3 seconds. - RX_DELAY_4: 4 seconds. - RX_DELAY_5: 5 seconds. - RX_DELAY_6: 6 seconds. - RX_DELAY_7: 7 seconds. - RX_DELAY_8: 8 seconds. - RX_DELAY_9: 9 seconds. - RX_DELAY_10: 10 seconds. - RX_DELAY_11: 11 seconds. - RX_DELAY_12: 12 seconds. - RX_DELAY_13: 13 seconds. - RX_DELAY_14: 14 seconds. - RX_DELAY_15: 15 seconds. |
rx1_frequency |
string | Frequency (Hz) for Rx1. |
rx2_data_rate |
object | |
rx2_frequency |
string | Frequency (Hz) for Rx2. |
Schema
{
"absolute_time": {
"description": "Time when the downlink message should be transmitted.\nThis value is only valid for class C downlink; class A downlink uses uplink tokens and class B downlink is scheduled on ping slots.\nThis requires the gateway to have GPS time sychronization.\nIf the absolute time is not set, the first available time will be used that does not conflict or violate regional limitations.",
"format": "date-time",
"type": "string"
},
"advanced": {
"title": "Advanced metadata fields\n- can be used for advanced information or experimental features that are not yet formally defined in the API\n- field names are written in snake_case",
"type": "object"
},
"class": {
"default": "CLASS_A",
"enum": [
"CLASS_A",
"CLASS_B",
"CLASS_C"
],
"type": "string"
},
"downlink_paths": {
"description": "Downlink paths used to select a gateway for downlink.\nIn class A, the downlink paths are required to only contain uplink tokens.\nIn class B and C, the downlink paths may contain uplink tokens and fixed gateways antenna identifiers.",
"items": {
"properties": {
"fixed": {
"properties": {
"antenna_index": {
"format": "int64",
"type": "integer"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"uplink_token": {
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"frequency_plan_id": {
"description": "Frequency plan ID from which the frequencies in this message are retrieved.",
"type": "string"
},
"priority": {
"default": "LOWEST",
"enum": [
"LOWEST",
"LOW",
"BELOW_NORMAL",
"NORMAL",
"ABOVE_NORMAL",
"HIGH",
"HIGHEST"
],
"type": "string"
},
"rx1_data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"rx1_delay": {
"default": "RX_DELAY_0",
"description": " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8: 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12 seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds.",
"enum": [
"RX_DELAY_0",
"RX_DELAY_1",
"RX_DELAY_2",
"RX_DELAY_3",
"RX_DELAY_4",
"RX_DELAY_5",
"RX_DELAY_6",
"RX_DELAY_7",
"RX_DELAY_8",
"RX_DELAY_9",
"RX_DELAY_10",
"RX_DELAY_11",
"RX_DELAY_12",
"RX_DELAY_13",
"RX_DELAY_14",
"RX_DELAY_15"
],
"type": "string"
},
"rx1_frequency": {
"description": "Frequency (Hz) for Rx1.",
"format": "uint64",
"type": "string"
},
"rx2_data_rate": {
"properties": {
"fsk": {
"properties": {
"bit_rate": {
"description": "Bit rate (bps).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lora": {
"properties": {
"bandwidth": {
"description": "Bandwidth (Hz).",
"format": "int64",
"type": "integer"
},
"coding_rate": {
"type": "string"
},
"spreading_factor": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"lrfhss": {
"properties": {
"coding_rate": {
"type": "string"
},
"modulation_type": {
"format": "int64",
"type": "integer"
},
"operating_channel_width": {
"description": "Operating Channel Width (Hz).",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"rx2_frequency": {
"description": "Frequency (Hz) for Rx2.",
"format": "uint64",
"type": "string"
}
}
Show the schema of the message in JSON format.
TxSchedulePriority
Supported values
LOWEST
LOW
BELOW_NORMAL
NORMAL
ABOVE_NORMAL
HIGH
HIGHEST
Default: LOWEST
UpdatePacketBrokerGatewayResponse
Fields
Name | Type | Description |
---|---|---|
online_ttl |
string | Time to live of the online status. |
Schema
{
"online_ttl": {
"description": "Time to live of the online status.",
"type": "string"
}
}
Show the schema of the message in JSON format.
UpdateRelayResponse
Fields
Name | Type | Description |
---|---|---|
settings |
object | RelaySettings represent the settings of a relay. This is used internally by the Network Server. |
Schema
{
"settings": {
"description": "RelaySettings represent the settings of a relay.\nThis is used internally by the Network Server.",
"properties": {
"served": {
"properties": {
"always": {
"type": "object"
},
"backoff": {
"description": "Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"dynamic": {
"properties": {
"smart_enable_level": {
"default": "RELAY_SMART_ENABLE_LEVEL_8",
"enum": [
"RELAY_SMART_ENABLE_LEVEL_8",
"RELAY_SMART_ENABLE_LEVEL_16",
"RELAY_SMART_ENABLE_LEVEL_32",
"RELAY_SMART_ENABLE_LEVEL_64"
],
"type": "string"
}
},
"type": "object"
},
"end_device_controlled": {
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"serving_device_id": {
"description": "End device identifier of the serving end device.",
"type": "string"
}
},
"type": "object"
},
"serving": {
"properties": {
"cad_periodicity": {
"default": "RELAY_CAD_PERIODICITY_1_SECOND",
"enum": [
"RELAY_CAD_PERIODICITY_1_SECOND",
"RELAY_CAD_PERIODICITY_500_MILLISECONDS",
"RELAY_CAD_PERIODICITY_250_MILLISECONDS",
"RELAY_CAD_PERIODICITY_100_MILLISECONDS",
"RELAY_CAD_PERIODICITY_50_MILLISECONDS",
"RELAY_CAD_PERIODICITY_20_MILLISECONDS"
],
"title": "- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic",
"type": "string"
},
"default_channel_index": {
"description": "Index of the default wake on radio channel.\nIf unset, the default value from Network Server configuration will be used.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"join_requests": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"notifications": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"overall": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"reset_behavior": {
"default": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"enum": [
"RELAY_RESET_LIMIT_COUNTER_ZERO",
"RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE",
"RELAY_RESET_LIMIT_COUNTER_MAX_VALUE",
"RELAY_RESET_LIMIT_COUNTER_NO_RESET"
],
"type": "string"
},
"uplink_messages": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"second_channel": {
"properties": {
"ack_offset": {
"default": "RELAY_SECOND_CH_ACK_OFFSET_0",
"enum": [
"RELAY_SECOND_CH_ACK_OFFSET_0",
"RELAY_SECOND_CH_ACK_OFFSET_200",
"RELAY_SECOND_CH_ACK_OFFSET_400",
"RELAY_SECOND_CH_ACK_OFFSET_800",
"RELAY_SECOND_CH_ACK_OFFSET_1600",
"RELAY_SECOND_CH_ACK_OFFSET_3200"
],
"title": "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400: 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200: 3.2 MHz",
"type": "string"
},
"data_rate_index": {
"default": "DATA_RATE_0",
"enum": [
"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"
],
"type": "string"
},
"frequency": {
"description": "The frequency (Hz) used by the wake on radio message.",
"format": "uint64",
"type": "string"
}
},
"type": "object"
},
"uplink_forwarding_rules": {
"description": "Configured uplink forwarding rules.",
"items": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
UpdateRelayUplinkForwardingRuleResponse
Fields
Name | Type | Description |
---|---|---|
rule |
object |
Schema
{
"rule": {
"properties": {
"device_id": {
"description": "End device identifier of the served end device.",
"type": "string"
},
"last_w_f_cnt": {
"description": "Last wake on radio frame counter used by the served end device.",
"format": "int64",
"type": "integer"
},
"limits": {
"properties": {
"bucket_size": {
"default": "RELAY_LIMIT_BUCKET_SIZE_1",
"enum": [
"RELAY_LIMIT_BUCKET_SIZE_1",
"RELAY_LIMIT_BUCKET_SIZE_2",
"RELAY_LIMIT_BUCKET_SIZE_4",
"RELAY_LIMIT_BUCKET_SIZE_12"
],
"title": "- RELAY_LIMIT_BUCKET_SIZE_12: sic",
"type": "string"
},
"reload_rate": {
"description": "The number of tokens which are replenished in the bucket every hour.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"session_key_id": {
"description": "Session key ID of the session keys used to derive the root relay session key.",
"format": "byte",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
User
Fields
Name | Type | Description |
---|---|---|
admin |
boolean | This user is an admin. This information is public and can be seen by any authenticated user in the network. This field can only be modified by other admins. |
application_limit |
string | The maximum number of applications of the user. This field can only be modified by admins. |
attributes |
object | Key-value attributes for this users. Typically used for storing integration-specific data. |
client_limit |
string | The maximum number of clients of the user. This field can only be modified by admins. |
console_preferences |
object | UserConsolePreferences is the message that defines the user preferences for the Console. |
contact_info |
object | Contact information for this user. Typically used to indicate who to contact with security/billing questions about the user. This field is deprecated. |
created_at |
string | When the user was created. This information is public and can be seen by any authenticated user in the network. |
deleted_at |
string | When the user was deleted. This information is public and can be seen by any authenticated user in the network. |
description |
string | A description for the user. This information is public and can be seen by any authenticated user in the network. |
gateway_limit |
string | The maximum number of gateways of the user. This field can only be modified by admins. |
ids |
object | |
name |
string | The name of the user. This information is public and can be seen by any authenticated user in the network. |
organization_limit |
string | The maximum number of organizations of the user. This field can only be modified by admins. |
password |
string | The password field is only considered when creating a user. It is not returned on API calls, and can not be updated by updating the User. See the UpdatePassword method of the UserRegistry service for more information. |
password_updated_at |
string | |
primary_email_address |
string | Primary email address that can be used for logging in. This address is not public, use contact_info for that. |
primary_email_address_validated_at |
string | When the primary email address was validated. Note that email address validation is not required on all networks. |
profile_picture |
object | |
require_password_update |
boolean | |
state |
string | State enum defines states that an entity can be in. - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin. - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin. - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin. - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin. - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin. |
state_description |
string | A description for the state field. This field can only be modified by admins, and should typically only be updated when also updating `state`. |
temporary_password |
string | The temporary password can only be used to update a user's password; never returned on API calls. It is not returned on API calls, and can not be updated by updating the User. See the CreateTemporaryPassword method of the UserRegistry service for more information. |
temporary_password_created_at |
string | |
temporary_password_expires_at |
string | |
updated_at |
string | When the user was last updated. This information is public and can be seen by any authenticated user in the network. |
Schema
{
"admin": {
"description": "This user is an admin.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by other admins.",
"type": "boolean"
},
"application_limit": {
"description": "The maximum number of applications of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this users. Typically used for storing integration-specific data.",
"type": "object"
},
"client_limit": {
"description": "The maximum number of clients of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"console_preferences": {
"description": "UserConsolePreferences is the message that defines the user preferences for the Console.",
"properties": {
"console_theme": {
"default": "CONSOLE_THEME_SYSTEM",
"description": "ConsoleTheme is the theme of the Console.\n\n - CONSOLE_THEME_SYSTEM: The user prefers the system mode.\n - CONSOLE_THEME_LIGHT: The user prefers the light mode.\n - CONSOLE_THEME_DARK: The user prefers the dark mode.",
"enum": [
"CONSOLE_THEME_SYSTEM",
"CONSOLE_THEME_LIGHT",
"CONSOLE_THEME_DARK"
],
"type": "string"
},
"dashboard_layouts": {
"properties": {
"api_key": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"application": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"collaborator": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"end_device": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"gateway": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"organization": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"overview": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"user": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
}
},
"type": "object"
},
"sort_by": {
"description": "SortBy defines the field to which the Console will sort the display of entities.",
"properties": {
"api_key": {
"type": "string"
},
"application": {
"type": "string"
},
"collaborator": {
"type": "string"
},
"end_device": {
"type": "string"
},
"gateway": {
"type": "string"
},
"organization": {
"type": "string"
},
"user": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information for this user. Typically used to indicate who to contact with security/billing questions about the user.\nThis field is deprecated.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the user was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the user was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the user. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"gateway_limit": {
"description": "The maximum number of gateways of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"name": {
"description": "The name of the user. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"organization_limit": {
"description": "The maximum number of organizations of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"password": {
"description": "The password field is only considered when creating a user.\nIt is not returned on API calls, and can not be updated by updating the User.\nSee the UpdatePassword method of the UserRegistry service for more information.",
"type": "string"
},
"password_updated_at": {
"format": "date-time",
"type": "string"
},
"primary_email_address": {
"description": "Primary email address that can be used for logging in.\nThis address is not public, use contact_info for that.",
"type": "string"
},
"primary_email_address_validated_at": {
"description": "When the primary email address was validated. Note that email address validation is not required on all networks.",
"format": "date-time",
"type": "string"
},
"profile_picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"require_password_update": {
"type": "boolean"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"temporary_password": {
"description": "The temporary password can only be used to update a user's password; never returned on API calls.\nIt is not returned on API calls, and can not be updated by updating the User.\nSee the CreateTemporaryPassword method of the UserRegistry service for more information.",
"type": "string"
},
"temporary_password_created_at": {
"format": "date-time",
"type": "string"
},
"temporary_password_expires_at": {
"format": "date-time",
"type": "string"
},
"updated_at": {
"description": "When the user was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
}
Show the schema of the message in JSON format.
UserAccessCreateAPIKeyBody
Fields
Name | Type | Description |
---|---|---|
expires_at |
string | |
name |
string | |
rights |
string | |
user_ids |
object |
Schema
{
"expires_at": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"rights": {
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
UserAccessUpdateAPIKeyBody
Fields
Name | Type | Description |
---|---|---|
api_key |
object | |
field_mask |
string | The names of the api key fields that should be updated. |
user_ids |
object |
Schema
{
"api_key": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"key": {
"description": "Immutable and unique secret value of the API key.\nGenerated by the Access Server.",
"type": "string"
},
"name": {
"description": "User-defined (friendly) name for the API key.",
"type": "string"
},
"rights": {
"description": "Rights that are granted to this API key.",
"items": {
"default": "right_invalid",
"description": "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights.",
"enum": [
"right_invalid",
"RIGHT_USER_INFO",
"RIGHT_USER_SETTINGS_BASIC",
"RIGHT_USER_SETTINGS_API_KEYS",
"RIGHT_USER_DELETE",
"RIGHT_USER_AUTHORIZED_CLIENTS",
"RIGHT_USER_APPLICATIONS_LIST",
"RIGHT_USER_APPLICATIONS_CREATE",
"RIGHT_USER_GATEWAYS_LIST",
"RIGHT_USER_GATEWAYS_CREATE",
"RIGHT_USER_CLIENTS_LIST",
"RIGHT_USER_CLIENTS_CREATE",
"RIGHT_USER_ORGANIZATIONS_LIST",
"RIGHT_USER_ORGANIZATIONS_CREATE",
"RIGHT_USER_NOTIFICATIONS_READ",
"RIGHT_USER_ALL",
"RIGHT_APPLICATION_INFO",
"RIGHT_APPLICATION_SETTINGS_BASIC",
"RIGHT_APPLICATION_SETTINGS_API_KEYS",
"RIGHT_APPLICATION_SETTINGS_COLLABORATORS",
"RIGHT_APPLICATION_SETTINGS_PACKAGES",
"RIGHT_APPLICATION_DELETE",
"RIGHT_APPLICATION_DEVICES_READ",
"RIGHT_APPLICATION_DEVICES_WRITE",
"RIGHT_APPLICATION_DEVICES_READ_KEYS",
"RIGHT_APPLICATION_DEVICES_WRITE_KEYS",
"RIGHT_APPLICATION_TRAFFIC_READ",
"RIGHT_APPLICATION_TRAFFIC_UP_WRITE",
"RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE",
"RIGHT_APPLICATION_LINK",
"RIGHT_APPLICATION_ALL",
"RIGHT_CLIENT_ALL",
"RIGHT_CLIENT_INFO",
"RIGHT_CLIENT_SETTINGS_BASIC",
"RIGHT_CLIENT_SETTINGS_COLLABORATORS",
"RIGHT_CLIENT_DELETE",
"RIGHT_GATEWAY_INFO",
"RIGHT_GATEWAY_SETTINGS_BASIC",
"RIGHT_GATEWAY_SETTINGS_API_KEYS",
"RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
"RIGHT_GATEWAY_DELETE",
"RIGHT_GATEWAY_TRAFFIC_READ",
"RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE",
"RIGHT_GATEWAY_LINK",
"RIGHT_GATEWAY_STATUS_READ",
"RIGHT_GATEWAY_LOCATION_READ",
"RIGHT_GATEWAY_WRITE_SECRETS",
"RIGHT_GATEWAY_READ_SECRETS",
"RIGHT_GATEWAY_ALL",
"RIGHT_ORGANIZATION_INFO",
"RIGHT_ORGANIZATION_SETTINGS_BASIC",
"RIGHT_ORGANIZATION_SETTINGS_API_KEYS",
"RIGHT_ORGANIZATION_SETTINGS_MEMBERS",
"RIGHT_ORGANIZATION_DELETE",
"RIGHT_ORGANIZATION_APPLICATIONS_LIST",
"RIGHT_ORGANIZATION_APPLICATIONS_CREATE",
"RIGHT_ORGANIZATION_GATEWAYS_LIST",
"RIGHT_ORGANIZATION_GATEWAYS_CREATE",
"RIGHT_ORGANIZATION_CLIENTS_LIST",
"RIGHT_ORGANIZATION_CLIENTS_CREATE",
"RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR",
"RIGHT_ORGANIZATION_ALL",
"RIGHT_SEND_INVITES",
"RIGHT_ALL"
],
"type": "string"
},
"type": "array"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"field_mask": {
"description": "The names of the api key fields that should be updated.",
"type": "string"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
UserBookmark
Fields
Name | Type | Description |
---|---|---|
created_at |
string | |
entity_ids |
object | EntityIdentifiers contains one of the possible entity identifiers. |
user_ids |
object |
Schema
{
"created_at": {
"format": "date-time",
"type": "string"
},
"entity_ids": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
UserBookmarkRegistryCreateBody
Fields
Name | Type | Description |
---|---|---|
entity_ids |
object | EntityIdentifiers contains one of the possible entity identifiers. |
user_ids |
object |
Schema
{
"entity_ids": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
UserBookmarks
Fields
Name | Type | Description |
---|---|---|
bookmarks |
object |
Schema
{
"bookmarks": {
"items": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"entity_ids": {
"description": "EntityIdentifiers contains one of the possible entity identifiers.",
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"client_ids": {
"properties": {
"client_id": {
"type": "string"
}
},
"type": "object"
},
"device_ids": {
"properties": {
"application_ids": {
"properties": {
"application_id": {
"type": "string"
}
},
"type": "object"
},
"dev_addr": {
"description": "The LoRaWAN DevAddr.",
"example": "2600ABCD",
"format": "string",
"type": "string"
},
"dev_eui": {
"description": "The LoRaWAN DevEUI.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"device_id": {
"type": "string"
},
"join_eui": {
"description": "The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
}
},
"type": "object"
},
"gateway_ids": {
"properties": {
"eui": {
"description": "Secondary identifier, which can only be used in specific requests.",
"example": "70B3D57ED000ABCD",
"format": "string",
"type": "string"
},
"gateway_id": {
"type": "string"
}
},
"type": "object"
},
"organization_ids": {
"properties": {
"organization_id": {
"description": "This ID shares namespace with user IDs.",
"type": "string"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
UserConsolePreferences
Fields
Name | Type | Description |
---|---|---|
console_theme |
string | ConsoleTheme is the theme of the Console. - CONSOLE_THEME_SYSTEM: The user prefers the system mode. - CONSOLE_THEME_LIGHT: The user prefers the light mode. - CONSOLE_THEME_DARK: The user prefers the dark mode. |
dashboard_layouts |
object | |
sort_by |
object | SortBy defines the field to which the Console will sort the display of entities. |
Schema
{
"console_theme": {
"default": "CONSOLE_THEME_SYSTEM",
"description": "ConsoleTheme is the theme of the Console.\n\n - CONSOLE_THEME_SYSTEM: The user prefers the system mode.\n - CONSOLE_THEME_LIGHT: The user prefers the light mode.\n - CONSOLE_THEME_DARK: The user prefers the dark mode.",
"enum": [
"CONSOLE_THEME_SYSTEM",
"CONSOLE_THEME_LIGHT",
"CONSOLE_THEME_DARK"
],
"type": "string"
},
"dashboard_layouts": {
"properties": {
"api_key": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"application": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"collaborator": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"end_device": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"gateway": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"organization": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"overview": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"user": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
}
},
"type": "object"
},
"sort_by": {
"description": "SortBy defines the field to which the Console will sort the display of entities.",
"properties": {
"api_key": {
"type": "string"
},
"application": {
"type": "string"
},
"collaborator": {
"type": "string"
},
"end_device": {
"type": "string"
},
"gateway": {
"type": "string"
},
"organization": {
"type": "string"
},
"user": {
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
UserIdentifiers
Fields
Name | Type | Description |
---|---|---|
email |
string | Secondary identifier, which can only be used in specific requests. |
user_id |
string | This ID shares namespace with organization IDs. |
Schema
{
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
}
Show the schema of the message in JSON format.
UserRegistryUpdateBody
Fields
Name | Type | Description |
---|---|---|
field_mask |
string | The names of the user fields that should be updated. |
user |
object | User is the message that defines a user on the network. |
Schema
{
"field_mask": {
"description": "The names of the user fields that should be updated.",
"type": "string"
},
"user": {
"description": "User is the message that defines a user on the network.",
"properties": {
"admin": {
"description": "This user is an admin.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by other admins.",
"type": "boolean"
},
"application_limit": {
"description": "The maximum number of applications of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this users. Typically used for storing integration-specific data.",
"type": "object"
},
"client_limit": {
"description": "The maximum number of clients of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"console_preferences": {
"description": "UserConsolePreferences is the message that defines the user preferences for the Console.",
"properties": {
"console_theme": {
"default": "CONSOLE_THEME_SYSTEM",
"description": "ConsoleTheme is the theme of the Console.\n\n - CONSOLE_THEME_SYSTEM: The user prefers the system mode.\n - CONSOLE_THEME_LIGHT: The user prefers the light mode.\n - CONSOLE_THEME_DARK: The user prefers the dark mode.",
"enum": [
"CONSOLE_THEME_SYSTEM",
"CONSOLE_THEME_LIGHT",
"CONSOLE_THEME_DARK"
],
"type": "string"
},
"dashboard_layouts": {
"properties": {
"api_key": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"application": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"collaborator": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"end_device": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"gateway": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"organization": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"overview": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"user": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
}
},
"type": "object"
},
"sort_by": {
"description": "SortBy defines the field to which the Console will sort the display of entities.",
"properties": {
"api_key": {
"type": "string"
},
"application": {
"type": "string"
},
"collaborator": {
"type": "string"
},
"end_device": {
"type": "string"
},
"gateway": {
"type": "string"
},
"organization": {
"type": "string"
},
"user": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information for this user. Typically used to indicate who to contact with security/billing questions about the user.\nThis field is deprecated.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the user was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the user was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the user. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"gateway_limit": {
"description": "The maximum number of gateways of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"description": "The identifiers of the user. These are public and can be seen by any authenticated user in the network.",
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
}
},
"title": "The identifiers of the user. These are public and can be seen by any authenticated user in the network.",
"type": "object"
},
"name": {
"description": "The name of the user. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"organization_limit": {
"description": "The maximum number of organizations of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"password": {
"description": "The password field is only considered when creating a user.\nIt is not returned on API calls, and can not be updated by updating the User.\nSee the UpdatePassword method of the UserRegistry service for more information.",
"type": "string"
},
"password_updated_at": {
"format": "date-time",
"type": "string"
},
"primary_email_address": {
"description": "Primary email address that can be used for logging in.\nThis address is not public, use contact_info for that.",
"type": "string"
},
"primary_email_address_validated_at": {
"description": "When the primary email address was validated. Note that email address validation is not required on all networks.",
"format": "date-time",
"type": "string"
},
"profile_picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"require_password_update": {
"type": "boolean"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"temporary_password": {
"description": "The temporary password can only be used to update a user's password; never returned on API calls.\nIt is not returned on API calls, and can not be updated by updating the User.\nSee the CreateTemporaryPassword method of the UserRegistry service for more information.",
"type": "string"
},
"temporary_password_created_at": {
"format": "date-time",
"type": "string"
},
"temporary_password_expires_at": {
"format": "date-time",
"type": "string"
},
"updated_at": {
"description": "When the user was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
UserSession
Fields
Name | Type | Description |
---|---|---|
created_at |
string | |
expires_at |
string | |
session_id |
string | |
session_secret |
string | The session secret is used to compose an authorization key and is never returned. |
updated_at |
string | |
user_ids |
object |
Schema
{
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"session_id": {
"type": "string"
},
"session_secret": {
"description": "The session secret is used to compose an authorization key and is never returned.",
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
}
Show the schema of the message in JSON format.
UserSessions
Fields
Name | Type | Description |
---|---|---|
sessions |
object |
Schema
{
"sessions": {
"items": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"session_id": {
"type": "string"
},
"session_secret": {
"description": "The session secret is used to compose an authorization key and is never returned.",
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
},
"user_ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
Users
Fields
Name | Type | Description |
---|---|---|
users |
object |
Schema
{
"users": {
"items": {
"description": "User is the message that defines a user on the network.",
"properties": {
"admin": {
"description": "This user is an admin.\nThis information is public and can be seen by any authenticated user in the network.\nThis field can only be modified by other admins.",
"type": "boolean"
},
"application_limit": {
"description": "The maximum number of applications of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value attributes for this users. Typically used for storing integration-specific data.",
"type": "object"
},
"client_limit": {
"description": "The maximum number of clients of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"console_preferences": {
"description": "UserConsolePreferences is the message that defines the user preferences for the Console.",
"properties": {
"console_theme": {
"default": "CONSOLE_THEME_SYSTEM",
"description": "ConsoleTheme is the theme of the Console.\n\n - CONSOLE_THEME_SYSTEM: The user prefers the system mode.\n - CONSOLE_THEME_LIGHT: The user prefers the light mode.\n - CONSOLE_THEME_DARK: The user prefers the dark mode.",
"enum": [
"CONSOLE_THEME_SYSTEM",
"CONSOLE_THEME_LIGHT",
"CONSOLE_THEME_DARK"
],
"type": "string"
},
"dashboard_layouts": {
"properties": {
"api_key": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"application": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"collaborator": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"end_device": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"gateway": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"organization": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"overview": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
},
"user": {
"default": "DASHBOARD_LAYOUT_TABLE",
"description": "DashboardLayout is a set of possible layout values to be used in the Console.",
"enum": [
"DASHBOARD_LAYOUT_TABLE",
"DASHBOARD_LAYOUT_LIST",
"DASHBOARD_LAYOUT_GRID"
],
"type": "string"
}
},
"type": "object"
},
"sort_by": {
"description": "SortBy defines the field to which the Console will sort the display of entities.",
"properties": {
"api_key": {
"type": "string"
},
"application": {
"type": "string"
},
"collaborator": {
"type": "string"
},
"end_device": {
"type": "string"
},
"gateway": {
"type": "string"
},
"organization": {
"type": "string"
},
"user": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"contact_info": {
"description": "Contact information for this user. Typically used to indicate who to contact with security/billing questions about the user.\nThis field is deprecated.",
"items": {
"properties": {
"contact_method": {
"default": "CONTACT_METHOD_OTHER",
"enum": [
"CONTACT_METHOD_OTHER",
"CONTACT_METHOD_EMAIL",
"CONTACT_METHOD_PHONE"
],
"type": "string"
},
"contact_type": {
"default": "CONTACT_TYPE_OTHER",
"enum": [
"CONTACT_TYPE_OTHER",
"CONTACT_TYPE_ABUSE",
"CONTACT_TYPE_BILLING",
"CONTACT_TYPE_TECHNICAL"
],
"type": "string"
},
"public": {
"type": "boolean"
},
"validated_at": {
"format": "date-time",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created_at": {
"description": "When the user was created. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"deleted_at": {
"description": "When the user was deleted. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description for the user. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"gateway_limit": {
"description": "The maximum number of gateways of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"ids": {
"properties": {
"email": {
"description": "Secondary identifier, which can only be used in specific requests.",
"type": "string"
},
"user_id": {
"description": "This ID shares namespace with organization IDs.",
"type": "string"
}
},
"type": "object"
},
"name": {
"description": "The name of the user. This information is public and can be seen by any authenticated user in the network.",
"type": "string"
},
"organization_limit": {
"description": "The maximum number of organizations of the user.\nThis field can only be modified by admins.",
"format": "uint64",
"type": "string"
},
"password": {
"description": "The password field is only considered when creating a user.\nIt is not returned on API calls, and can not be updated by updating the User.\nSee the UpdatePassword method of the UserRegistry service for more information.",
"type": "string"
},
"password_updated_at": {
"format": "date-time",
"type": "string"
},
"primary_email_address": {
"description": "Primary email address that can be used for logging in.\nThis address is not public, use contact_info for that.",
"type": "string"
},
"primary_email_address_validated_at": {
"description": "When the primary email address was validated. Note that email address validation is not required on all networks.",
"format": "date-time",
"type": "string"
},
"profile_picture": {
"properties": {
"embedded": {
"properties": {
"data": {
"description": "Picture data. A data URI can be constructed as follows:\n`data:\u003cmime_type\u003e;base64,\u003cdata\u003e`.",
"format": "byte",
"type": "string"
},
"mime_type": {
"description": "MIME type of the picture.",
"type": "string"
}
},
"type": "object"
},
"sizes": {
"additionalProperties": {
"type": "string"
},
"description": "URLs of the picture for different sizes, if available on a CDN.",
"type": "object"
}
},
"type": "object"
},
"require_password_update": {
"type": "boolean"
},
"state": {
"default": "STATE_REQUESTED",
"description": "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the entity has been reviewed and suspended by an admin.",
"enum": [
"STATE_REQUESTED",
"STATE_APPROVED",
"STATE_REJECTED",
"STATE_FLAGGED",
"STATE_SUSPENDED"
],
"type": "string"
},
"state_description": {
"description": "A description for the state field.\nThis field can only be modified by admins, and should typically only be updated\nwhen also updating `state`.",
"type": "string"
},
"temporary_password": {
"description": "The temporary password can only be used to update a user's password; never returned on API calls.\nIt is not returned on API calls, and can not be updated by updating the User.\nSee the CreateTemporaryPassword method of the UserRegistry service for more information.",
"type": "string"
},
"temporary_password_created_at": {
"format": "date-time",
"type": "string"
},
"temporary_password_expires_at": {
"format": "date-time",
"type": "string"
},
"updated_at": {
"description": "When the user was last updated. This information is public and can be seen by any authenticated user in the network.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
Show the schema of the message in JSON format.
ValidateEmailRequest
Fields
Name | Type | Description |
---|---|---|
id |
string | |
token |
string |
Schema
{
"id": {
"type": "string"
},
"token": {
"type": "string"
}
}
Show the schema of the message in JSON format.
ZeroableFrequencyValue
Fields
Name | Type | Description |
---|---|---|
value |
string |
Schema
{
"value": {
"format": "uint64",
"type": "string"
}
}