The Things Network / The Things Stack DeviceRepository API

The DeviceRepository API from The Things Network / The Things Stack — 20 operation(s) for devicerepository.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

the-things-network-devicerepository-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: The Things Stack — Application Server AppAs DeviceRepository API
  version: v3.36
  description: The Things Stack is an open-source LoRaWAN Network Server implementation. This OpenAPI was derived from the upstream gRPC-Gateway generated api.swagger.json published by TheThingsNetwork/lorawan-stack v3.36.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  contact:
    name: The Things Industries
    url: https://www.thethingsindustries.com
host: eu1.cloud.thethings.industries
basePath: /api/v3
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- ApiKeyAuth: []
tags:
- name: DeviceRepository
paths:
  /dr/applications/{application_ids.application_id}/brands:
    get:
      operationId: DeviceRepository_ListBrands2
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3ListEndDeviceBrandsResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        type: string
      - name: limit
        description: Limit the number of results per page.
        in: query
        required: false
        type: integer
        format: int64
      - name: page
        description: Page number for pagination. 0 is interpreted as 1.
        in: query
        required: false
        type: integer
        format: int64
      - name: order_by
        description: Order (for pagination)
        in: query
        required: false
        type: string
      - name: search
        description: Search for brands matching a query string.
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  /dr/applications/{application_ids.application_id}/brands/{brand_id}:
    get:
      operationId: DeviceRepository_GetBrand2
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3EndDeviceBrand'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        type: string
      - name: brand_id
        description: Brand identifier, as defined in the Device Repository.
        in: path
        required: true
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  /dr/applications/{application_ids.application_id}/brands/{brand_id}/models:
    get:
      operationId: DeviceRepository_ListModels4
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3ListEndDeviceModelsResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        type: string
      - name: brand_id
        description: List end devices from a specific brand.
        in: path
        required: true
        type: string
      - name: limit
        description: Limit the number of results per page.
        in: query
        required: false
        type: integer
        format: int64
      - name: page
        description: Page number for pagination. 0 is interpreted as 1.
        in: query
        required: false
        type: integer
        format: int64
      - name: order_by
        description: Order end devices
        in: query
        required: false
        type: string
      - name: search
        description: List end devices matching a query string.
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  /dr/applications/{application_ids.application_id}/brands/{brand_id}/models/{model_id}:
    get:
      operationId: DeviceRepository_GetModel2
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3EndDeviceModel'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        type: string
      - name: brand_id
        description: Brand identifier, as defined in the Device Repository.
        in: path
        required: true
        type: string
      - name: model_id
        description: Model identifier, as defined in the Device Repository.
        in: path
        required: true
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  ? /dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/decoder
  : get:
      operationId: DeviceRepository_GetDownlinkDecoder2
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3MessagePayloadDecoder'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        type: string
      - name: version_ids.brand_id
        in: path
        required: true
        type: string
      - name: version_ids.model_id
        in: path
        required: true
        type: string
      - name: version_ids.firmware_version
        in: path
        required: true
        type: string
      - name: version_ids.band_id
        in: path
        required: true
        type: string
      - name: version_ids.hardware_version
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  ? /dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/encoder
  : get:
      operationId: DeviceRepository_GetDownlinkEncoder2
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3MessagePayloadEncoder'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        type: string
      - name: version_ids.brand_id
        in: path
        required: true
        type: string
      - name: version_ids.model_id
        in: path
        required: true
        type: string
      - name: version_ids.firmware_version
        in: path
        required: true
        type: string
      - name: version_ids.band_id
        in: path
        required: true
        type: string
      - name: version_ids.hardware_version
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  ? /dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/uplink/decoder
  : get:
      operationId: DeviceRepository_GetUplinkDecoder2
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3MessagePayloadDecoder'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        type: string
      - name: version_ids.brand_id
        in: path
        required: true
        type: string
      - name: version_ids.model_id
        in: path
        required: true
        type: string
      - name: version_ids.firmware_version
        in: path
        required: true
        type: string
      - name: version_ids.band_id
        in: path
        required: true
        type: string
      - name: version_ids.hardware_version
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  ? /dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/template
  : get:
      operationId: DeviceRepository_GetTemplate3
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3EndDeviceTemplate'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        type: string
      - name: version_ids.brand_id
        in: path
        required: true
        type: string
      - name: version_ids.model_id
        in: path
        required: true
        type: string
      - name: version_ids.firmware_version
        in: path
        required: true
        type: string
      - name: version_ids.band_id
        in: path
        required: true
        type: string
      - name: version_ids.hardware_version
        in: query
        required: false
        type: string
      - name: end_device_profile_ids.vendor_id
        description: VendorID managed by the LoRa Alliance, as defined in TR005.
        in: query
        required: false
        type: integer
        format: int64
      - name: end_device_profile_ids.vendor_profile_id
        description: ID of the LoRaWAN end device profile assigned by the vendor.
        in: query
        required: false
        type: integer
        format: int64
      tags:
      - DeviceRepository
  /dr/applications/{application_ids.application_id}/models:
    get:
      operationId: DeviceRepository_ListModels3
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3ListEndDeviceModelsResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        type: string
      - name: brand_id
        description: List end devices from a specific brand.
        in: query
        required: false
        type: string
      - name: limit
        description: Limit the number of results per page.
        in: query
        required: false
        type: integer
        format: int64
      - name: page
        description: Page number for pagination. 0 is interpreted as 1.
        in: query
        required: false
        type: integer
        format: int64
      - name: order_by
        description: Order end devices
        in: query
        required: false
        type: string
      - name: search
        description: List end devices matching a query string.
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  ? /dr/applications/{application_ids.application_id}/vendors/{end_device_profile_ids.vendor_id}/profiles/{end_device_profile_ids.vendor_profile_id}/template
  : get:
      operationId: DeviceRepository_GetTemplate4
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3EndDeviceTemplate'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        type: string
      - name: end_device_profile_ids.vendor_id
        description: VendorID managed by the LoRa Alliance, as defined in TR005.
        in: path
        required: true
        type: integer
        format: int64
      - name: end_device_profile_ids.vendor_profile_id
        description: ID of the LoRaWAN end device profile assigned by the vendor.
        in: path
        required: true
        type: integer
        format: int64
      - name: version_ids.brand_id
        in: query
        required: false
        type: string
      - name: version_ids.model_id
        in: query
        required: false
        type: string
      - name: version_ids.hardware_version
        in: query
        required: false
        type: string
      - name: version_ids.firmware_version
        in: query
        required: false
        type: string
      - name: version_ids.band_id
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  /dr/brands:
    get:
      operationId: DeviceRepository_ListBrands
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3ListEndDeviceBrandsResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: query
        required: false
        type: string
      - name: limit
        description: Limit the number of results per page.
        in: query
        required: false
        type: integer
        format: int64
      - name: page
        description: Page number for pagination. 0 is interpreted as 1.
        in: query
        required: false
        type: integer
        format: int64
      - name: order_by
        description: Order (for pagination)
        in: query
        required: false
        type: string
      - name: search
        description: Search for brands matching a query string.
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  /dr/brands/{brand_id}:
    get:
      operationId: DeviceRepository_GetBrand
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3EndDeviceBrand'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: brand_id
        description: Brand identifier, as defined in the Device Repository.
        in: path
        required: true
        type: string
      - name: application_ids.application_id
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  /dr/brands/{brand_id}/models:
    get:
      operationId: DeviceRepository_ListModels2
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3ListEndDeviceModelsResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: brand_id
        description: List end devices from a specific brand.
        in: path
        required: true
        type: string
      - name: application_ids.application_id
        in: query
        required: false
        type: string
      - name: limit
        description: Limit the number of results per page.
        in: query
        required: false
        type: integer
        format: int64
      - name: page
        description: Page number for pagination. 0 is interpreted as 1.
        in: query
        required: false
        type: integer
        format: int64
      - name: order_by
        description: Order end devices
        in: query
        required: false
        type: string
      - name: search
        description: List end devices matching a query string.
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  /dr/brands/{brand_id}/models/{model_id}:
    get:
      operationId: DeviceRepository_GetModel
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3EndDeviceModel'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: brand_id
        description: Brand identifier, as defined in the Device Repository.
        in: path
        required: true
        type: string
      - name: model_id
        description: Model identifier, as defined in the Device Repository.
        in: path
        required: true
        type: string
      - name: application_ids.application_id
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  ? /dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/decoder
  : get:
      operationId: DeviceRepository_GetDownlinkDecoder
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3MessagePayloadDecoder'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: version_ids.brand_id
        in: path
        required: true
        type: string
      - name: version_ids.model_id
        in: path
        required: true
        type: string
      - name: version_ids.firmware_version
        in: path
        required: true
        type: string
      - name: version_ids.band_id
        in: path
        required: true
        type: string
      - name: application_ids.application_id
        in: query
        required: false
        type: string
      - name: version_ids.hardware_version
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  ? /dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/encoder
  : get:
      operationId: DeviceRepository_GetDownlinkEncoder
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3MessagePayloadEncoder'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: version_ids.brand_id
        in: path
        required: true
        type: string
      - name: version_ids.model_id
        in: path
        required: true
        type: string
      - name: version_ids.firmware_version
        in: path
        required: true
        type: string
      - name: version_ids.band_id
        in: path
        required: true
        type: string
      - name: application_ids.application_id
        in: query
        required: false
        type: string
      - name: version_ids.hardware_version
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  ? /dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/uplink/decoder
  : get:
      operationId: DeviceRepository_GetUplinkDecoder
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3MessagePayloadDecoder'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: version_ids.brand_id
        in: path
        required: true
        type: string
      - name: version_ids.model_id
        in: path
        required: true
        type: string
      - name: version_ids.firmware_version
        in: path
        required: true
        type: string
      - name: version_ids.band_id
        in: path
        required: true
        type: string
      - name: application_ids.application_id
        in: query
        required: false
        type: string
      - name: version_ids.hardware_version
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  ? /dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/template
  : get:
      operationId: DeviceRepository_GetTemplate
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3EndDeviceTemplate'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: version_ids.brand_id
        in: path
        required: true
        type: string
      - name: version_ids.model_id
        in: path
        required: true
        type: string
      - name: version_ids.firmware_version
        in: path
        required: true
        type: string
      - name: version_ids.band_id
        in: path
        required: true
        type: string
      - name: application_ids.application_id
        in: query
        required: false
        type: string
      - name: version_ids.hardware_version
        in: query
        required: false
        type: string
      - name: end_device_profile_ids.vendor_id
        description: VendorID managed by the LoRa Alliance, as defined in TR005.
        in: query
        required: false
        type: integer
        format: int64
      - name: end_device_profile_ids.vendor_profile_id
        description: ID of the LoRaWAN end device profile assigned by the vendor.
        in: query
        required: false
        type: integer
        format: int64
      tags:
      - DeviceRepository
  /dr/models:
    get:
      operationId: DeviceRepository_ListModels
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3ListEndDeviceModelsResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: query
        required: false
        type: string
      - name: brand_id
        description: List end devices from a specific brand.
        in: query
        required: false
        type: string
      - name: limit
        description: Limit the number of results per page.
        in: query
        required: false
        type: integer
        format: int64
      - name: page
        description: Page number for pagination. 0 is interpreted as 1.
        in: query
        required: false
        type: integer
        format: int64
      - name: order_by
        description: Order end devices
        in: query
        required: false
        type: string
      - name: search
        description: List end devices matching a query string.
        in: query
        required: false
        type: string
      - name: field_mask
        description: Field mask paths.
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
  /dr/vendors/{end_device_profile_ids.vendor_id}/profiles/{end_device_profile_ids.vendor_profile_id}/template:
    get:
      operationId: DeviceRepository_GetTemplate2
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3EndDeviceTemplate'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: end_device_profile_ids.vendor_id
        description: VendorID managed by the LoRa Alliance, as defined in TR005.
        in: path
        required: true
        type: integer
        format: int64
      - name: end_device_profile_ids.vendor_profile_id
        description: ID of the LoRaWAN end device profile assigned by the vendor.
        in: path
        required: true
        type: integer
        format: int64
      - name: application_ids.application_id
        in: query
        required: false
        type: string
      - name: version_ids.brand_id
        in: query
        required: false
        type: string
      - name: version_ids.model_id
        in: query
        required: false
        type: string
      - name: version_ids.hardware_version
        in: query
        required: false
        type: string
      - name: version_ids.firmware_version
        in: query
        required: false
        type: string
      - name: version_ids.band_id
        in: query
        required: false
        type: string
      tags:
      - DeviceRepository
definitions:
  v3ADRAckLimitExponentValue:
    type: object
    properties:
      value:
        $ref: '#/definitions/v3ADRAckLimitExponent'
  v3LocationSource:
    type: string
    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
    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."
  EndDeviceModelDimensions:
    type: object
    properties:
      width:
        type: number
        format: float
        description: Device width (mm).
      height:
        type: number
        format: float
        description: Device height (mm).
      diameter:
        type: number
        format: float
        description: Device diameter (mm).
      length:
        type: number
        format: float
        description: Device length (mm).
  v3MType:
    type: string
    enum:
    - JOIN_REQUEST
    - JOIN_ACCEPT
    - UNCONFIRMED_UP
    - UNCONFIRMED_DOWN
    - CONFIRMED_UP
    - CONFIRMED_DOWN
    - REJOIN_REQUEST
    - PROPRIETARY
    default: JOIN_REQUEST
  v3NetworkIdentifiers:
    type: object
    properties:
      net_id:
        type: string
        format: string
        example: '000013'
        description: LoRa Alliance NetID.
      ns_id:
        type: string
        format: string
        example: 70B3D57ED000ABCD
        description: LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance.
      tenant_id:
        type: string
        description: Optional tenant identifier for multi-tenant deployments.
      cluster_id:
        type: string
        description: Cluster identifier of the Network Server.
      cluster_address:
        type: string
        description: Cluster address of the Network Server.
      tenant_address:
        type: string
        description: Optional tenant address for multi-tenant deployments.
    description: Identifies a Network Server.
  v3ADRSettingsDisabledMode:
    type: object
    description: 'Configuration options for cases in which ADR is to be disabled

      completely.'
  MACCommandRejoinParamSetupAns:
    type: object
    properties:
      max_time_exponent_ack:
        type: boolean
  MACCommandTxParamSetupReq:
    type: object
    properties:
      max_eirp_index:
        $ref: '#/definitions/v3DeviceEIRP'
        title: 'Indicates the maximum EIRP value in dBm, indexed by the following vector:

          [ 8 10 12 13 14 16 18 20 21 24 26 27 29 30 33 36 ]'
      uplink_dwell_time:
        type: boolean
      downlink_dwell_time:
        type: boolean
  v3DataRateIndex:
    type: string
    enum:
    - DATA_RATE_0
    - DATA_RATE_1
    - DATA_RATE_2
    - DATA_RATE_3
    - DATA_RATE_4
    - DATA_RATE_5
    - DATA_RATE_6
    - DATA_RATE_7
    - 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
  ADRSettingsDynamicMode:
    type: object
    properties:
      margin:
        type: number
        format: float
        description: 'The ADR margin (dB) tells the network server how much margin it should add in ADR requests.

          A bigger margin is less efficient, but gives a better chance of successful reception.

          If unset, the default value from Network Server configuration will be used.'
      min_data_rate_index:
        $ref: '#/definitions/v3DataRateIndexValue'
        description: 'Minimum data rate index.

          If unset, the default value from Network Server configuration will be used.'
      max_data_rate_index:
        $ref: '#/definitions/v3DataRateIndexValue'
        description: 'Maximum data rate index.

          If unset, the default value from Network Server configuration will be used.'
      min_tx_power_index:
        type: integer
        format: int64
        description: 'Minimum transmission power index.

          If unset, the default value from Network Server configuration will be used.'
      max_tx_power_index:
        type: integer
        format: int64
        description: 'Maximum transmission power index.

          If unset, the default value from Network Server configuration will be used.'
      min_nb_trans:
        type: integer
        format: int64
        description: 'Minimum number of retransmissions.

          If unset, the default value from Network Server configuration will be used.'
      max_nb_trans:
        type: integer
        format: int64
        description: 'Maximum number of retransmissions.

          If unset, the default value from Network Server configuration will be used.'
      channel_steering:
        $ref: '#/definitions/DynamicModeChannelSteeringSettings'
      overrides:
        $ref: '#/definitions/DynamicModeOverrides'
    description: Configuration options for dynamic ADR.
  MACStateDataRateRange:
    type:

# --- truncated at 32 KB (138 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/the-things-network/refs/heads/main/openapi/the-things-network-devicerepository-api-openapi.yml