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

API

    Overview
  • Concepts
  • Reference
    • HTTP(REST)
      • Routes
      • Messages
    • gRPC

Messages

This page lists all the message definitions used by The Things Stack APIs.

ADRSettingsDynamicMode

Configuration options for dynamic ADR.
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

Configuration options for static ADR.
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": {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "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"
  },
  "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"
      },
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "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"
      },
      "last_battery_percentage": {
        "properties": {
          "f_cnt": {
            "description": "Frame counter value of last uplink containing DevStatusAns.",
            "format": "int64",
            "type": "integer"
          },
          "received_at": {
            "description": "Time when last DevStatus MAC command was received.",
            "format": "date-time",
            "type": "string"
          },
          "value": {
            "description": "The battery percentage of the end device.\nThe value is defined in the [0, 100] interval.",
            "format": "float",
            "type": "number"
          }
        },
        "type": "object"
      },
      "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": {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "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"
  },
  "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

Application uplink message.
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": {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "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"
  },
  "downlink_failed": {
    "properties": {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "downlink": {
        "properties": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "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"
          },
          "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"
          },
          "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"
          },
          "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"
      },
      "error": {
        "$ref": "#/definitions/v3ErrorDetails"
      },
      "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"
      },
      "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"
  },
  "downlink_nack": {
    "properties": {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "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"
  },
  "downlink_queue_invalidated": {
    "properties": {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "downlinks": {
        "items": {
          "properties": {
            "attributes": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Attributes for devices, set by the Application Server while handling the message.",
              "type": "object"
            },
            "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"
            },
            "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"
            },
            "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"
            },
            "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"
      },
      "last_f_cnt_down": {
        "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"
      },
      "session_key_id": {
        "format": "byte",
        "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"
      }
    },
    "type": "object"
  },
  "downlink_queued": {
    "properties": {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "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"
  },
  "downlink_sent": {
    "properties": {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "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"
  },
  "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"
      },
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "invalidated_downlinks": {
        "description": "Downlink messages in the queue that got invalidated because of the session change.",
        "items": {
          "properties": {
            "attributes": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Attributes for devices, set by the Application Server while handling the message.",
              "type": "object"
            },
            "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"
            },
            "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"
            },
            "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"
            },
            "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"
      },
      "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"
      },
      "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"
      },
      "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"
  },
  "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": {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "data": {
        "type": "object"
      },
      "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"
      },
      "service": {
        "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"
      }
    },
    "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"
      },
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "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"
      },
      "last_battery_percentage": {
        "properties": {
          "f_cnt": {
            "description": "Frame counter value of last uplink containing DevStatusAns.",
            "format": "int64",
            "type": "integer"
          },
          "received_at": {
            "description": "Time when last DevStatus MAC command was received.",
            "format": "date-time",
            "type": "string"
          },
          "value": {
            "description": "The battery percentage of the end device.\nThe value is defined in the [0, 100] interval.",
            "format": "float",
            "type": "number"
          }
        },
        "type": "object"
      },
      "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": {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "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"
      },
      "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

The MQTT provider settings.
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

The NATS provider settings.
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 object Error details that are communicated over gRPC (and HTTP) APIs. The messages (for translation) are stored as "error:<namespace>:<name>".
Schema
{
  "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"
  }
}
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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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

EXPERIMENTAL: Channel steering settings.
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

EXPERIMENTAL: Configuration overrides.
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

EXPERIMENTAL: Data rate index override settings.
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

DEPRECATED: Device claiming that transfers devices between applications is no longer supported and will be removed in a future version of The Things Stack.
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

    LR-FHSS gateway capabilities.
    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

    Identifiers to uniquely identify a LoRaWAN end device profile.
    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

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryApplicationChannelsPacketCountBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryApplicationChannelsUtilizationBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryApplicationDataRatesPacketCountBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryApplicationEndDevicesActiveMetricsBody

    Request for application data in a specific time window.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryApplicationEventForwardCountBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryApplicationGatewaysSeenBody

    Request for application data in a specific time window.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryApplicationStatisticsBody

    Request for application data in a specific time window.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryApplicationWebhookFailureBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryApplicationWebhookFailureToForwardRatioBody

    Request for application data in a specific time window.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryApplicationWebhookFailureTopFiveBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryEndDeviceChannelsLoRaPerformanceBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryEndDeviceChannelsPacketCountBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryEndDeviceChannelsUtilizationBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryEndDeviceDataRatesPacketCountBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryEndDeviceLastSeenBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryEndDevicePacketErrorRateBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryEndDeviceSessionStartBody

    Request for end device data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryGatewayChannelsLoRaPerformanceBody

    Request for gateway data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryGatewayChannelsPacketCountBody

    Request for gateway data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryGatewayChannelsUtilizationBody

    Request for gateway data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryGatewayConnectionEventsBody

    Request for gateway connection events in a specific time window.
    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"
              },
              "limit": {
                "description": "Limit the number of results per page.",
                "format": "int64",
                "type": "integer"
              },
              "page": {
                "description": "Page number for pagination. 0 is interpreted as 1.",
                "format": "int64",
                "type": "integer"
              },
              "to": {
                "format": "date-time",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryGatewayDataRatesPacketCountBody

    Request for gateway data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryGatewayRTTStatisticsBody

    Request for gateway RTT data in a specific time window.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryGatewayTopNetworksSeenBody

    Request for top network seen by a gateway.
    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"
              },
              "limit": {
                "description": "Limit the number of results per page.",
                "format": "int64",
                "type": "integer"
              },
              "page": {
                "description": "Page number for pagination. 0 is interpreted as 1.",
                "format": "int64",
                "type": "integer"
              },
              "to": {
                "format": "date-time",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryGatewayTrafficRatesBody

    Request for gateway data using aggregates by time buckets with a specified interval.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NocQueryGatewayUptimeBody

    Request for gateway data in a specific time window.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "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.

    TenantAccessCreateSupportTokenBody

    Fields
    Name Type Description
    tenant_ids object
    Schema
    {
      "tenant_ids": {
        "type": "object"
      }
    }
    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

    Transmission settings for downlink.
    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

    SortBy defines the field to which the Console will sort the display of entities.
    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.

    UserConsolePreferencesTutorials

    Fields
    Name Type Description
    seen string
    Schema
    {
      "seen": {
        "items": {
          "default": "TUTORIAL_UNKNOWN",
          "description": "Tutorial is a set of possible tutorials in the Console.",
          "enum": [
            "TUTORIAL_UNKNOWN",
            "TUTORIAL_LIVE_DATA_SPLIT_VIEW",
            "TUTORIAL_LORAWAN_STARTER_USER"
          ],
          "type": "string"
        },
        "type": "array"
      }
    }
    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

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

    lorawanLabel

    Fields
    Name Type Description
    color string
    created_at string When the label was created. This information is public and can be seen by any authenticated user in the network.
    description string
    entities object EXPERIMENTAL: These definitions are subject to change.
    ids object
    name string
    updated_at string When the label was last updated. This information is public and can be seen by any authenticated user in the network.
    Schema
    {
      "color": {
        "type": "string"
      },
      "created_at": {
        "description": "When the label was created. This information is public and can be seen by any authenticated user in the network.",
        "format": "date-time",
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "entities": {
        "description": "EXPERIMENTAL: These definitions are subject to change.",
        "properties": {
          "applications": {
            "items": {
              "properties": {
                "application_id": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "clients": {
            "items": {
              "properties": {
                "client_id": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "end_devices": {
            "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"
          },
          "gateways": {
            "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"
          }
        },
        "type": "object"
      },
      "ids": {
        "properties": {
          "label_id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": {
        "type": "string"
      },
      "updated_at": {
        "description": "When the label 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.

    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

    RelayParameters represent the parameters of a relay. This is used internally by the Network Server.
    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

    Contains metadata for a received message. Each antenna that receives a message corresponds to one RxMetadata.
    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

    TxSettings contains the settings for a transmission. This message is used on both uplink and downlink. On downlink, this is a scheduled transmission.
    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

    Mapping from UDP message (other fields can be set in "advanced"): - time: rx_metadata.time - tmst: rx_metadata.timestamp - freq: settings.frequency - modu: settings.modulation - datr: settings.data_rate_index (and derived fields) - codr: settings.coding_rate - size: len(raw_payload) - data: raw_payload (and derived payload) - rsig: rx_metadata - ant: rx_metadata.antenna_index - chan: rx_metadata.channel_index - rssis: rx_metadata.rssi - lsnr: rx_metadata.snr
    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

    `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" }
    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

    Adaptive Data Rate settings.
    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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                  "RIGHT_USER_CREATE",
                  "RIGHT_USER_SETTINGS_API_KEYS",
                  "RIGHT_USER_DELETE",
                  "RIGHT_USER_PURGE",
                  "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_PURGE",
                  "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_CLIENT_PURGE",
                  "RIGHT_GATEWAY_INFO",
                  "RIGHT_GATEWAY_SETTINGS_BASIC",
                  "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                  "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                  "RIGHT_GATEWAY_DELETE",
                  "RIGHT_GATEWAY_PURGE",
                  "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_PURGE",
                  "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                  "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                  "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                  "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                  "RIGHT_EXTERNAL_USER_CREATE",
                  "RIGHT_EXTERNAL_USER_INFO",
                  "RIGHT_EXTERNAL_USER_DELETE",
                  "RIGHT_PACKET_BROKER_AGENT_READ",
                  "RIGHT_PACKET_BROKER_AGENT_WRITE",
                  "RIGHT_TENANT_CONFIGURATION_UPDATE",
                  "RIGHT_LABEL_CREATE",
                  "RIGHT_LABEL_INFO",
                  "RIGHT_LABELS_LIST",
                  "RIGHT_LABEL_UPDATE",
                  "RIGHT_LABEL_DELETE",
                  "RIGHT_LABEL_ASSIGN",
                  "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": {
            "attributes": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Attributes for devices, set by the Application Server while handling the message.",
              "type": "object"
            },
            "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"
            },
            "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"
            },
            "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"
            },
            "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"
      },
      "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": {
            "attributes": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Attributes for devices, set by the Application Server while handling the message.",
              "type": "object"
            },
            "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"
            },
            "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"
            },
            "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"
            },
            "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"
      },
      "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

    Application is the message that defines an Application in the network.
    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.
    label_ids string
    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"
      },
      "label_ids": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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
    attributes object Attributes for devices, set by the Application Server while handling the message.
    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.
    locations object End device location metadata, set by the Application Server while handling the message.
    network_ids object Identifies a Network Server.
    priority string
    session_key_id string Join Server issued identifier for the session keys used by this downlink.
    version_ids object Identifies an end device model with version information.
    Schema
    {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "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.

    ApplicationDownlinkFailed

    Fields
    Name Type Description
    attributes object Attributes for devices, set by the Application Server while handling the message.
    downlink object
    error ErrorDetails
    locations object End device location metadata, set by the Application Server while handling the message.
    network_ids object Identifies a Network Server.
    version_ids object Identifies an end device model with version information.
    Schema
    {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "downlink": {
        "properties": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "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"
          },
          "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"
          },
          "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"
          },
          "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"
      },
      "error": {
        "$ref": "#/definitions/v3ErrorDetails"
      },
      "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"
      },
      "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.

    ApplicationDownlinks

    Fields
    Name Type Description
    downlinks object
    Schema
    {
      "downlinks": {
        "items": {
          "properties": {
            "attributes": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Attributes for devices, set by the Application Server while handling the message.",
              "type": "object"
            },
            "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"
            },
            "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"
            },
            "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"
            },
            "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.

    ApplicationEndDeviceStatistic

    Application end devices statistic.
    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

    Application end devices statistics.
    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
    attributes object Attributes for devices, set by the Application Server while handling the message.
    downlinks object
    last_f_cnt_down integer
    locations object End device location metadata, set by the Application Server while handling the message.
    network_ids object Identifies a Network Server.
    session_key_id string
    version_ids object Identifies an end device model with version information.
    Schema
    {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "downlinks": {
        "items": {
          "properties": {
            "attributes": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Attributes for devices, set by the Application Server while handling the message.",
              "type": "object"
            },
            "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"
            },
            "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"
            },
            "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"
            },
            "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"
      },
      "last_f_cnt_down": {
        "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"
      },
      "session_key_id": {
        "format": "byte",
        "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.

    ApplicationJoinAccept

    Fields
    Name Type Description
    app_s_key object
    attributes object Attributes for devices, set by the Application Server while handling the message.
    invalidated_downlinks object Downlink messages in the queue that got invalidated because of the session change.
    locations object End device location metadata, set by the Application Server while handling the message.
    network_ids object Identifies a Network Server.
    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.
    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"
      },
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "invalidated_downlinks": {
        "description": "Downlink messages in the queue that got invalidated because of the session change.",
        "items": {
          "properties": {
            "attributes": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Attributes for devices, set by the Application Server while handling the message.",
              "type": "object"
            },
            "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"
            },
            "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"
            },
            "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"
            },
            "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"
      },
      "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"
      },
      "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"
      },
      "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.

    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

    Link stats as monitored by the Application Server.
    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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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
    attributes object Attributes for devices, set by the Application Server while handling the message.
    data object
    locations object End device location metadata, set by the Application Server while handling the message.
    network_ids object Identifies a Network Server.
    service string
    version_ids object Identifies an end device model with version information.
    Schema
    {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "type": "object"
      },
      "data": {
        "type": "object"
      },
      "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"
      },
      "service": {
        "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.

    ApplicationUp

    Application uplink message.
    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": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "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"
          },
          "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"
          },
          "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"
          },
          "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"
      },
      "downlink_failed": {
        "properties": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "downlink": {
            "properties": {
              "attributes": {
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Attributes for devices, set by the Application Server while handling the message.",
                "type": "object"
              },
              "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"
              },
              "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"
              },
              "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"
              },
              "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"
          },
          "error": {
            "$ref": "#/definitions/v3ErrorDetails"
          },
          "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"
          },
          "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"
      },
      "downlink_nack": {
        "properties": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "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"
          },
          "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"
          },
          "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"
          },
          "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"
      },
      "downlink_queue_invalidated": {
        "properties": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "downlinks": {
            "items": {
              "properties": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "last_f_cnt_down": {
            "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"
          },
          "session_key_id": {
            "format": "byte",
            "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"
          }
        },
        "type": "object"
      },
      "downlink_queued": {
        "properties": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "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"
          },
          "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"
          },
          "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"
          },
          "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"
      },
      "downlink_sent": {
        "properties": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "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"
          },
          "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"
          },
          "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"
          },
          "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"
      },
      "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"
          },
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "invalidated_downlinks": {
            "description": "Downlink messages in the queue that got invalidated because of the session change.",
            "items": {
              "properties": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "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"
          },
          "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"
          },
          "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"
      },
      "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": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "data": {
            "type": "object"
          },
          "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"
          },
          "service": {
            "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"
          }
        },
        "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"
          },
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "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"
          },
          "last_battery_percentage": {
            "properties": {
              "f_cnt": {
                "description": "Frame counter value of last uplink containing DevStatusAns.",
                "format": "int64",
                "type": "integer"
              },
              "received_at": {
                "description": "Time when last DevStatus MAC command was received.",
                "format": "date-time",
                "type": "string"
              },
              "value": {
                "description": "The battery percentage of the end device.\nThe value is defined in the [0, 100] interval.",
                "format": "float",
                "type": "number"
              }
            },
            "type": "object"
          },
          "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": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "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"
          },
          "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
    attributes object Attributes for devices, set by the Application Server while handling the message.
    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.
    last_battery_percentage object
    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"
      },
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "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"
      },
      "last_battery_percentage": {
        "properties": {
          "f_cnt": {
            "description": "Frame counter value of last uplink containing DevStatusAns.",
            "format": "int64",
            "type": "integer"
          },
          "received_at": {
            "description": "Time when last DevStatus MAC command was received.",
            "format": "date-time",
            "type": "string"
          },
          "value": {
            "description": "The battery percentage of the end device.\nThe value is defined in the [0, 100] interval.",
            "format": "float",
            "type": "number"
          }
        },
        "type": "object"
      },
      "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
    attributes object Attributes for devices, set by the Application Server while handling the message.
    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
    {
      "attributes": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "Attributes for devices, set by the Application Server while handling the message.",
        "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"
      },
      "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
    custom_ca string Custom CA certificate for the server where the webhooks are sent to. PEM formatted.
    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"
      },
      "custom_ca": {
        "description": "Custom CA certificate for the server where the webhooks are sent to. PEM formatted.",
        "format": "byte",
        "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": {
            "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"
      }
    }
    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"
          },
          "custom_ca": {
            "description": "Custom CA certificate for the server where the webhooks are sent to. PEM formatted.",
            "format": "byte",
            "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": {
                "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

    ApplicationWebhookTemplateField represents a custom field that needs to be filled by the user in order to use the template. A field can be an API key, an username or password, or any custom platform specific field (such as region). The fields are meant to be replaced inside the URLs and headers when the webhook is created.
    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"
            },
            "custom_ca": {
              "description": "Custom CA certificate for the server where the webhooks are sent to. PEM formatted.",
              "format": "byte",
              "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"
            },
            "label_ids": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "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

    Identifiers of active applications.
    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

    Applications statistic.
    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

    Applications statistics.
    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

    Application Server configuration.
    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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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_settings_profile_ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                    "RIGHT_USER_CREATE",
                    "RIGHT_USER_SETTINGS_API_KEYS",
                    "RIGHT_USER_DELETE",
                    "RIGHT_USER_PURGE",
                    "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_PURGE",
                    "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_CLIENT_PURGE",
                    "RIGHT_GATEWAY_INFO",
                    "RIGHT_GATEWAY_SETTINGS_BASIC",
                    "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                    "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                    "RIGHT_GATEWAY_DELETE",
                    "RIGHT_GATEWAY_PURGE",
                    "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_PURGE",
                    "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                    "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                    "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                    "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                    "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                    "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                    "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                    "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                    "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                    "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                    "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                    "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                    "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                    "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                    "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                    "RIGHT_EXTERNAL_USER_CREATE",
                    "RIGHT_EXTERNAL_USER_INFO",
                    "RIGHT_EXTERNAL_USER_DELETE",
                    "RIGHT_PACKET_BROKER_AGENT_READ",
                    "RIGHT_PACKET_BROKER_AGENT_WRITE",
                    "RIGHT_TENANT_CONFIGURATION_UPDATE",
                    "RIGHT_LABEL_CREATE",
                    "RIGHT_LABEL_INFO",
                    "RIGHT_LABELS_LIST",
                    "RIGHT_LABEL_UPDATE",
                    "RIGHT_LABEL_DELETE",
                    "RIGHT_LABEL_ASSIGN",
                    "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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

    DEPRECATED: This message is deprecated and will be removed in a future version of The Things Stack.
    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

    LoRa performance per channel.
    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

    Packet count per channel.
    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

    Utilization per channel.
    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

    LoRa performance of channels.
    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

    Packet counts of channels.
    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

    Utilizations of channels.
    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

    An OAuth client on the network.
    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
    label_ids string
    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"
      },
      "label_ids": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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"
            },
            "label_ids": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                  "RIGHT_USER_CREATE",
                  "RIGHT_USER_SETTINGS_API_KEYS",
                  "RIGHT_USER_DELETE",
                  "RIGHT_USER_PURGE",
                  "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_PURGE",
                  "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_CLIENT_PURGE",
                  "RIGHT_GATEWAY_INFO",
                  "RIGHT_GATEWAY_SETTINGS_BASIC",
                  "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                  "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                  "RIGHT_GATEWAY_DELETE",
                  "RIGHT_GATEWAY_PURGE",
                  "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_PURGE",
                  "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                  "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                  "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                  "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                  "RIGHT_EXTERNAL_USER_CREATE",
                  "RIGHT_EXTERNAL_USER_INFO",
                  "RIGHT_EXTERNAL_USER_DELETE",
                  "RIGHT_PACKET_BROKER_AGENT_READ",
                  "RIGHT_PACKET_BROKER_AGENT_WRITE",
                  "RIGHT_TENANT_CONFIGURATION_UPDATE",
                  "RIGHT_LABEL_CREATE",
                  "RIGHT_LABEL_INFO",
                  "RIGHT_LABELS_LIST",
                  "RIGHT_LABEL_UPDATE",
                  "RIGHT_LABEL_DELETE",
                  "RIGHT_LABEL_ASSIGN",
                  "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                  "RIGHT_USER_CREATE",
                  "RIGHT_USER_SETTINGS_API_KEYS",
                  "RIGHT_USER_DELETE",
                  "RIGHT_USER_PURGE",
                  "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_PURGE",
                  "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_CLIENT_PURGE",
                  "RIGHT_GATEWAY_INFO",
                  "RIGHT_GATEWAY_SETTINGS_BASIC",
                  "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                  "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                  "RIGHT_GATEWAY_DELETE",
                  "RIGHT_GATEWAY_PURGE",
                  "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_PURGE",
                  "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                  "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                  "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                  "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                  "RIGHT_EXTERNAL_USER_CREATE",
                  "RIGHT_EXTERNAL_USER_INFO",
                  "RIGHT_EXTERNAL_USER_DELETE",
                  "RIGHT_PACKET_BROKER_AGENT_READ",
                  "RIGHT_PACKET_BROKER_AGENT_WRITE",
                  "RIGHT_TENANT_CONFIGURATION_UPDATE",
                  "RIGHT_LABEL_CREATE",
                  "RIGHT_LABEL_INFO",
                  "RIGHT_LABELS_LIST",
                  "RIGHT_LABEL_UPDATE",
                  "RIGHT_LABEL_DELETE",
                  "RIGHT_LABEL_ASSIGN",
                  "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

    Number of entities connected in a time bucket.
    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

    Number of entities connected.
    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.

    CreateLabelRequest

    Fields
    Name Type Description
    label object
    Schema
    {
      "label": {
        "properties": {
          "color": {
            "type": "string"
          },
          "created_at": {
            "description": "When the label was created. This information is public and can be seen by any authenticated user in the network.",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "entities": {
            "description": "EXPERIMENTAL: These definitions are subject to change.",
            "properties": {
              "applications": {
                "items": {
                  "properties": {
                    "application_id": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "clients": {
                "items": {
                  "properties": {
                    "client_id": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "end_devices": {
                "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"
              },
              "gateways": {
                "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"
              }
            },
            "type": "object"
          },
          "ids": {
            "properties": {
              "label_id": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "description": "When the label 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.

    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.

    CreateMACSettingsProfileResponse

    Fields
    Name Type Description
    mac_settings_profile object
    Schema
    {
      "mac_settings_profile": {
        "properties": {
          "end_devices_count": {
            "description": "Associated end devices counter.",
            "format": "int64",
            "type": "integer"
          },
          "ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "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"
          }
        },
        "type": "object"
      }
    }
    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.

    CreateSupportTokenResponse

    Fields
    Name Type Description
    login_token string
    login_url string
    Schema
    {
      "login_token": {
        "type": "string"
      },
      "login_url": {
        "type": "string"
      }
    }
    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"
              },
              "tutorials": {
                "properties": {
                  "seen": {
                    "items": {
                      "default": "TUTORIAL_UNKNOWN",
                      "description": "Tutorial is a set of possible tutorials in the Console.",
                      "enum": [
                        "TUTORIAL_UNKNOWN",
                        "TUTORIAL_LIVE_DATA_SPLIT_VIEW",
                        "TUTORIAL_LORAWAN_STARTER_USER"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "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"
          },
          "email_notification_preferences": {
            "description": "EmailNotificationPreferences is the message that defines the types of notifications for which the user wants to receive an email.",
            "properties": {
              "types": {
                "items": {
                  "default": "UNKNOWN",
                  "enum": [
                    "UNKNOWN",
                    "API_KEY_CREATED",
                    "API_KEY_CHANGED",
                    "CLIENT_REQUESTED",
                    "COLLABORATOR_CHANGED",
                    "ENTITY_STATE_CHANGED",
                    "INVITATION",
                    "LOGIN_TOKEN",
                    "PASSWORD_CHANGED",
                    "TEMPORARY_PASSWORD",
                    "USER_REQUESTED",
                    "VALIDATE",
                    "SUPPORT_ACCESS_REQUESTED"
                  ],
                  "type": "string"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "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"
          },
          "universal_rights": {
            "description": "Universal rights are capable of restricting the user's interactions with the API, be it an admin or not.",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "RIGHT_ALL"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "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"
              },
              "tutorials": {
                "properties": {
                  "seen": {
                    "items": {
                      "default": "TUTORIAL_UNKNOWN",
                      "description": "Tutorial is a set of possible tutorials in the Console.",
                      "enum": [
                        "TUTORIAL_UNKNOWN",
                        "TUTORIAL_LIVE_DATA_SPLIT_VIEW",
                        "TUTORIAL_LORAWAN_STARTER_USER"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "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"
          },
          "email_notification_preferences": {
            "description": "EmailNotificationPreferences is the message that defines the types of notifications for which the user wants to receive an email.",
            "properties": {
              "types": {
                "items": {
                  "default": "UNKNOWN",
                  "enum": [
                    "UNKNOWN",
                    "API_KEY_CREATED",
                    "API_KEY_CHANGED",
                    "CLIENT_REQUESTED",
                    "COLLABORATOR_CHANGED",
                    "ENTITY_STATE_CHANGED",
                    "INVITATION",
                    "LOGIN_TOKEN",
                    "PASSWORD_CHANGED",
                    "TEMPORARY_PASSWORD",
                    "USER_REQUESTED",
                    "VALIDATE",
                    "SUPPORT_ACCESS_REQUESTED"
                  ],
                  "type": "string"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "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"
          },
          "universal_rights": {
            "description": "Universal rights are capable of restricting the user's interactions with the API, be it an admin or not.",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "RIGHT_ALL"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "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": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "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"
          },
          "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"
          },
          "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"
          },
          "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.

    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"
          },
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "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"
          },
          "last_battery_percentage": {
            "properties": {
              "f_cnt": {
                "description": "Frame counter value of last uplink containing DevStatusAns.",
                "format": "int64",
                "type": "integer"
              },
              "received_at": {
                "description": "Time when last DevStatus MAC command was received.",
                "format": "date-time",
                "type": "string"
              },
              "value": {
                "description": "The battery percentage of the end device.\nThe value is defined in the [0, 100] interval.",
                "format": "float",
                "type": "number"
              }
            },
            "type": "object"
          },
          "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.

    DeleteMACSettingsProfileResponse

    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.

    EmailNotificationPreferences

    EmailNotificationPreferences is the message that defines the types of notifications for which the user wants to receive an email.
    Fields
    Name Type Description
    types string
    Schema
    {
      "types": {
        "items": {
          "default": "UNKNOWN",
          "enum": [
            "UNKNOWN",
            "API_KEY_CREATED",
            "API_KEY_CHANGED",
            "CLIENT_REQUESTED",
            "COLLABORATOR_CHANGED",
            "ENTITY_STATE_CHANGED",
            "INVITATION",
            "LOGIN_TOKEN",
            "PASSWORD_CHANGED",
            "TEMPORARY_PASSWORD",
            "USER_REQUESTED",
            "VALIDATE",
            "SUPPORT_ACCESS_REQUESTED"
          ],
          "type": "string"
        },
        "type": "array"
      }
    }
    Show the schema of the message in JSON format.

    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": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "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"
          },
          "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"
          },
          "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"
          },
          "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.

    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

    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.
    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.
    label_ids string
    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_settings_profile_ids 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"
      },
      "label_ids": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "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_settings_profile_ids": {
        "properties": {
          "application_ids": {
            "properties": {
              "application_id": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "profile_id": {
            "description": "Profile ID.",
            "type": "string"
          }
        },
        "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": {
              "attributes": {
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Attributes for devices, set by the Application Server while handling the message.",
                "type": "object"
              },
              "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"
              },
              "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"
              },
              "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"
              },
              "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"
          },
          "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": {
              "attributes": {
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Attributes for devices, set by the Application Server while handling the message.",
                "type": "object"
              },
              "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"
              },
              "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"
              },
              "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"
              },
              "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"
          },
          "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": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "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": {
            "attributes": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Attributes for devices, set by the Application Server while handling the message.",
              "type": "object"
            },
            "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"
            },
            "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"
            },
            "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"
            },
            "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"
      },
      "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": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "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

    Authentication code for end devices.
    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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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_settings_profile_ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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_settings_profile_ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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_settings_profile_ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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

    Identifies an end device model with version information.
    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"
            },
            "label_ids": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "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_settings_profile_ids": {
              "properties": {
                "application_ids": {
                  "properties": {
                    "application_id": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "profile_id": {
                  "description": "Profile ID.",
                  "type": "string"
                }
              },
              "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                },
                "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                },
                "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": {
                      "attributes": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Attributes for devices, set by the Application Server while handling the message.",
                        "type": "object"
                      },
                      "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"
                      },
                      "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"
                      },
                      "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"
                      },
                      "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"
                },
                "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
            },
            "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": {
                      "attributes": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Attributes for devices, set by the Application Server while handling the message.",
                        "type": "object"
                      },
                      "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"
                      },
                      "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"
                      },
                      "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"
                      },
                      "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"
                },
                "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

    Identifiers of active end devices.
    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

    End devices statistic.
    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

    End devices statistics.
    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

    EntityIdentifiers contains one of the possible entity identifiers.
    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

    Error details that are communicated over gRPC (and HTTP) APIs. The messages (for translation) are stored as "error:<namespace>:<name>".
    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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                      "RIGHT_USER_CREATE",
                      "RIGHT_USER_SETTINGS_API_KEYS",
                      "RIGHT_USER_DELETE",
                      "RIGHT_USER_PURGE",
                      "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_PURGE",
                      "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_CLIENT_PURGE",
                      "RIGHT_GATEWAY_INFO",
                      "RIGHT_GATEWAY_SETTINGS_BASIC",
                      "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                      "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                      "RIGHT_GATEWAY_DELETE",
                      "RIGHT_GATEWAY_PURGE",
                      "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_PURGE",
                      "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                      "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                      "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                      "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                      "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                      "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                      "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                      "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                      "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                      "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                      "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                      "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                      "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                      "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                      "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                      "RIGHT_EXTERNAL_USER_CREATE",
                      "RIGHT_EXTERNAL_USER_INFO",
                      "RIGHT_EXTERNAL_USER_DELETE",
                      "RIGHT_PACKET_BROKER_AGENT_READ",
                      "RIGHT_PACKET_BROKER_AGENT_WRITE",
                      "RIGHT_TENANT_CONFIGURATION_UPDATE",
                      "RIGHT_LABEL_CREATE",
                      "RIGHT_LABEL_INFO",
                      "RIGHT_LABELS_LIST",
                      "RIGHT_LABEL_UPDATE",
                      "RIGHT_LABEL_DELETE",
                      "RIGHT_LABEL_ASSIGN",
                      "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

    Gateway is the message that defines a gateway on the network.
    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
    label_ids string
    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"
      },
      "label_ids": {
        "items": {
          "type": "string"
        },
        "title": "next: 34",
        "type": "array"
      },
      "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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

    GatewayAntenna is the message that defines a gateway antenna.
    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

    Authentication code for claiming gateways.
    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

    Gateway connection event.
    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

    Gateway connection events.
    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

    Connection stats as monitored by the Gateway Server.
    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

    Connectivity times of a gateway.
    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

    GatewayDown contains downlink messages for the gateway.
    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

    Gateway RTT statistic.
    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

    Gateway RTT statistics.
    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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "title": "next: 34",
            "type": "array"
          },
          "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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "title": "next: 34",
            "type": "array"
          },
          "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

    Remote Address of the Gateway, as seen by the Gateway Server.
    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

    Request for gateway data in a specific time window.
    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"
          },
          "limit": {
            "description": "Limit the number of results per page.",
            "format": "int64",
            "type": "integer"
          },
          "page": {
            "description": "Page number for pagination. 0 is interpreted as 1.",
            "format": "int64",
            "type": "integer"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    GatewayTopNetworksSeen

    Networks seen by a gateway.
    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

    Identifies an end device model with version information.
    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"
            },
            "label_ids": {
              "items": {
                "type": "string"
              },
              "title": "next: 34",
              "type": "array"
            },
            "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

    Identifiers of active gateways.
    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

    Connectivity times of gateways.
    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

    Response of GenerateDevAddr.
    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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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_settings_profile_ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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.

    GetGatewayInfoForEUIRequest

    Fields
    Name Type Description
    eui string
    field_mask string
    Schema
    {
      "eui": {
        "example": "70B3D57ED000ABCD",
        "format": "string",
        "type": "string"
      },
      "field_mask": {
        "type": "string"
      }
    }
    Show the schema of the message in JSON format.

    GetGatewayInfoForEUIResponse

    Fields
    Name Type Description
    gateway object Gateway is the message that defines a gateway on the network.
    tenant_ids object
    Schema
    {
      "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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "title": "next: 34",
            "type": "array"
          },
          "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"
      },
      "tenant_ids": {
        "properties": {
          "tenant_id": {
            "type": "string"
          }
        },
        "type": "object"
      }
    }
    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.

    GetMACSettingsProfileResponse

    Fields
    Name Type Description
    mac_settings_profile object
    Schema
    {
      "mac_settings_profile": {
        "properties": {
          "end_devices_count": {
            "description": "Associated end devices counter.",
            "format": "int64",
            "type": "integer"
          },
          "ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "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"
          }
        },
        "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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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_settings_profile_ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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.

    LabelAssociatedEntities

    EXPERIMENTAL: These definitions are subject to change.
    Fields
    Name Type Description
    applications object
    clients object
    end_devices object
    gateways object
    Schema
    {
      "applications": {
        "items": {
          "properties": {
            "application_id": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "clients": {
        "items": {
          "properties": {
            "client_id": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "end_devices": {
        "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"
      },
      "gateways": {
        "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.

    LabelIdentifiers

    Fields
    Name Type Description
    label_id string
    Schema
    {
      "label_id": {
        "type": "string"
      }
    }
    Show the schema of the message in JSON format.

    LabelRegistryUpdateBody

    Fields
    Name Type Description
    field_mask string
    label object
    Schema
    {
      "field_mask": {
        "type": "string"
      },
      "label": {
        "properties": {
          "color": {
            "type": "string"
          },
          "created_at": {
            "description": "When the label was created. This information is public and can be seen by any authenticated user in the network.",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "entities": {
            "description": "EXPERIMENTAL: These definitions are subject to change.",
            "properties": {
              "applications": {
                "items": {
                  "properties": {
                    "application_id": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "clients": {
                "items": {
                  "properties": {
                    "client_id": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "end_devices": {
                "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"
              },
              "gateways": {
                "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"
              }
            },
            "type": "object"
          },
          "ids": {
            "type": "object"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "description": "When the label 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.

    Labels

    Fields
    Name Type Description
    labels object
    Schema
    {
      "labels": {
        "items": {
          "properties": {
            "color": {
              "type": "string"
            },
            "created_at": {
              "description": "When the label was created. This information is public and can be seen by any authenticated user in the network.",
              "format": "date-time",
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "entities": {
              "description": "EXPERIMENTAL: These definitions are subject to change.",
              "properties": {
                "applications": {
                  "items": {
                    "properties": {
                      "application_id": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "clients": {
                  "items": {
                    "properties": {
                      "client_id": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "end_devices": {
                  "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"
                },
                "gateways": {
                  "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"
                }
              },
              "type": "object"
            },
            "ids": {
              "properties": {
                "label_id": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "name": {
              "type": "string"
            },
            "updated_at": {
              "description": "When the label 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.

    LastBatteryPercentage

    Fields
    Name Type Description
    f_cnt integer Frame counter value of last uplink containing DevStatusAns.
    received_at string Time when last DevStatus MAC command was received.
    value number The battery percentage of the end device. The value is defined in the [0, 100] interval.
    Schema
    {
      "f_cnt": {
        "description": "Frame counter value of last uplink containing DevStatusAns.",
        "format": "int64",
        "type": "integer"
      },
      "received_at": {
        "description": "Time when last DevStatus MAC command was received.",
        "format": "date-time",
        "type": "string"
      },
      "value": {
        "description": "The battery percentage of the end device.\nThe value is defined in the [0, 100] interval.",
        "format": "float",
        "type": "number"
      }
    }
    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

    Filter end devices by fields.
    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

    Filter gateways by fields.
    Fields
    Name Type Description
    updated_since string
    Schema
    {
      "updated_since": {
        "format": "date-time",
        "type": "string"
      }
    }
    Show the schema of the message in JSON format.

    ListMACSettingsProfilesResponse

    Fields
    Name Type Description
    mac_settings_profiles object The MAC settings profiles.
    Schema
    {
      "mac_settings_profiles": {
        "description": "The MAC settings profiles.",
        "items": {
          "properties": {
            "end_devices_count": {
              "description": "Associated end devices counter.",
              "format": "int64",
              "type": "integer"
            },
            "ids": {
              "properties": {
                "application_ids": {
                  "properties": {
                    "application_id": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "profile_id": {
                  "description": "Profile ID.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "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"
            }
          },
          "type": "object"
        },
        "type": "array"
      }
    }
    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.\nTODO: Replace with type NotificationType in v4 https://github.com/TheThingsNetwork/lorawan-stack/issues/7384.",
              "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

    MACParameters represent the parameters of the device's MAC layer (active or desired). This is used internally by the Network Server.
    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.

    MACSettingsProfile

    Fields
    Name Type Description
    end_devices_count integer Associated end devices counter.
    ids object
    mac_settings object
    Schema
    {
      "end_devices_count": {
        "description": "Associated end devices counter.",
        "format": "int64",
        "type": "integer"
      },
      "ids": {
        "properties": {
          "application_ids": {
            "properties": {
              "application_id": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "profile_id": {
            "description": "Profile ID.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "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"
      }
    }
    Show the schema of the message in JSON format.

    MACSettingsProfileIdentifiers

    Fields
    Name Type Description
    application_ids object
    profile_id string Profile ID.
    Schema
    {
      "application_ids": {
        "properties": {
          "application_id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "profile_id": {
        "description": "Profile ID.",
        "type": "string"
      }
    }
    Show the schema of the message in JSON format.

    MACState

    MACState represents the state of MAC layer of the device. MACState is reset on each join for OTAA or ResetInd for ABP devices. This is used internally by the Network Server.
    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": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Attributes for devices, set by the Application Server while handling the message.",
            "type": "object"
          },
          "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"
          },
          "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"
          },
          "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"
          },
          "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"
      },
      "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

    A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message. Used for type safe recent downlink storage.
    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

    A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message. Used for type safe recent uplink storage.
    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

    The connection information of an MQTT frontend.
    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

    Identifies a Network Server.
    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. TODO: Replace with type NotificationType in v4 https://github.com/TheThingsNetwork/lorawan-stack/issues/7384.
    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.\nTODO: Replace with type NotificationType in v4 https://github.com/TheThingsNetwork/lorawan-stack/issues/7384.",
        "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

    NotificationType

    Supported values
  • UNKNOWN
  • API_KEY_CREATED
  • API_KEY_CHANGED
  • CLIENT_REQUESTED
  • COLLABORATOR_CHANGED
  • ENTITY_STATE_CHANGED
  • INVITATION
  • LOGIN_TOKEN
  • PASSWORD_CHANGED
  • TEMPORARY_PASSWORD
  • USER_REQUESTED
  • VALIDATE
  • SUPPORT_ACCESS_REQUESTED
  • Default: UNKNOWN

    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"
          },
          "label_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "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_settings_profile_ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                  "attributes": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Attributes for devices, set by the Application Server while handling the message.",
                    "type": "object"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
              },
              "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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": {
                "attributes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Attributes for devices, set by the Application Server while handling the message.",
                  "type": "object"
                },
                "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"
                },
                "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"
                },
                "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"
                },
                "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"
          },
          "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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.

    NsMACSettingsProfileRegistryCreateBody

    Fields
    Name Type Description
    mac_settings_profile object The MAC settings profile to create.
    Schema
    {
      "mac_settings_profile": {
        "description": "The MAC settings profile to create.",
        "properties": {
          "end_devices_count": {
            "description": "Associated end devices counter.",
            "format": "int64",
            "type": "integer"
          },
          "ids": {
            "description": "Profile identifiers.",
            "properties": {
              "application_ids": {
                "description": "Application IDs.",
                "title": "Application IDs.",
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "title": "Profile identifiers.",
            "type": "object"
          },
          "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"
          }
        },
        "title": "The MAC settings profile to create.",
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    NsMACSettingsProfileRegistryUpdateBody

    Fields
    Name Type Description
    field_mask string The names of the fields that should be updated.
    mac_settings_profile object
    mac_settings_profile_ids object The identifiers of the MAC settings profile.
    Schema
    {
      "field_mask": {
        "description": "The names of the fields that should be updated.",
        "type": "string"
      },
      "mac_settings_profile": {
        "properties": {
          "end_devices_count": {
            "description": "Associated end devices counter.",
            "format": "int64",
            "type": "integer"
          },
          "ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "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"
          }
        },
        "type": "object"
      },
      "mac_settings_profile_ids": {
        "description": "The identifiers of the MAC settings profile.",
        "properties": {
          "application_ids": {
            "description": "Application IDs.",
            "title": "Application IDs.",
            "type": "object"
          }
        },
        "title": "The identifiers of the MAC settings profile.",
        "type": "object"
      }
    }
    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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                  "RIGHT_USER_CREATE",
                  "RIGHT_USER_SETTINGS_API_KEYS",
                  "RIGHT_USER_DELETE",
                  "RIGHT_USER_PURGE",
                  "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_PURGE",
                  "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_CLIENT_PURGE",
                  "RIGHT_GATEWAY_INFO",
                  "RIGHT_GATEWAY_SETTINGS_BASIC",
                  "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                  "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                  "RIGHT_GATEWAY_DELETE",
                  "RIGHT_GATEWAY_PURGE",
                  "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_PURGE",
                  "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                  "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                  "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                  "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                  "RIGHT_EXTERNAL_USER_CREATE",
                  "RIGHT_EXTERNAL_USER_INFO",
                  "RIGHT_EXTERNAL_USER_DELETE",
                  "RIGHT_PACKET_BROKER_AGENT_READ",
                  "RIGHT_PACKET_BROKER_AGENT_WRITE",
                  "RIGHT_TENANT_CONFIGURATION_UPDATE",
                  "RIGHT_LABEL_CREATE",
                  "RIGHT_LABEL_INFO",
                  "RIGHT_LABELS_LIST",
                  "RIGHT_LABEL_UPDATE",
                  "RIGHT_LABEL_DELETE",
                  "RIGHT_LABEL_ASSIGN",
                  "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                  "RIGHT_USER_CREATE",
                  "RIGHT_USER_SETTINGS_API_KEYS",
                  "RIGHT_USER_DELETE",
                  "RIGHT_USER_PURGE",
                  "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_PURGE",
                  "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_CLIENT_PURGE",
                  "RIGHT_GATEWAY_INFO",
                  "RIGHT_GATEWAY_SETTINGS_BASIC",
                  "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                  "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                  "RIGHT_GATEWAY_DELETE",
                  "RIGHT_GATEWAY_PURGE",
                  "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_PURGE",
                  "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                  "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                  "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                  "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                  "RIGHT_EXTERNAL_USER_CREATE",
                  "RIGHT_EXTERNAL_USER_INFO",
                  "RIGHT_EXTERNAL_USER_DELETE",
                  "RIGHT_PACKET_BROKER_AGENT_READ",
                  "RIGHT_PACKET_BROKER_AGENT_WRITE",
                  "RIGHT_TENANT_CONFIGURATION_UPDATE",
                  "RIGHT_LABEL_CREATE",
                  "RIGHT_LABEL_INFO",
                  "RIGHT_LABELS_LIST",
                  "RIGHT_LABEL_UPDATE",
                  "RIGHT_LABEL_DELETE",
                  "RIGHT_LABEL_ASSIGN",
                  "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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

    OrganizationOrUserIdentifiers contains either organization or user identifiers.
    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

    Gateway respresentation for Packet Broker. This is a subset and superset of the Gateway message using the same data types and field tags to achieve initial wire compatibility. There is no (longer) wire compatibility needed; new fields may use any tag.
    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"
              },
              "label_ids": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "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_settings_profile_ids": {
                "properties": {
                  "application_ids": {
                    "properties": {
                      "application_id": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "profile_id": {
                    "description": "Profile ID.",
                    "type": "string"
                  }
                },
                "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": {
                      "attributes": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Attributes for devices, set by the Application Server while handling the message.",
                        "type": "object"
                      },
                      "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"
                      },
                      "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"
                      },
                      "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"
                      },
                      "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"
                  },
                  "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": {
                      "attributes": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Attributes for devices, set by the Application Server while handling the message.",
                        "type": "object"
                      },
                      "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"
                      },
                      "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"
                      },
                      "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"
                      },
                      "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"
                  },
                  "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": {
                        "attributes": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Attributes for devices, set by the Application Server while handling the message.",
                          "type": "object"
                        },
                        "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"
                        },
                        "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"
                        },
                        "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"
                        },
                        "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"
                  },
                  "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": {
                    "attributes": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Attributes for devices, set by the Application Server while handling the message.",
                      "type": "object"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
                    },
                    "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"
              },
              "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": {
                        "attributes": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Attributes for devices, set by the Application Server while handling the message.",
                          "type": "object"
                        },
                        "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"
                        },
                        "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"
                        },
                        "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"
                        },
                        "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"
                  },
                  "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

    RelaySettings represent the settings of a relay. This is used internally by the Network Server.
    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.

    ReleaseGatewayEUIRequest

    Fields
    Name Type Description
    eui string
    Schema
    {
      "eui": {
        "example": "70B3D57ED000ABCD",
        "format": "string",
        "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_LIST The right to list users accounts.
    RIGHT_USER_CREATE The right to create an user account.
    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_PURGE The right to purge 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_PURGE The right to purge 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_CLIENT_PURGE The right to purge 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_PURGE The right to purge 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_PURGE The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE The right to create an alert notification profile.
    RIGHT_ALERT_NOTIFICATION_PROFILE_INFO The right to view an alert notification profile information.
    RIGHT_ALERT_NOTIFICATION_PROFILE_LIST The right to list the alert notification profiles.
    RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE The right to update an alert notification profiles.
    RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE The right to delete an alert notification profiles.
    RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE The right to create an alert notification receiver.
    RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO The right to view an alert notification receiver information.
    RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST The right to list the alert notification receivers.
    RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE The right to update an alert notification receivers.
    RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE The right to delete an alert notification receivers.
    RIGHT_AUTHENTICATION_PROVIDER_CREATE The right to create an authentication provider.
    RIGHT_AUTHENTICATION_PROVIDER_INFO The right to view an authentication provider information.
    RIGHT_AUTHENTICATION_PROVIDER_LIST The right to list the authentication providers
    RIGHT_AUTHENTICATION_PROVIDER_UPDATE The right to update an authentication providers.
    RIGHT_AUTHENTICATION_PROVIDER_DELETE The right to delete an authentication providers.
    RIGHT_EXTERNAL_USER_CREATE The right to create an external user.
    RIGHT_EXTERNAL_USER_INFO The right to view an external user's information.
    RIGHT_EXTERNAL_USER_DELETE The right to delete an external user.
    RIGHT_PACKET_BROKER_AGENT_READ The right to read any information related to the PBA.
    RIGHT_PACKET_BROKER_AGENT_WRITE The right to perform operations in the PBA.
    RIGHT_TENANT_CONFIGURATION_UPDATE The right to update a tenant's configuration.
    RIGHT_LABEL_CREATE The right to create a label.
    RIGHT_LABEL_INFO The right to view a label's information.
    RIGHT_LABELS_LIST The right to list the labels.
    RIGHT_LABEL_UPDATE The right to update a label.
    RIGHT_LABEL_DELETE The right to delete a label.
    RIGHT_LABEL_ASSIGN The right to assign a label to an entity.
    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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "RIGHT_ALL"
          ],
          "type": "string"
        },
        "type": "array"
      }
    }
    Show the schema of the message in JSON format.

    RootKeys

    Root keys for a LoRaWAN device. These are stored on the Join Server.
    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

    Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.
    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": {
            "attributes": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Attributes for devices, set by the Application Server while handling the message.",
              "type": "object"
            },
            "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"
            },
            "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"
            },
            "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"
            },
            "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"
      },
      "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

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

    Tenant is the message that defines a Tenant in the network.
    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

    Request for data using aggregates by time buckets with a specified interval.
    Fields
    Name Type Description
    bucket_interval string
    from string
    limit integer Limit the number of results per page.
    page integer Page number for pagination. 0 is interpreted as 1.
    to string
    Schema
    {
      "bucket_interval": {
        "type": "string"
      },
      "from": {
        "format": "date-time",
        "type": "string"
      },
      "limit": {
        "description": "Limit the number of results per page.",
        "format": "int64",
        "type": "integer"
      },
      "page": {
        "description": "Page number for pagination. 0 is interpreted as 1.",
        "format": "int64",
        "type": "integer"
      },
      "to": {
        "format": "date-time",
        "type": "string"
      }
    }
    Show the schema of the message in JSON format.

    TimeWindowQuery

    Request for data in a specific time window.
    Fields
    Name Type Description
    from string
    limit integer Limit the number of results per page.
    page integer Page number for pagination. 0 is interpreted as 1.
    to string
    Schema
    {
      "from": {
        "format": "date-time",
        "type": "string"
      },
      "limit": {
        "description": "Limit the number of results per page.",
        "format": "int64",
        "type": "integer"
      },
      "page": {
        "description": "Page number for pagination. 0 is interpreted as 1.",
        "format": "int64",
        "type": "integer"
      },
      "to": {
        "format": "date-time",
        "type": "string"
      }
    }
    Show the schema of the message in JSON format.

    TrafficRatesTimeBuckets

    Uplink and downlink message rates over time.
    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.

    Tutorial

    Supported values
    Name Description

    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

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

    UpdateMACSettingsProfileResponse

    Fields
    Name Type Description
    mac_settings_profile object
    Schema
    {
      "mac_settings_profile": {
        "properties": {
          "end_devices_count": {
            "description": "Associated end devices counter.",
            "format": "int64",
            "type": "integer"
          },
          "ids": {
            "properties": {
              "application_ids": {
                "properties": {
                  "application_id": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "profile_id": {
                "description": "Profile ID.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "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"
          }
        },
        "type": "object"
      }
    }
    Show the schema of the message in JSON format.

    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

    User is the message that defines a user on the network.
    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.
    email_notification_preferences object EmailNotificationPreferences is the message that defines the types of notifications for which the user wants to receive an email.
    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
    universal_rights string Universal rights are capable of restricting the user's interactions with the API, be it an admin or not.
    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"
          },
          "tutorials": {
            "properties": {
              "seen": {
                "items": {
                  "default": "TUTORIAL_UNKNOWN",
                  "description": "Tutorial is a set of possible tutorials in the Console.",
                  "enum": [
                    "TUTORIAL_UNKNOWN",
                    "TUTORIAL_LIVE_DATA_SPLIT_VIEW",
                    "TUTORIAL_LORAWAN_STARTER_USER"
                  ],
                  "type": "string"
                },
                "type": "array"
              }
            },
            "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"
      },
      "email_notification_preferences": {
        "description": "EmailNotificationPreferences is the message that defines the types of notifications for which the user wants to receive an email.",
        "properties": {
          "types": {
            "items": {
              "default": "UNKNOWN",
              "enum": [
                "UNKNOWN",
                "API_KEY_CREATED",
                "API_KEY_CHANGED",
                "CLIENT_REQUESTED",
                "COLLABORATOR_CHANGED",
                "ENTITY_STATE_CHANGED",
                "INVITATION",
                "LOGIN_TOKEN",
                "PASSWORD_CHANGED",
                "TEMPORARY_PASSWORD",
                "USER_REQUESTED",
                "VALIDATE",
                "SUPPORT_ACCESS_REQUESTED"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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"
      },
      "universal_rights": {
        "description": "Universal rights are capable of restricting the user's interactions with the API, be it an admin or not.",
        "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "RIGHT_ALL"
          ],
          "type": "string"
        },
        "type": "array"
      },
      "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
            "RIGHT_USER_CREATE",
            "RIGHT_USER_SETTINGS_API_KEYS",
            "RIGHT_USER_DELETE",
            "RIGHT_USER_PURGE",
            "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_PURGE",
            "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_CLIENT_PURGE",
            "RIGHT_GATEWAY_INFO",
            "RIGHT_GATEWAY_SETTINGS_BASIC",
            "RIGHT_GATEWAY_SETTINGS_API_KEYS",
            "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
            "RIGHT_GATEWAY_DELETE",
            "RIGHT_GATEWAY_PURGE",
            "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_PURGE",
            "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_ALERT_NOTIFICATION_PROFILE_CREATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
            "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
            "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
            "RIGHT_AUTHENTICATION_PROVIDER_INFO",
            "RIGHT_AUTHENTICATION_PROVIDER_LIST",
            "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
            "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
            "RIGHT_EXTERNAL_USER_CREATE",
            "RIGHT_EXTERNAL_USER_INFO",
            "RIGHT_EXTERNAL_USER_DELETE",
            "RIGHT_PACKET_BROKER_AGENT_READ",
            "RIGHT_PACKET_BROKER_AGENT_WRITE",
            "RIGHT_TENANT_CONFIGURATION_UPDATE",
            "RIGHT_LABEL_CREATE",
            "RIGHT_LABEL_INFO",
            "RIGHT_LABELS_LIST",
            "RIGHT_LABEL_UPDATE",
            "RIGHT_LABEL_DELETE",
            "RIGHT_LABEL_ASSIGN",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "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

    UserConsolePreferences is the message that defines the user preferences for the Console.
    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.
    tutorials object
    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"
      },
      "tutorials": {
        "properties": {
          "seen": {
            "items": {
              "default": "TUTORIAL_UNKNOWN",
              "description": "Tutorial is a set of possible tutorials in the Console.",
              "enum": [
                "TUTORIAL_UNKNOWN",
                "TUTORIAL_LIVE_DATA_SPLIT_VIEW",
                "TUTORIAL_LORAWAN_STARTER_USER"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "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"
              },
              "tutorials": {
                "properties": {
                  "seen": {
                    "items": {
                      "default": "TUTORIAL_UNKNOWN",
                      "description": "Tutorial is a set of possible tutorials in the Console.",
                      "enum": [
                        "TUTORIAL_UNKNOWN",
                        "TUTORIAL_LIVE_DATA_SPLIT_VIEW",
                        "TUTORIAL_LORAWAN_STARTER_USER"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "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"
          },
          "email_notification_preferences": {
            "description": "EmailNotificationPreferences is the message that defines the types of notifications for which the user wants to receive an email.",
            "properties": {
              "types": {
                "items": {
                  "default": "UNKNOWN",
                  "enum": [
                    "UNKNOWN",
                    "API_KEY_CREATED",
                    "API_KEY_CHANGED",
                    "CLIENT_REQUESTED",
                    "COLLABORATOR_CHANGED",
                    "ENTITY_STATE_CHANGED",
                    "INVITATION",
                    "LOGIN_TOKEN",
                    "PASSWORD_CHANGED",
                    "TEMPORARY_PASSWORD",
                    "USER_REQUESTED",
                    "VALIDATE",
                    "SUPPORT_ACCESS_REQUESTED"
                  ],
                  "type": "string"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "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"
          },
          "universal_rights": {
            "description": "Universal rights are capable of restricting the user's interactions with the API, be it an admin or not.",
            "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                "RIGHT_USER_CREATE",
                "RIGHT_USER_SETTINGS_API_KEYS",
                "RIGHT_USER_DELETE",
                "RIGHT_USER_PURGE",
                "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_PURGE",
                "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_CLIENT_PURGE",
                "RIGHT_GATEWAY_INFO",
                "RIGHT_GATEWAY_SETTINGS_BASIC",
                "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                "RIGHT_GATEWAY_DELETE",
                "RIGHT_GATEWAY_PURGE",
                "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_PURGE",
                "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                "RIGHT_EXTERNAL_USER_CREATE",
                "RIGHT_EXTERNAL_USER_INFO",
                "RIGHT_EXTERNAL_USER_DELETE",
                "RIGHT_PACKET_BROKER_AGENT_READ",
                "RIGHT_PACKET_BROKER_AGENT_WRITE",
                "RIGHT_TENANT_CONFIGURATION_UPDATE",
                "RIGHT_LABEL_CREATE",
                "RIGHT_LABEL_INFO",
                "RIGHT_LABELS_LIST",
                "RIGHT_LABEL_UPDATE",
                "RIGHT_LABEL_DELETE",
                "RIGHT_LABEL_ASSIGN",
                "RIGHT_ALL"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "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"
                },
                "tutorials": {
                  "properties": {
                    "seen": {
                      "items": {
                        "default": "TUTORIAL_UNKNOWN",
                        "description": "Tutorial is a set of possible tutorials in the Console.",
                        "enum": [
                          "TUTORIAL_UNKNOWN",
                          "TUTORIAL_LIVE_DATA_SPLIT_VIEW",
                          "TUTORIAL_LORAWAN_STARTER_USER"
                        ],
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "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"
            },
            "email_notification_preferences": {
              "description": "EmailNotificationPreferences is the message that defines the types of notifications for which the user wants to receive an email.",
              "properties": {
                "types": {
                  "items": {
                    "default": "UNKNOWN",
                    "enum": [
                      "UNKNOWN",
                      "API_KEY_CREATED",
                      "API_KEY_CHANGED",
                      "CLIENT_REQUESTED",
                      "COLLABORATOR_CHANGED",
                      "ENTITY_STATE_CHANGED",
                      "INVITATION",
                      "LOGIN_TOKEN",
                      "PASSWORD_CHANGED",
                      "TEMPORARY_PASSWORD",
                      "USER_REQUESTED",
                      "VALIDATE",
                      "SUPPORT_ACCESS_REQUESTED"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            },
            "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"
            },
            "universal_rights": {
              "description": "Universal rights are capable of restricting the user's interactions with the API, be it an admin or not.",
              "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_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\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_PURGE: The right to purge 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_PURGE: The right to purge 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_CLIENT_PURGE: The right to purge 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_PURGE: The right to purge 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_PURGE: The right to purge 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_ALERT_NOTIFICATION_PROFILE_CREATE: The right to create an alert notification profile.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_INFO: The right to view an alert notification profile information.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_LIST: The right to list the alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE: The right to update an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE: The right to delete an alert notification profiles.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE: The right to create an alert notification receiver.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO: The right to view an alert notification receiver information.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST: The right to list the alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE: The right to update an alert notification receivers.\n - RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE: The right to delete an alert notification receivers.\n - RIGHT_AUTHENTICATION_PROVIDER_CREATE: The right to create an authentication provider.\n - RIGHT_AUTHENTICATION_PROVIDER_INFO: The right to view an authentication provider information.\n - RIGHT_AUTHENTICATION_PROVIDER_LIST: The right to list the authentication providers\n - RIGHT_AUTHENTICATION_PROVIDER_UPDATE: The right to update an authentication providers.\n - RIGHT_AUTHENTICATION_PROVIDER_DELETE: The right to delete an authentication providers.\n - RIGHT_EXTERNAL_USER_CREATE: The right to create an external user.\n - RIGHT_EXTERNAL_USER_INFO: The right to view an external user's information.\n - RIGHT_EXTERNAL_USER_DELETE: The right to delete an external user.\n - RIGHT_PACKET_BROKER_AGENT_READ: The right to read any information related to the PBA.\n - RIGHT_PACKET_BROKER_AGENT_WRITE: The right to perform operations in the PBA.\n - RIGHT_TENANT_CONFIGURATION_UPDATE: The right to update a tenant's configuration.\n - RIGHT_LABEL_CREATE: The right to create a label.\n - RIGHT_LABEL_INFO: The right to view a label's information.\n - RIGHT_LABELS_LIST: The right to list the labels.\n - RIGHT_LABEL_UPDATE: The right to update a label.\n - RIGHT_LABEL_DELETE: The right to delete a label.\n - RIGHT_LABEL_ASSIGN: The right to assign a label to an 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_LIST",
                  "RIGHT_USER_CREATE",
                  "RIGHT_USER_SETTINGS_API_KEYS",
                  "RIGHT_USER_DELETE",
                  "RIGHT_USER_PURGE",
                  "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_PURGE",
                  "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_CLIENT_PURGE",
                  "RIGHT_GATEWAY_INFO",
                  "RIGHT_GATEWAY_SETTINGS_BASIC",
                  "RIGHT_GATEWAY_SETTINGS_API_KEYS",
                  "RIGHT_GATEWAY_SETTINGS_COLLABORATORS",
                  "RIGHT_GATEWAY_DELETE",
                  "RIGHT_GATEWAY_PURGE",
                  "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_PURGE",
                  "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_ALERT_NOTIFICATION_PROFILE_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_INFO",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_LIST",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_PROFILE_DELETE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_CREATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_INFO",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_LIST",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_UPDATE",
                  "RIGHT_ALERT_NOTIFICATION_RECEIVER_DELETE",
                  "RIGHT_AUTHENTICATION_PROVIDER_CREATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_INFO",
                  "RIGHT_AUTHENTICATION_PROVIDER_LIST",
                  "RIGHT_AUTHENTICATION_PROVIDER_UPDATE",
                  "RIGHT_AUTHENTICATION_PROVIDER_DELETE",
                  "RIGHT_EXTERNAL_USER_CREATE",
                  "RIGHT_EXTERNAL_USER_INFO",
                  "RIGHT_EXTERNAL_USER_DELETE",
                  "RIGHT_PACKET_BROKER_AGENT_READ",
                  "RIGHT_PACKET_BROKER_AGENT_WRITE",
                  "RIGHT_TENANT_CONFIGURATION_UPDATE",
                  "RIGHT_LABEL_CREATE",
                  "RIGHT_LABEL_INFO",
                  "RIGHT_LABELS_LIST",
                  "RIGHT_LABEL_UPDATE",
                  "RIGHT_LABEL_DELETE",
                  "RIGHT_LABEL_ASSIGN",
                  "RIGHT_ALL"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "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"
      }
    }
    Show the schema of the message in JSON format.
    Back to top
    ← Routes

    On this page

    Sections

    Getting Started

    Concepts

    The Things Stack Cloud

    The Things Stack Enterprise

    Integrations

    API

    Hardware

    Sitemap

    View our Sitemap

    Contributing

    GitHub

    About Us

    The Things Industries