swagger: '2.0' info: title: The Things Stack — Application Server 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 securityDefinitions: ApiKeyAuth: type: apiKey in: header name: Authorization description: 'Bearer API key. Set Authorization: Bearer NNSXS.xxxxxxxxxx.' security: - ApiKeyAuth: [] tags: - name: ApplicationRegistry - name: ApplicationAccess - name: As - name: AppAs - name: ApplicationPackageRegistry - name: ApplicationActivationSettingRegistry - name: ApplicationUpStorage - name: AsEndDeviceRegistry - name: AsEndDeviceBatchRegistry paths: /applications: get: summary: 'List applications where the given user or organization is a direct collaborator. If no user or organization is given, this returns the applications the caller has access to. Similar to Get, this selects the fields given by the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: ApplicationRegistry_List responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Applications' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: query required: false type: string - name: collaborator.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string - name: field_mask description: The names of the application fields that should be returned. in: query required: false type: string - name: order description: 'Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order.' in: 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: deleted description: Only return recently deleted applications. in: query required: false type: boolean tags: - ApplicationRegistry /applications/{application.ids.application_id}: put: summary: Update the application, changing the fields specified by the field mask to the provided values. operationId: ApplicationRegistry_Update responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Application' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application.ids.application_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3ApplicationRegistryUpdateBody' tags: - ApplicationRegistry /applications/{application_ids.application_id}: get: summary: 'Get the application with the given identifiers, selecting the fields specified in the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: ApplicationRegistry_Get responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Application' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: field_mask description: The names of the application fields that should be returned. in: query required: false type: string tags: - ApplicationRegistry /applications/{application_ids.application_id}/api-keys: get: summary: List the API keys for this application. operationId: ApplicationAccess_ListAPIKeys responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKeys' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: order description: 'Order the results by this field path. Default ordering is by ID. Prepend with a minus (-) to reverse the order.' 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 tags: - ApplicationAccess post: summary: Create an API key scoped to this application. operationId: ApplicationAccess_CreateAPIKey responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKey' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3ApplicationAccessCreateAPIKeyBody' tags: - ApplicationAccess /applications/{application_ids.application_id}/api-keys/{api_key.id}: put: summary: 'Update the rights of an API key of the application. This method can also be used to delete the API key, by giving it no rights. The caller is required to have all assigned or/and removed rights.' operationId: ApplicationAccess_UpdateAPIKey responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKey' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: api_key.id description: 'Immutable and unique public identifier for the API key. Generated by the Access Server.' in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3ApplicationAccessUpdateAPIKeyBody' tags: - ApplicationAccess /applications/{application_ids.application_id}/api-keys/{key_id}: get: summary: Get a single API key of this application. operationId: ApplicationAccess_GetAPIKey responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKey' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: key_id description: Unique public identifier for the API key. in: path required: true type: string tags: - ApplicationAccess delete: summary: Delete a single API key of this application. operationId: ApplicationAccess_DeleteAPIKey responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: key_id in: path required: true type: string tags: - ApplicationAccess /applications/{application_ids.application_id}/collaborator/organization/{collaborator.organization_ids.organization_id}: get: summary: 'Get the rights of a collaborator (member) of the application. Pseudo-rights in the response (such as the "_ALL" right) are not expanded.' operationId: ApplicationAccess_GetCollaborator2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3GetCollaboratorResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: query required: false type: string - name: collaborator.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - ApplicationAccess ? /applications/{application_ids.application_id}/collaborator/organization/{collaborator_ids.organization_ids.organization_id} : delete: summary: DeleteCollaborator removes a collaborator from an application. operationId: ApplicationAccess_DeleteCollaborator2 responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: collaborator_ids.organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: collaborator_ids.user_ids.user_id description: This ID shares namespace with organization IDs. in: query required: false type: string - name: collaborator_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - ApplicationAccess /applications/{application_ids.application_id}/collaborator/user/{collaborator.user_ids.user_id}: get: summary: 'Get the rights of a collaborator (member) of the application. Pseudo-rights in the response (such as the "_ALL" right) are not expanded.' operationId: ApplicationAccess_GetCollaborator responses: '200': description: A successful response. schema: $ref: '#/definitions/v3GetCollaboratorResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: collaborator.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - ApplicationAccess /applications/{application_ids.application_id}/collaborator/user/{collaborator_ids.user_ids.user_id}: delete: summary: DeleteCollaborator removes a collaborator from an application. operationId: ApplicationAccess_DeleteCollaborator responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: collaborator_ids.user_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: collaborator_ids.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: collaborator_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - ApplicationAccess /applications/{application_ids.application_id}/collaborators: get: summary: List the collaborators on this application. operationId: ApplicationAccess_ListCollaborators responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Collaborators' 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 description: 'Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order.' in: query required: false type: string tags: - ApplicationAccess put: summary: 'Set the rights of a collaborator (member) on the application. This method can also be used to delete the collaborator, by giving them no rights. The caller is required to have all assigned or/and removed rights.' operationId: ApplicationAccess_SetCollaborator responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3ApplicationAccessSetCollaboratorBody' tags: - ApplicationAccess /applications/{application_id}: delete: summary: 'Delete the application. This may not release the application ID for reuse. All end devices must be deleted from the application before it can be deleted.' operationId: ApplicationRegistry_Delete responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_id in: path required: true type: string tags: - ApplicationRegistry /applications/{application_id}/dev-eui: post: summary: 'Request DevEUI from the configured address block for a device inside the application. The maximum number of DevEUI''s issued per application can be configured.' operationId: ApplicationRegistry_IssueDevEUI responses: '200': description: A successful response. schema: $ref: '#/definitions/v3IssueDevEUIResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_id in: path required: true type: string tags: - ApplicationRegistry /applications/{application_id}/purge: delete: summary: 'Purge the application. This will release the application ID for reuse. All end devices must be deleted from the application before it can be deleted. The application owner is responsible for clearing data from any (external) integrations that may store and expose data by application ID' operationId: ApplicationRegistry_Purge responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_id in: path required: true type: string tags: - ApplicationRegistry /applications/{application_id}/restore: post: summary: Restore a recently deleted application. description: 'Deployment configuration may specify if, and for how long after deletion, entities can be restored.' operationId: ApplicationRegistry_Restore responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_id in: path required: true type: string tags: - ApplicationRegistry /applications/{application_id}/rights: get: summary: List the rights the caller has on this application. operationId: ApplicationAccess_ListRights responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Rights' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_id in: path required: true type: string tags: - ApplicationAccess /as/applications/{application_ids.application_id}/devices/batch: delete: summary: 'Delete a list of devices within the same application. This operation is atomic; either all devices are deleted or none. Devices not found are skipped and no error is returned.' operationId: AsEndDeviceBatchRegistry_Delete responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: device_ids in: query required: false type: array items: type: string collectionFormat: multi tags: - AsEndDeviceBatchRegistry /as/applications/{application_ids.application_id}/devices/{device_id}: delete: summary: 'Delete deletes the device that matches the given identifiers. If there are multiple matches, an error will be returned.' operationId: AsEndDeviceRegistry_Delete responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: device_id in: path required: true type: string - name: dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string tags: - AsEndDeviceRegistry /as/applications/{application_ids.application_id}/devices/{device_id}/down: get: summary: List the items currently in the downlink queue. operationId: AppAs_DownlinkQueueList responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationDownlinks' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: device_id in: path required: true type: string - name: dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string tags: - AppAs /as/applications/{application_ids.application_id}/devices/{device_id}/packages: get: summary: List returns the available packages for the end device. operationId: ApplicationPackageRegistry_List responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationPackages' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: device_id in: path required: true type: string - name: dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string tags: - ApplicationPackageRegistry /as/applications/{application_ids.application_id}/link: get: summary: 'Get a link configuration from the Application Server to Network Server. This only contains the configuration. Use GetLinkStats to view statistics and any link errors.' operationId: As_GetLink responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationLink' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: field_mask in: query required: false type: string tags: - As put: summary: 'Set a link configuration from the Application Server a Network Server. This call returns immediately after setting the link configuration; it does not wait for a link to establish. To get link statistics or errors, use GetLinkStats. Note that there can only be one Application Server instance linked to a Network Server for a given application at a time.' operationId: As_SetLink responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationLink' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/AsSetLinkBody' tags: - As /as/applications/{application_ids.application_id}/packages/associations/{f_port}: delete: summary: DeleteDefaultAssociation removes the default association on the FPort of the application. operationId: ApplicationPackageRegistry_DeleteDefaultAssociation responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: f_port in: path required: true type: integer format: int64 tags: - ApplicationPackageRegistry /as/applications/{application_ids.application_id}/packages/storage/{type}: get: summary: Returns a stream of application messages that have been stored in the database. operationId: ApplicationUpStorage_GetStoredApplicationUp2 responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/v3ApplicationUp' error: $ref: '#/definitions/googlerpcStatus' title: Stream result of v3ApplicationUp default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: type description: Query upstream messages of a specific type. If not set, then all upstream messages are returned. in: path required: true type: string - name: end_device_ids.device_id in: query required: false type: string - name: end_device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: end_device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: end_device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: limit description: Limit number of results. in: query required: false type: integer format: int64 - name: after description: Query upstream messages after this timestamp only. Cannot be used in conjunction with last. in: query required: false type: string format: date-time - name: before description: Query upstream messages before this timestamp only. Cannot be used in conjunction with last. in: query required: false type: string format: date-time - name: f_port description: Query uplinks on a specific FPort only. in: query required: false type: integer format: int64 - name: order description: Order results. in: query required: false type: string - name: field_mask description: 'The names of the upstream message fields that should be returned. See the API reference for allowed field names for each type of upstream message.' in: query required: false type: string - name: last description: Query upstream messages that have arrived in the last minutes or hours. Cannot be used in conjunction with after and before. in: query required: false type: string - name: continuation_token description: The continuation token, which is used to retrieve the next page. If provided, other fields are ignored. in: query required: false type: string tags: - ApplicationUpStorage /as/applications/{application_ids.application_id}/packages/storage/{type}/count: get: summary: Returns how many application messages have been stored in the database for an application or end device. operationId: ApplicationUpStorage_GetStoredApplicationUpCount2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3GetStoredApplicationUpCountResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: type description: Count upstream messages of a specific type. If not set, then all upstream messages are returned. in: path required: true type: string - name: end_device_ids.device_id in: query required: false type: string - name: end_device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: end_device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: end_device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: after description: Count upstream messages after this timestamp only. Cannot be used in conjunction with last. in: query required: false type: string format: date-time - name: before description: Count upstream messages before this timestamp only. Cannot be used in conjunction with last. in: query required: false type: string format: date-time - name: f_port description: Count uplinks on a specific FPort only. in: query required: false type: integer format: int64 - name: last description: Count upstream messages that have arrived in the last minutes or hours. Cannot be used in conjunction with after and before. in: query required: false type: string tags: - ApplicationUpStorage /as/applications/{application_id}/link: delete: summary: Delete the link between the Application Server and Network Server for the specified application. operationId: As_DeleteLink responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_id in: path required: true type: string tags: - As /as/applications/{application_id}/link/stats: get: summary: 'GetLinkStats returns the link statistics. This call returns a NotFound error code if there is no link for the given application identifiers. This call returns the error code of the link error if linking to a Network Server failed.' operationId: As_GetLinkStats responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationLinkStats' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_id in: path required: true type: string tags: - As /as/applications/{application_id}/mqtt-connection-info: get: summary: Get connection information to connect an MQTT client. operationId: AppAs_GetMQTTConnectionInfo responses: '200': description: A successful response. schema: $ref: '#/definitions/v3MQTTConnectionInfo' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_id in: path required: true type: string tags: - AppAs ? /as/applications/{association.ids.end_device_ids.application_ids.application_id}/devices/{association.ids.end_device_ids.device_id}/packages/associations/{association.ids.f_port} : put: summary: SetAssociation updates or creates the association on the FPort of the end device. operationId: ApplicationPackageRegistry_SetAssociation responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationPackageAssociation' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: association.ids.end_device_ids.application_ids.application_id in: path required: true type: string - name: association.ids.end_device_ids.device_id in: path required: true type: string - name: association.ids.f_port in: path required: true type: integer format: int64 - name: body in: body required: true schema: $ref: '#/definitions/ApplicationPackageRegistrySetAssociationBody' tags: - ApplicationPackageRegistry /as/applications/{default.ids.application_ids.application_id}/packages/associations/{default.ids.f_port}: put: summary: SetDefaultAssociation updates or creates the default association on the FPort of the application. operationId: ApplicationPackageRegistry_SetDefaultAssociation responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationPackageDefaultAssociation' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: default.ids.application_ids.application_id in: path required: true type: string - name: default.ids.f_port in: path required: true type: integer format: int64 - name: body in: body required: true schema: $ref: '#/definitions/ApplicationPackageRegistrySetDefaultAssociationBody' tags: - ApplicationPackageRegistry /as/applications/{end_device.ids.application_ids.application_id}/devices: post: summary: Set creates or updates the device. operationId: AsEndDeviceRegistry_Set2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3EndDevice' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device.ids.application_ids.application_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3AsEndDeviceRegistrySetBody' tags: - AsEndDeviceRegistry /as/applications/{end_device.ids.application_ids.application_id}/devices/{end_device.ids.device_id}: put: summary: Set creates or updates the device. operationId: AsEndDeviceRegistry_Set responses: '200': description: A successful response. schema: $ref: '#/definitions/v3EndDevice' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device.ids.application_ids.application_id in: path required: true type: string - name: end_device.ids.device_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3AsEndDeviceRegistrySetBody' tags: - AsEndDeviceRegistry /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}: get: summary: 'Get returns the device that matches the given identifiers. If there are multiple matches, an error will be returned.' operationId: AsEndDeviceRegistry_Get responses: '200': description: A successful response. schema: $ref: '#/definitions/v3EndDevice' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device_ids.application_ids.application_id in: path required: true type: string - name: end_device_ids.device_id in: path required: true type: string - name: end_device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: end_device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: end_device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: field_mask description: 'The names of the end device fields that should be returned. See the API reference for which fields can be returned by the different services.' in: query required: false type: string tags: - AsEndDeviceRegistry /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/down/decode: post: operationId: AppAs_DecodeDownlink responses: '200': description: A successful response. schema: $ref: '#/definitions/v3DecodeDownlinkResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device_ids.application_ids.application_id in: path required: true type: string - name: end_device_ids.device_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/AppAsDecodeDownlinkBody' tags: - AppAs /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/down/encode: post: operationId: AppAs_EncodeDownlink responses: '200': description: A successful response. schema: $ref: '#/definitions/v3EncodeDownlinkResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device_ids.application_ids.application_id in: path required: true type: string - name: end_device_ids.device_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/AppAsEncodeDownlinkBody' tags: - AppAs /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/down/push: post: summary: Push downlink messages to the end of the downlink queue. operationId: AppAs_DownlinkQueuePush responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device_ids.application_ids.application_id in: path required: true type: string - name: end_device_ids.device_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3AppAsDownlinkQueuePushBody' tags: - AppAs /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/down/replace: post: summary: 'Replace the entire downlink queue with the specified messages. This can also be used to empty the queue by specifying no messages.' operationId: AppAs_DownlinkQueueReplace responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device_ids.application_ids.application_id in: path required: true type: string - name: end_device_ids.device_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3AppAsDownlinkQueueReplaceBody' tags: - AppAs ? /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/packages/associations/{f_port} : delete: summary: DeleteAssociation removes the association on the FPort of the end device. operationId: ApplicationPackageRegistry_DeleteAssociation responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device_ids.application_ids.application_id in: path required: true type: string - name: end_device_ids.device_id in: path required: true type: string - name: f_port in: path required: true type: integer format: int64 - name: end_device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: end_device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: end_device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string tags: - ApplicationPackageRegistry ? /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/packages/storage/{type} : get: summary: Returns a stream of application messages that have been stored in the database. operationId: ApplicationUpStorage_GetStoredApplicationUp responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/v3ApplicationUp' error: $ref: '#/definitions/googlerpcStatus' title: Stream result of v3ApplicationUp default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device_ids.application_ids.application_id in: path required: true type: string - name: end_device_ids.device_id in: path required: true type: string - name: type description: Query upstream messages of a specific type. If not set, then all upstream messages are returned. in: path required: true type: string - name: end_device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: end_device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: end_device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: limit description: Limit number of results. in: query required: false type: integer format: int64 - name: after description: Query upstream messages after this timestamp only. Cannot be used in conjunction with last. in: query required: false type: string format: date-time - name: before description: Query upstream messages before this timestamp only. Cannot be used in conjunction with last. in: query required: false type: string format: date-time - name: f_port description: Query uplinks on a specific FPort only. in: query required: false type: integer format: int64 - name: order description: Order results. in: query required: false type: string - name: field_mask description: 'The names of the upstream message fields that should be returned. See the API reference for allowed field names for each type of upstream message.' in: query required: false type: string - name: last description: Query upstream messages that have arrived in the last minutes or hours. Cannot be used in conjunction with after and before. in: query required: false type: string - name: continuation_token description: The continuation token, which is used to retrieve the next page. If provided, other fields are ignored. in: query required: false type: string tags: - ApplicationUpStorage ? /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/packages/storage/{type}/count : get: summary: Returns how many application messages have been stored in the database for an application or end device. operationId: ApplicationUpStorage_GetStoredApplicationUpCount responses: '200': description: A successful response. schema: $ref: '#/definitions/v3GetStoredApplicationUpCountResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device_ids.application_ids.application_id in: path required: true type: string - name: end_device_ids.device_id in: path required: true type: string - name: type description: Count upstream messages of a specific type. If not set, then all upstream messages are returned. in: path required: true type: string - name: end_device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: end_device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: end_device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: after description: Count upstream messages after this timestamp only. Cannot be used in conjunction with last. in: query required: false type: string format: date-time - name: before description: Count upstream messages before this timestamp only. Cannot be used in conjunction with last. in: query required: false type: string format: date-time - name: f_port description: Count uplinks on a specific FPort only. in: query required: false type: integer format: int64 - name: last description: Count upstream messages that have arrived in the last minutes or hours. Cannot be used in conjunction with after and before. in: query required: false type: string tags: - ApplicationUpStorage /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/up/decode: post: operationId: AppAs_DecodeUplink responses: '200': description: A successful response. schema: $ref: '#/definitions/v3DecodeUplinkResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device_ids.application_ids.application_id in: path required: true type: string - name: end_device_ids.device_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/AppAsDecodeUplinkBody' tags: - AppAs /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/up/simulate: post: summary: Simulate an upstream message. This can be used to test integrations. operationId: AppAs_SimulateUplink responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: end_device_ids.application_ids.application_id in: path required: true type: string - name: end_device_ids.device_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/AppAsSimulateUplinkBody' tags: - AppAs /as/applications/{ids.application_ids.application_id}/devices/{ids.device_id}/packages/associations: get: summary: ListAssociations returns all of the associations of the end device. operationId: ApplicationPackageRegistry_ListAssociations responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationPackageAssociations' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: ids.application_ids.application_id in: path required: true type: string - name: ids.device_id in: path required: true type: string - name: ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: limit description: 'Limit the number of results per page. Each page is ordered by the FPort.' 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: field_mask in: query required: false type: string tags: - ApplicationPackageRegistry /as/applications/{ids.application_ids.application_id}/packages/associations/{ids.f_port}: get: summary: GetDefaultAssociation returns the default association registered on the FPort of the application. operationId: ApplicationPackageRegistry_GetDefaultAssociation responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationPackageDefaultAssociation' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: ids.application_ids.application_id in: path required: true type: string - name: ids.f_port in: path required: true type: integer format: int64 - name: field_mask in: query required: false type: string tags: - ApplicationPackageRegistry /as/applications/{ids.application_id}/packages/associations: get: summary: ListDefaultAssociations returns all of the default associations of the application. operationId: ApplicationPackageRegistry_ListDefaultAssociations responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationPackageDefaultAssociations' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: ids.application_id in: path required: true type: string - name: limit description: 'Limit the number of results per page. Each page is ordered by the FPort.' 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: field_mask in: query required: false type: string tags: - ApplicationPackageRegistry ? /as/applications/{ids.end_device_ids.application_ids.application_id}/devices/{ids.end_device_ids.device_id}/packages/associations/{ids.f_port} : get: summary: GetAssociation returns the association registered on the FPort of the end device. operationId: ApplicationPackageRegistry_GetAssociation responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationPackageAssociation' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: ids.end_device_ids.application_ids.application_id in: path required: true type: string - name: ids.end_device_ids.device_id in: path required: true type: string - name: ids.f_port in: path required: true type: integer format: int64 - name: ids.end_device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: ids.end_device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: ids.end_device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: field_mask in: query required: false type: string tags: - ApplicationPackageRegistry /as/configuration: get: operationId: As_GetConfiguration responses: '200': description: A successful response. schema: $ref: '#/definitions/v3GetAsConfigurationResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - As /js/applications/{application_ids.application_id}/settings: get: summary: Get returns application activation settings. operationId: ApplicationActivationSettingRegistry_Get responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationActivationSettings' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: field_mask in: query required: false type: string tags: - ApplicationActivationSettingRegistry delete: summary: Delete deletes application activation settings. operationId: ApplicationActivationSettingRegistry_Delete responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string tags: - ApplicationActivationSettingRegistry post: summary: Set creates or updates application activation settings. operationId: ApplicationActivationSettingRegistry_Set responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ApplicationActivationSettings' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3ApplicationActivationSettingRegistrySetBody' tags: - ApplicationActivationSettingRegistry /organizations/{collaborator.organization_ids.organization_id}/applications: get: summary: 'List applications where the given user or organization is a direct collaborator. If no user or organization is given, this returns the applications the caller has access to. Similar to Get, this selects the fields given by the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: ApplicationRegistry_List3 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Applications' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: query required: false type: string - name: collaborator.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string - name: field_mask description: The names of the application fields that should be returned. in: query required: false type: string - name: order description: 'Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order.' in: 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: deleted description: Only return recently deleted applications. in: query required: false type: boolean tags: - ApplicationRegistry post: summary: 'Create a new application. This also sets the given organization or user as first collaborator with all possible rights.' operationId: ApplicationRegistry_Create2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Application' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3ApplicationRegistryCreateBody' tags: - ApplicationRegistry /users/{collaborator.user_ids.user_id}/applications: get: summary: 'List applications where the given user or organization is a direct collaborator. If no user or organization is given, this returns the applications the caller has access to. Similar to Get, this selects the fields given by the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: ApplicationRegistry_List2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Applications' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: collaborator.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string - name: field_mask description: The names of the application fields that should be returned. in: query required: false type: string - name: order description: 'Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order.' in: 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: deleted description: Only return recently deleted applications. in: query required: false type: boolean tags: - ApplicationRegistry post: summary: 'Create a new application. This also sets the given organization or user as first collaborator with all possible rights.' operationId: ApplicationRegistry_Create responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Application' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3ApplicationRegistryCreateBody' tags: - ApplicationRegistry definitions: 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. ADRSettingsStaticMode: type: object properties: data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: Data rate index to use. tx_power_index: type: integer format: int64 description: Transmission power index to use. nb_trans: type: integer format: int64 description: Number of retransmissions. description: Configuration options for static ADR. AppAsDecodeDownlinkBody: type: object properties: end_device_ids: type: object properties: application_ids: type: object dev_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN DevEUI. join_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). dev_addr: type: string format: string example: 2600ABCD description: The LoRaWAN DevAddr. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' downlink: $ref: '#/definitions/v3ApplicationDownlink' formatter: $ref: '#/definitions/v3PayloadFormatter' parameter: type: string AppAsDecodeUplinkBody: type: object properties: end_device_ids: type: object properties: application_ids: type: object dev_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN DevEUI. join_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). dev_addr: type: string format: string example: 2600ABCD description: The LoRaWAN DevAddr. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' uplink: $ref: '#/definitions/v3ApplicationUplink' formatter: $ref: '#/definitions/v3PayloadFormatter' parameter: type: string AppAsEncodeDownlinkBody: type: object properties: end_device_ids: type: object properties: application_ids: type: object dev_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN DevEUI. join_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). dev_addr: type: string format: string example: 2600ABCD description: The LoRaWAN DevAddr. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' downlink: $ref: '#/definitions/v3ApplicationDownlink' formatter: $ref: '#/definitions/v3PayloadFormatter' parameter: type: string AppAsSimulateUplinkBody: type: object properties: end_device_ids: type: object properties: application_ids: type: object dev_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN DevEUI. join_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). dev_addr: type: string format: string example: 2600ABCD description: The LoRaWAN DevAddr. correlation_ids: type: array items: type: string received_at: type: string format: date-time description: Server time when the Application Server received the message. uplink_message: $ref: '#/definitions/v3ApplicationUplink' uplink_normalized: $ref: '#/definitions/v3ApplicationUplinkNormalized' join_accept: $ref: '#/definitions/v3ApplicationJoinAccept' downlink_ack: $ref: '#/definitions/v3ApplicationDownlink' downlink_nack: $ref: '#/definitions/v3ApplicationDownlink' downlink_sent: $ref: '#/definitions/v3ApplicationDownlink' downlink_failed: $ref: '#/definitions/v3ApplicationDownlinkFailed' downlink_queued: $ref: '#/definitions/v3ApplicationDownlink' downlink_queue_invalidated: $ref: '#/definitions/v3ApplicationInvalidatedDownlinks' location_solved: $ref: '#/definitions/v3ApplicationLocation' service_data: $ref: '#/definitions/v3ApplicationServiceData' simulated: type: boolean description: 'Signals if the message is coming from the Network Server or is simulated. The Application Server automatically sets this field, and callers must not manually set it.' description: Application uplink message. ApplicationDownlinkClassBC: type: object properties: gateways: type: array items: type: object $ref: '#/definitions/v3ClassBCGatewayIdentifiers' description: 'Possible gateway identifiers, antenna index, and group index to use for this downlink message. The Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot. If none of the gateways can be selected, the downlink message fails. If empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks. If group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.' absolute_time: type: string format: date-time description: 'Absolute time when the downlink message should be transmitted. This requires the gateway to have GPS time synchronization. If the time is in the past or if there is a scheduling conflict, the downlink message fails. If null, the time is selected based on slot availability. This is recommended in class B mode.' ApplicationDownlinkConfirmedRetry: type: object properties: attempt: type: integer format: int64 description: The number of attempted confirmed downlink acknowledgements. max_attempts: type: integer format: int64 description: 'The maximum number of confirmed downlink acknowledgement attempts. If null, the Application Server configuration is used instead.' ApplicationPackageRegistrySetAssociationBody: type: object properties: association: type: object properties: ids: type: object properties: end_device_ids: type: object properties: application_ids: type: object dev_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN DevEUI. join_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). dev_addr: type: string format: string example: 2600ABCD description: The LoRaWAN DevAddr. created_at: type: string format: date-time updated_at: type: string format: date-time package_name: type: string data: type: object field_mask: type: string ApplicationPackageRegistrySetDefaultAssociationBody: type: object properties: default: type: object properties: ids: type: object properties: application_ids: type: object created_at: type: string format: date-time updated_at: type: string format: date-time package_name: type: string data: type: object field_mask: type: string AsConfigurationPubSub: type: object properties: providers: $ref: '#/definitions/PubSubProviders' AsConfigurationWebhooks: type: object properties: unhealthy_attempts_threshold: type: string format: int64 unhealthy_retry_interval: type: string AsSetLinkBody: type: object properties: application_ids: type: object link: $ref: '#/definitions/v3ApplicationLink' field_mask: type: string ChannelSteeringSettingsLoRaNarrowMode: type: object description: 'Configuration options for LoRa narrow channels steering. The narrow mode attempts to steer the end device towards using the LoRa modulated, 125kHz bandwidth channels.' DownlinkMessageMessageMACPayload: type: object properties: f_port: type: integer format: int64 full_f_cnt: type: integer format: int64 DownlinkMessageMessageMHDR: type: object properties: m_type: $ref: '#/definitions/v3MType' DynamicModeChannelSteeringSettings: type: object properties: lora_narrow: $ref: '#/definitions/ChannelSteeringSettingsLoRaNarrowMode' disabled: $ref: '#/definitions/DynamicModeChannelSteeringSettingsDisabledMode' description: 'EXPERIMENTAL: Channel steering settings.' DynamicModeChannelSteeringSettingsDisabledMode: type: object description: 'Configuration options for cases in which ADR is not supposed to steer the end device to another set of channels.' DynamicModeOverrides: type: object properties: data_rate_0: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_1: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_2: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_3: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_4: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_5: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_6: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_7: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_8: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_9: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_10: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_11: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_12: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_13: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_14: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_15: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' description: 'EXPERIMENTAL: Configuration overrides.' DynamicModePerDataRateIndexOverride: type: object properties: 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.' description: 'EXPERIMENTAL: Data rate index override settings.' MACCommandADRParamSetupReq: type: object properties: adr_ack_limit_exponent: $ref: '#/definitions/v3ADRAckLimitExponent' description: Exponent e that configures the ADR_ACK_LIMIT = 2^e messages. adr_ack_delay_exponent: $ref: '#/definitions/v3ADRAckDelayExponent' description: Exponent e that configures the ADR_ACK_DELAY = 2^e messages. MACCommandBeaconFreqAns: type: object properties: frequency_ack: type: boolean MACCommandBeaconFreqReq: type: object properties: frequency: type: string format: uint64 description: Frequency of the Class B beacons (Hz). MACCommandBeaconTimingAns: type: object properties: delay: type: integer format: int64 description: (uint16) See LoRaWAN specification. channel_index: type: integer format: int64 MACCommandDLChannelAns: type: object properties: channel_index_ack: type: boolean frequency_ack: type: boolean MACCommandDLChannelReq: type: object properties: channel_index: type: integer format: int64 frequency: type: string format: uint64 description: Downlink channel frequency (Hz). MACCommandDevStatusAns: type: object properties: battery: type: integer format: int64 description: 'Device battery status. 0 indicates that the device is connected to an external power source. 1..254 indicates a battery level. 255 indicates that the device was not able to measure the battery level.' margin: type: integer format: int32 description: SNR of the last downlink (dB; [-32, +31]). MACCommandDeviceModeConf: type: object properties: class: $ref: '#/definitions/v3Class' MACCommandDeviceModeInd: type: object properties: class: $ref: '#/definitions/v3Class' MACCommandDeviceTimeAns: type: object properties: time: type: string format: date-time MACCommandDutyCycleReq: type: object properties: max_duty_cycle: $ref: '#/definitions/v3AggregatedDutyCycle' MACCommandForceRejoinReq: type: object properties: rejoin_type: $ref: '#/definitions/v3RejoinRequestType' data_rate_index: $ref: '#/definitions/v3DataRateIndex' max_retries: type: integer format: int64 period_exponent: $ref: '#/definitions/v3RejoinPeriodExponent' description: Exponent e that configures the rejoin period = 32 * 2^e + rand(0,32) seconds. MACCommandLinkADRAns: type: object properties: channel_mask_ack: type: boolean data_rate_index_ack: type: boolean tx_power_index_ack: type: boolean MACCommandLinkADRReq: type: object properties: data_rate_index: $ref: '#/definitions/v3DataRateIndex' tx_power_index: type: integer format: int64 channel_mask: type: array items: type: boolean channel_mask_control: type: integer format: int64 nb_trans: type: integer format: int64 MACCommandLinkCheckAns: type: object properties: margin: type: integer format: int64 description: Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor. gateway_count: type: integer format: int64 MACCommandNewChannelAns: type: object properties: frequency_ack: type: boolean data_rate_ack: type: boolean MACCommandNewChannelReq: type: object properties: channel_index: type: integer format: int64 frequency: type: string format: uint64 description: Channel frequency (Hz). min_data_rate_index: $ref: '#/definitions/v3DataRateIndex' max_data_rate_index: $ref: '#/definitions/v3DataRateIndex' MACCommandPingSlotChannelAns: type: object properties: frequency_ack: type: boolean data_rate_index_ack: type: boolean MACCommandPingSlotChannelReq: type: object properties: frequency: type: string format: uint64 description: Ping slot channel frequency (Hz). data_rate_index: $ref: '#/definitions/v3DataRateIndex' MACCommandPingSlotInfoReq: type: object properties: period: $ref: '#/definitions/v3PingSlotPeriod' MACCommandRejoinParamSetupAns: type: object properties: max_time_exponent_ack: type: boolean MACCommandRejoinParamSetupReq: type: object properties: max_count_exponent: $ref: '#/definitions/v3RejoinCountExponent' description: Exponent e that configures the rejoin counter = 2^(e+4) messages. max_time_exponent: $ref: '#/definitions/v3RejoinTimeExponent' description: Exponent e that configures the rejoin timer = 2^(e+10) seconds. MACCommandRekeyConf: type: object properties: minor_version: $ref: '#/definitions/v3Minor' MACCommandRekeyInd: type: object properties: minor_version: $ref: '#/definitions/v3Minor' MACCommandRelayConfAns: type: object properties: second_channel_frequency_ack: type: boolean second_channel_ack_offset_ack: type: boolean second_channel_data_rate_index_ack: type: boolean second_channel_index_ack: type: boolean default_channel_index_ack: type: boolean cad_periodicity_ack: type: boolean MACCommandRelayConfReq: type: object properties: configuration: $ref: '#/definitions/MACCommandRelayConfReqConfiguration' MACCommandRelayConfReqConfiguration: type: object properties: second_channel: $ref: '#/definitions/v3RelaySecondChannel' default_channel_index: type: integer format: int64 cad_periodicity: $ref: '#/definitions/v3RelayCADPeriodicity' MACCommandRelayConfigureFwdLimitAns: type: object MACCommandRelayConfigureFwdLimitReq: type: object properties: reset_limit_counter: $ref: '#/definitions/v3RelayResetLimitCounter' join_request_limits: $ref: '#/definitions/v3RelayForwardLimits' notify_limits: $ref: '#/definitions/v3RelayForwardLimits' global_uplink_limits: $ref: '#/definitions/v3RelayForwardLimits' overall_limits: $ref: '#/definitions/v3RelayForwardLimits' MACCommandRelayCtrlUplinkListAns: type: object properties: rule_index_ack: type: boolean w_f_cnt: type: integer format: int64 MACCommandRelayCtrlUplinkListReq: type: object properties: rule_index: type: integer format: int64 action: $ref: '#/definitions/v3RelayCtrlUplinkListAction' MACCommandRelayEndDeviceConfAns: type: object properties: second_channel_frequency_ack: type: boolean second_channel_data_rate_index_ack: type: boolean second_channel_index_ack: type: boolean backoff_ack: type: boolean MACCommandRelayEndDeviceConfReq: type: object properties: configuration: $ref: '#/definitions/MACCommandRelayEndDeviceConfReqConfiguration' MACCommandRelayEndDeviceConfReqConfiguration: type: object properties: always: $ref: '#/definitions/v3RelayEndDeviceAlwaysMode' dynamic: $ref: '#/definitions/v3RelayEndDeviceDynamicMode' end_device_controlled: $ref: '#/definitions/v3RelayEndDeviceControlledMode' backoff: type: integer format: int64 second_channel: $ref: '#/definitions/v3RelaySecondChannel' serving_device_id: type: string MACCommandRelayNotifyNewEndDeviceReq: type: object properties: dev_addr: type: string format: string example: 2600ABCD snr: type: integer format: int32 rssi: type: integer format: int32 MACCommandRelayUpdateUplinkListAns: type: object MACCommandRelayUpdateUplinkListReq: type: object properties: rule_index: type: integer format: int64 forward_limits: $ref: '#/definitions/v3RelayUplinkForwardLimits' dev_addr: type: string format: string example: 2600ABCD w_f_cnt: type: integer format: int64 root_wor_s_key: type: string format: string example: 0123456789ABCDEF0123456789ABCDEF device_id: type: string session_key_id: type: string format: byte MACCommandResetConf: type: object properties: minor_version: $ref: '#/definitions/v3Minor' MACCommandResetInd: type: object properties: minor_version: $ref: '#/definitions/v3Minor' MACCommandRxParamSetupAns: type: object properties: rx2_data_rate_index_ack: type: boolean rx1_data_rate_offset_ack: type: boolean rx2_frequency_ack: type: boolean MACCommandRxParamSetupReq: type: object properties: rx2_data_rate_index: $ref: '#/definitions/v3DataRateIndex' rx1_data_rate_offset: $ref: '#/definitions/v3DataRateOffset' rx2_frequency: type: string format: uint64 description: Rx2 frequency (Hz). MACCommandRxTimingSetupReq: type: object properties: delay: $ref: '#/definitions/v3RxDelay' 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 MACStateDataRateRange: type: object properties: min_data_rate_index: $ref: '#/definitions/v3DataRateIndex' max_data_rate_index: $ref: '#/definitions/v3DataRateIndex' MACStateDataRateRanges: type: object properties: ranges: type: array items: type: object $ref: '#/definitions/MACStateDataRateRange' MACStateDownlinkMessageMessage: type: object properties: m_hdr: $ref: '#/definitions/DownlinkMessageMessageMHDR' mac_payload: $ref: '#/definitions/DownlinkMessageMessageMACPayload' MACStateJoinAccept: type: object properties: payload: type: string format: byte description: Payload of the join-accept received from Join Server. request: $ref: '#/definitions/v3MACStateJoinRequest' keys: $ref: '#/definitions/v3SessionKeys' description: Network session keys associated with the join. correlation_ids: type: array items: type: string dev_addr: type: string format: string example: 2600ABCD net_id: type: string format: string example: '000013' MACStateUplinkMessageRxMetadata: type: object properties: gateway_ids: $ref: '#/definitions/lorawanv3GatewayIdentifiers' channel_rssi: type: number format: float snr: type: number format: float downlink_path_constraint: $ref: '#/definitions/v3DownlinkPathConstraint' uplink_token: type: string format: byte packet_broker: $ref: '#/definitions/UplinkMessageRxMetadataPacketBrokerMetadata' relay: $ref: '#/definitions/UplinkMessageRxMetadataRelayMetadata' MACStateUplinkMessageTxSettings: type: object properties: data_rate: $ref: '#/definitions/v3DataRate' PictureEmbedded: type: object properties: mime_type: type: string description: MIME type of the picture. data: type: string format: byte description: 'Picture data. A data URI can be constructed as follows: `data:;base64,`.' PubSubProviders: type: object properties: mqtt: $ref: '#/definitions/PubSubProvidersStatus' nats: $ref: '#/definitions/PubSubProvidersStatus' PubSubProvidersStatus: type: string enum: - ENABLED - WARNING - DISABLED 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." TxSettingsDownlink: type: object properties: antenna_index: type: integer format: int64 description: Index of the antenna on which the uplink was received and/or downlink must be sent. tx_power: type: number format: float description: Transmission power (dBm). Only on downlink. invert_polarization: type: boolean description: Invert LoRa polarization; false for LoRaWAN uplink, true for downlink. description: Transmission settings for downlink. UplinkMessageRxMetadataPacketBrokerMetadata: type: object UplinkMessageRxMetadataRelayMetadata: type: object googlerpcStatus: type: object properties: code: type: integer format: int32 message: type: string details: type: array items: type: object $ref: '#/definitions/protobufAny' lorawanv3BoolValue: type: object properties: value: type: boolean lorawanv3GatewayIdentifiers: type: object properties: gateway_id: type: string eui: type: string format: string example: 70B3D57ED000ABCD description: Secondary identifier, which can only be used in specific requests. lorawanv3Location: type: object properties: latitude: type: number format: double description: The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative. longitude: type: number format: double description: The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative. altitude: type: integer format: int32 description: The altitude (meters), where 0 is the mean sea level. accuracy: type: integer format: int32 description: The accuracy of the location (meters). source: $ref: '#/definitions/v3LocationSource' description: Source of the location information. lorawanv3MACPayload: type: object properties: f_hdr: $ref: '#/definitions/v3FHDR' f_port: type: integer format: int64 frm_payload: type: string format: byte decoded_payload: type: object full_f_cnt: type: integer format: int64 description: Full 32-bit FCnt value. Used internally by Network Server. lorawanv3MHDR: type: object properties: m_type: $ref: '#/definitions/v3MType' major: $ref: '#/definitions/v3Major' lorawanv3Message: type: object properties: m_hdr: $ref: '#/definitions/lorawanv3MHDR' mic: type: string format: byte mac_payload: $ref: '#/definitions/lorawanv3MACPayload' join_request_payload: $ref: '#/definitions/v3JoinRequestPayload' join_accept_payload: $ref: '#/definitions/v3JoinAcceptPayload' rejoin_request_payload: $ref: '#/definitions/v3RejoinRequestPayload' title: Message represents a LoRaWAN message lorawanv3PacketBrokerMetadata: type: object properties: message_id: type: string description: Message identifier generated by Packet Broker Router. forwarder_net_id: type: string format: string example: '000013' description: LoRa Alliance NetID of the Packet Broker Forwarder Member. forwarder_tenant_id: type: string description: Tenant ID managed by the Packet Broker Forwarder Member. forwarder_cluster_id: type: string description: Forwarder Cluster ID of the Packet Broker Forwarder. forwarder_gateway_eui: type: string format: string example: 70B3D57ED000ABCD description: Forwarder gateway EUI. forwarder_gateway_id: type: string description: Forwarder gateway ID. home_network_net_id: type: string format: string example: '000013' description: LoRa Alliance NetID of the Packet Broker Home Network Member. home_network_tenant_id: type: string description: 'Tenant ID managed by the Packet Broker Home Network Member. This value is empty if it cannot be determined by the Packet Broker Router.' home_network_cluster_id: type: string description: Home Network Cluster ID of the Packet Broker Home Network. hops: type: array items: type: object $ref: '#/definitions/v3PacketBrokerRouteHop' description: Hops that the message passed. Each Packet Broker Router service appends an entry. lorawanv3RelayMetadata: type: object properties: device_id: type: string description: End device identifiers of the relay. wor_channel: $ref: '#/definitions/lorawanv3RelayWORChannel' description: Wake on radio channel. lorawanv3RelayParameters: type: object properties: serving: $ref: '#/definitions/v3ServingRelayParameters' description: Parameters related to a relay which is serving end devices. served: $ref: '#/definitions/v3ServedRelayParameters' description: Parameters related to an end device served by a relay. description: 'RelayParameters represent the parameters of a relay. This is used internally by the Network Server.' lorawanv3RelayWORChannel: type: string enum: - RELAY_WOR_CHANNEL_DEFAULT - RELAY_WOR_CHANNEL_SECONDARY default: RELAY_WOR_CHANNEL_DEFAULT lorawanv3RxMetadata: type: object properties: gateway_ids: $ref: '#/definitions/lorawanv3GatewayIdentifiers' packet_broker: $ref: '#/definitions/lorawanv3PacketBrokerMetadata' relay: $ref: '#/definitions/lorawanv3RelayMetadata' antenna_index: type: integer format: int64 time: type: string format: date-time description: Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined. timestamp: type: integer format: int64 description: Gateway concentrator timestamp when the Rx finished (microseconds). fine_timestamp: type: string format: uint64 description: Gateway's internal fine timestamp when the Rx finished (nanoseconds). encrypted_fine_timestamp: type: string format: byte description: Encrypted gateway's internal fine timestamp when the Rx finished (nanoseconds). encrypted_fine_timestamp_key_id: type: string rssi: type: number format: float description: 'Received signal strength indicator (dBm). This value equals `channel_rssi`.' signal_rssi: type: number format: float description: Received signal strength indicator of the signal (dBm). channel_rssi: type: number format: float description: Received signal strength indicator of the channel (dBm). rssi_standard_deviation: type: number format: float description: Standard deviation of the RSSI during preamble. snr: type: number format: float description: Signal-to-noise ratio (dB). frequency_offset: type: string format: int64 description: Frequency offset (Hz). location: $ref: '#/definitions/lorawanv3Location' description: Antenna location; injected by the Gateway Server. downlink_path_constraint: $ref: '#/definitions/v3DownlinkPathConstraint' description: Gateway downlink path constraint; injected by the Gateway Server. uplink_token: type: string format: byte description: Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS. channel_index: type: integer format: int64 description: Index of the gateway channel that received the message. hopping_width: type: integer format: int64 description: Hopping width; a number describing the number of steps of the LR-FHSS grid. frequency_drift: type: integer format: int32 description: Frequency drift in Hz between start and end of an LR-FHSS packet (signed). gps_time: type: string format: date-time description: 'Timestamp at the end of the transmission, provided by the gateway. Guaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond.' received_at: type: string format: date-time description: Timestamp at which the Gateway Server has received the message. advanced: type: object title: 'Advanced metadata fields - can be used for advanced information or experimental features that are not yet formally defined in the API - field names are written in snake_case' description: 'Contains metadata for a received message. Each antenna that receives a message corresponds to one RxMetadata.' lorawanv3TxSettings: type: object properties: data_rate: $ref: '#/definitions/v3DataRate' description: Data rate. frequency: type: string format: uint64 description: Frequency (Hz). enable_crc: type: boolean description: Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled. timestamp: type: integer format: int64 description: 'Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds). On downlink, set timestamp to 0 and time to null to use immediate scheduling.' time: type: string format: date-time description: 'Time of the gateway when the uplink message was received, or when the downlink message should be transmitted. For downlink, this requires the gateway to have GPS time synchronization.' downlink: $ref: '#/definitions/TxSettingsDownlink' description: Transmission settings for downlink. concentrator_timestamp: type: string format: int64 description: 'Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler. This value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival). This field is set and used only by the Gateway Server.' description: 'TxSettings contains the settings for a transmission. This message is used on both uplink and downlink. On downlink, this is a scheduled transmission.' protobufAny: type: object properties: '@type': type: string 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\n\ expect 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." 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(&foo)) {\n ...\n }\n\n\ Example 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 := &pb.Foo{...}\n any, err := anypb.New(foo)\n\ \ if err != nil {\n ...\n }\n ...\n foo := &pb.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\": ,\n \"lastName\": \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 }" v3ADRAckDelayExponent: type: string 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 default: ADR_ACK_DELAY_1 v3ADRAckDelayExponentValue: type: object properties: value: $ref: '#/definitions/v3ADRAckDelayExponent' v3ADRAckLimitExponent: type: string 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 default: ADR_ACK_LIMIT_1 v3ADRAckLimitExponentValue: type: object properties: value: $ref: '#/definitions/v3ADRAckLimitExponent' v3ADRSettings: type: object properties: static: $ref: '#/definitions/ADRSettingsStaticMode' dynamic: $ref: '#/definitions/ADRSettingsDynamicMode' disabled: $ref: '#/definitions/v3ADRSettingsDisabledMode' description: Adaptive Data Rate settings. v3ADRSettingsDisabledMode: type: object description: 'Configuration options for cases in which ADR is to be disabled completely.' v3APIKey: type: object properties: id: type: string description: 'Immutable and unique public identifier for the API key. Generated by the Access Server.' key: type: string description: 'Immutable and unique secret value of the API key. Generated by the Access Server.' name: type: string description: User-defined (friendly) name for the API key. rights: type: array items: $ref: '#/definitions/v3Right' description: Rights that are granted to this API key. created_at: type: string format: date-time updated_at: type: string format: date-time expires_at: type: string format: date-time v3APIKeys: type: object properties: api_keys: type: array items: type: object $ref: '#/definitions/v3APIKey' v3AggregatedDutyCycle: type: string 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 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%." v3AggregatedDutyCycleValue: type: object properties: value: $ref: '#/definitions/v3AggregatedDutyCycle' v3AppAsDownlinkQueuePushBody: type: object properties: end_device_ids: type: object properties: application_ids: type: object dev_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN DevEUI. join_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). dev_addr: type: string format: string example: 2600ABCD description: The LoRaWAN DevAddr. downlinks: type: array items: type: object $ref: '#/definitions/v3ApplicationDownlink' v3AppAsDownlinkQueueReplaceBody: type: object properties: end_device_ids: type: object properties: application_ids: type: object dev_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN DevEUI. join_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). dev_addr: type: string format: string example: 2600ABCD description: The LoRaWAN DevAddr. downlinks: type: array items: type: object $ref: '#/definitions/v3ApplicationDownlink' v3Application: type: object properties: ids: $ref: '#/definitions/v3ApplicationIdentifiers' description: The identifiers of the application. These are public and can be seen by any authenticated user in the network. created_at: type: string format: date-time description: When the application was created. This information is public and can be seen by any authenticated user in the network. updated_at: type: string format: date-time description: When the application was last updated. This information is public and can be seen by any authenticated user in the network. deleted_at: type: string format: date-time description: When the application was deleted. This information is public and can be seen by any authenticated user in the network. name: type: string description: The name of the application. description: type: string description: A description for the application. attributes: type: object additionalProperties: type: string description: Key-value attributes for this application. Typically used for organizing applications or for storing integration-specific data. contact_info: type: array items: type: object $ref: '#/definitions/v3ContactInfo' description: '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.' administrative_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' technical_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' network_server_address: type: string description: '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.' application_server_address: type: string description: '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.' join_server_address: type: string description: '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.' dev_eui_counter: type: integer format: int64 description: Application is the message that defines an Application in the network. v3ApplicationAccessCreateAPIKeyBody: type: object properties: application_ids: type: object name: type: string rights: type: array items: $ref: '#/definitions/v3Right' expires_at: type: string format: date-time v3ApplicationAccessSetCollaboratorBody: type: object properties: application_ids: type: object collaborator: $ref: '#/definitions/v3Collaborator' v3ApplicationAccessUpdateAPIKeyBody: type: object properties: application_ids: type: object api_key: type: object properties: key: type: string description: 'Immutable and unique secret value of the API key. Generated by the Access Server.' name: type: string description: User-defined (friendly) name for the API key. rights: type: array items: $ref: '#/definitions/v3Right' description: Rights that are granted to this API key. created_at: type: string format: date-time updated_at: type: string format: date-time expires_at: type: string format: date-time field_mask: type: string description: The names of the api key fields that should be updated. v3ApplicationActivationSettingRegistrySetBody: type: object properties: application_ids: type: object settings: $ref: '#/definitions/v3ApplicationActivationSettings' field_mask: type: string v3ApplicationActivationSettings: type: object properties: kek_label: type: string description: The KEK label to use for wrapping application keys. kek: $ref: '#/definitions/v3KeyEnvelope' description: The (encrypted) Key Encryption Key. home_net_id: type: string format: string example: '000013' description: Home NetID. application_server_id: type: string description: The AS-ID of the Application Server to use. v3ApplicationDownlink: type: object properties: session_key_id: type: string format: byte description: Join Server issued identifier for the session keys used by this downlink. f_port: type: integer format: int64 f_cnt: type: integer format: int64 frm_payload: type: string format: byte description: 'The frame payload of the downlink message. The payload is encrypted if the skip_payload_crypto field of the EndDevice is true.' decoded_payload: type: object description: 'The decoded frame payload of the downlink message. When scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters), this fields acts as input for the downlink encoder, and the output is set to frm_payload. When reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.' decoded_payload_warnings: type: array items: type: string description: Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink). confirmed: type: boolean class_b_c: $ref: '#/definitions/ApplicationDownlinkClassBC' description: 'Optional gateway and timing information for class B and C. If set, this downlink message will only be transmitted as class B or C downlink. If not set, this downlink message may be transmitted in class A, B and C.' priority: $ref: '#/definitions/v3TxSchedulePriority' description: Priority for scheduling the downlink message. correlation_ids: type: array items: type: string confirmed_retry: $ref: '#/definitions/ApplicationDownlinkConfirmedRetry' locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: End device location metadata, set by the Application Server while handling the message. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: End device version identifiers, set by the Application Server while handling the message. network_ids: $ref: '#/definitions/v3NetworkIdentifiers' description: Network identifiers, set by the Network Server that handles the message. attributes: type: object additionalProperties: type: string description: Attributes for devices, set by the Application Server while handling the message. v3ApplicationDownlinkFailed: type: object properties: downlink: $ref: '#/definitions/v3ApplicationDownlink' error: $ref: '#/definitions/v3ErrorDetails' locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: End device location metadata, set by the Application Server while handling the message. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: End device version identifiers, set by the Application Server while handling the message. network_ids: $ref: '#/definitions/v3NetworkIdentifiers' description: Network identifiers, set by the Network Server that handles the message. attributes: type: object additionalProperties: type: string description: Attributes for devices, set by the Application Server while handling the message. v3ApplicationDownlinks: type: object properties: downlinks: type: array items: type: object $ref: '#/definitions/v3ApplicationDownlink' v3ApplicationIdentifiers: type: object properties: application_id: type: string v3ApplicationInvalidatedDownlinks: type: object properties: downlinks: type: array items: type: object $ref: '#/definitions/v3ApplicationDownlink' last_f_cnt_down: type: integer format: int64 session_key_id: type: string format: byte locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: End device location metadata, set by the Application Server while handling the message. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: End device version identifiers, set by the Application Server while handling the message. network_ids: $ref: '#/definitions/v3NetworkIdentifiers' description: Network identifiers, set by the Network Server that handles the message. attributes: type: object additionalProperties: type: string description: Attributes for devices, set by the Application Server while handling the message. v3ApplicationJoinAccept: type: object properties: session_key_id: type: string format: byte description: Join Server issued identifier for the session keys negotiated in this join. app_s_key: $ref: '#/definitions/v3KeyEnvelope' description: Encrypted Application Session Key (if Join Server sent it to Network Server). invalidated_downlinks: type: array items: type: object $ref: '#/definitions/v3ApplicationDownlink' description: Downlink messages in the queue that got invalidated because of the session change. pending_session: type: boolean description: '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: type: string format: date-time description: Server time when the Network Server received the message. locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: End device location metadata, set by the Application Server while handling the message. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: End device version identifiers, set by the Application Server while handling the message. network_ids: $ref: '#/definitions/v3NetworkIdentifiers' description: Network identifiers, set by the Network Server that handles the message. attributes: type: object additionalProperties: type: string description: Attributes for devices, set by the Application Server while handling the message. v3ApplicationLink: type: object properties: default_formatters: $ref: '#/definitions/v3MessagePayloadFormatters' description: 'Default message payload formatters to use when there are no formatters defined on the end device level.' skip_payload_crypto: type: boolean description: 'Skip decryption of uplink payloads and encryption of downlink payloads. Leave empty for the using the Application Server''s default setting.' v3ApplicationLinkStats: type: object properties: linked_at: type: string format: date-time network_server_address: type: string last_up_received_at: type: string format: date-time description: '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.' up_count: type: string format: uint64 description: Number of upstream messages received. last_downlink_forwarded_at: type: string format: date-time description: Timestamp when the last downlink message has been forwarded to a Network Server. downlink_count: type: string format: uint64 description: Number of downlink messages forwarded. description: Link stats as monitored by the Application Server. v3ApplicationLocation: type: object properties: service: type: string location: $ref: '#/definitions/lorawanv3Location' attributes: type: object additionalProperties: type: string v3ApplicationPackage: type: object properties: name: type: string default_f_port: type: integer format: int64 v3ApplicationPackageAssociation: type: object properties: ids: $ref: '#/definitions/v3ApplicationPackageAssociationIdentifiers' created_at: type: string format: date-time updated_at: type: string format: date-time package_name: type: string data: type: object v3ApplicationPackageAssociationIdentifiers: type: object properties: end_device_ids: $ref: '#/definitions/v3EndDeviceIdentifiers' f_port: type: integer format: int64 v3ApplicationPackageAssociations: type: object properties: associations: type: array items: type: object $ref: '#/definitions/v3ApplicationPackageAssociation' v3ApplicationPackageDefaultAssociation: type: object properties: ids: $ref: '#/definitions/v3ApplicationPackageDefaultAssociationIdentifiers' created_at: type: string format: date-time updated_at: type: string format: date-time package_name: type: string data: type: object v3ApplicationPackageDefaultAssociationIdentifiers: type: object properties: application_ids: $ref: '#/definitions/v3ApplicationIdentifiers' f_port: type: integer format: int64 v3ApplicationPackageDefaultAssociations: type: object properties: defaults: type: array items: type: object $ref: '#/definitions/v3ApplicationPackageDefaultAssociation' v3ApplicationPackages: type: object properties: packages: type: array items: type: object $ref: '#/definitions/v3ApplicationPackage' v3ApplicationRegistryCreateBody: type: object properties: application: $ref: '#/definitions/v3Application' collaborator: type: object properties: organization_ids: type: object user_ids: $ref: '#/definitions/v3UserIdentifiers' description: Collaborator to grant all rights on the newly created application. title: Collaborator to grant all rights on the newly created application. v3ApplicationRegistryUpdateBody: type: object properties: application: type: object properties: ids: type: object 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. created_at: type: string format: date-time description: When the application was created. This information is public and can be seen by any authenticated user in the network. updated_at: type: string format: date-time description: When the application was last updated. This information is public and can be seen by any authenticated user in the network. deleted_at: type: string format: date-time description: When the application was deleted. This information is public and can be seen by any authenticated user in the network. name: type: string description: The name of the application. description: type: string description: A description for the application. attributes: type: object additionalProperties: type: string description: Key-value attributes for this application. Typically used for organizing applications or for storing integration-specific data. contact_info: type: array items: type: object $ref: '#/definitions/v3ContactInfo' description: '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.' administrative_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' technical_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' network_server_address: type: string description: '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.' application_server_address: type: string description: '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.' join_server_address: type: string description: '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.' dev_eui_counter: type: integer format: int64 description: Application is the message that defines an Application in the network. field_mask: type: string description: The names of the application fields that should be updated. v3ApplicationServiceData: type: object properties: service: type: string data: type: object locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: End device location metadata, set by the Application Server while handling the message. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: End device version identifiers, set by the Application Server while handling the message. network_ids: $ref: '#/definitions/v3NetworkIdentifiers' description: Network identifiers, set by the Network Server that handles the message. attributes: type: object additionalProperties: type: string description: Attributes for devices, set by the Application Server while handling the message. v3ApplicationUp: type: object properties: end_device_ids: $ref: '#/definitions/v3EndDeviceIdentifiers' correlation_ids: type: array items: type: string received_at: type: string format: date-time description: Server time when the Application Server received the message. uplink_message: $ref: '#/definitions/v3ApplicationUplink' uplink_normalized: $ref: '#/definitions/v3ApplicationUplinkNormalized' join_accept: $ref: '#/definitions/v3ApplicationJoinAccept' downlink_ack: $ref: '#/definitions/v3ApplicationDownlink' downlink_nack: $ref: '#/definitions/v3ApplicationDownlink' downlink_sent: $ref: '#/definitions/v3ApplicationDownlink' downlink_failed: $ref: '#/definitions/v3ApplicationDownlinkFailed' downlink_queued: $ref: '#/definitions/v3ApplicationDownlink' downlink_queue_invalidated: $ref: '#/definitions/v3ApplicationInvalidatedDownlinks' location_solved: $ref: '#/definitions/v3ApplicationLocation' service_data: $ref: '#/definitions/v3ApplicationServiceData' simulated: type: boolean description: 'Signals if the message is coming from the Network Server or is simulated. The Application Server automatically sets this field, and callers must not manually set it.' description: Application uplink message. v3ApplicationUplink: type: object properties: session_key_id: type: string format: byte description: Join Server issued identifier for the session keys used by this uplink. f_port: type: integer format: int64 description: LoRaWAN FPort of the uplink message. f_cnt: type: integer format: int64 description: LoRaWAN FCntUp of the uplink message. frm_payload: type: string format: byte description: 'The frame payload of the uplink message. The payload is still encrypted if the skip_payload_crypto field of the EndDevice is true, which is indicated by the presence of the app_s_key field.' decoded_payload: type: object description: 'The decoded frame payload of the uplink message. This field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters).' decoded_payload_warnings: type: array items: type: string description: Warnings generated by the message processor while decoding the frm_payload. normalized_payload: type: array items: type: object description: 'The normalized frame payload of the uplink message. This field is set by the message processor that is configured for the end device (see formatters) or application (see default_formatters). If the message processor is a custom script, there is no uplink normalizer script and the decoded output is valid normalized payload, this field contains the decoded payload.' normalized_payload_warnings: type: array items: type: string description: Warnings generated by the message processor while normalizing the decoded payload. rx_metadata: type: array items: type: object $ref: '#/definitions/lorawanv3RxMetadata' description: A list of metadata for each antenna of each gateway that received this message. settings: $ref: '#/definitions/lorawanv3TxSettings' description: Transmission settings used by the end device. received_at: type: string format: date-time description: Server time when the Network Server received the message. app_s_key: $ref: '#/definitions/v3KeyEnvelope' description: 'The AppSKey of the current session. This field is only present if the skip_payload_crypto field of the EndDevice is true. Can be used to decrypt uplink payloads and encrypt downlink payloads.' last_a_f_cnt_down: type: integer format: int64 description: 'The last AFCntDown of the current session. This field is only present if the skip_payload_crypto field of the EndDevice is true. Can be used with app_s_key to encrypt downlink payloads.' confirmed: type: boolean description: Indicates whether the end device used confirmed data uplink. consumed_airtime: type: string description: Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings. packet_error_rate: type: number format: float description: 'Packet error rate of the recent uplinks in the current session. Calculated by the Network Server. The value is defined in the [0, 1] interval.' locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: End device location metadata, set by the Application Server while handling the message. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: End device version identifiers, set by the Application Server while handling the message. network_ids: $ref: '#/definitions/v3NetworkIdentifiers' description: Network identifiers, set by the Network Server that handles the message. last_battery_percentage: $ref: '#/definitions/v3LastBatteryPercentage' description: 'Last battery percentage of the end device. Received via the DevStatus MAC command at last_dev_status_received_at or earlier. Set by the Network Server while handling the message.' attributes: type: object additionalProperties: type: string description: Attributes for devices, set by the Application Server while handling the message. v3ApplicationUplinkNormalized: type: object properties: session_key_id: type: string format: byte description: Join Server issued identifier for the session keys used by this uplink. f_port: type: integer format: int64 description: LoRaWAN FPort of the uplink message. f_cnt: type: integer format: int64 description: LoRaWAN FCntUp of the uplink message. frm_payload: type: string format: byte description: 'The frame payload of the uplink message. This field is always decrypted with AppSKey.' normalized_payload: type: object description: '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: type: array items: type: string description: This field is set to normalized_payload_warnings in the corresponding ApplicationUplink message. rx_metadata: type: array items: type: object $ref: '#/definitions/lorawanv3RxMetadata' description: A list of metadata for each antenna of each gateway that received this message. settings: $ref: '#/definitions/lorawanv3TxSettings' description: Transmission settings used by the end device. received_at: type: string format: date-time description: Server time when the Network Server received the message. confirmed: type: boolean description: Indicates whether the end device used confirmed data uplink. consumed_airtime: type: string description: Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the raw payload size and the transmission settings. locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: End device location metadata, set by the Application Server while handling the message. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: End device version identifiers, set by the Application Server while handling the message. network_ids: $ref: '#/definitions/v3NetworkIdentifiers' description: Network identifiers, set by the Network Server that handles the message. attributes: type: object additionalProperties: type: string description: Attributes for devices, set by the Application Server while handling the message. v3Applications: type: object properties: applications: type: array items: type: object $ref: '#/definitions/v3Application' v3AsConfiguration: type: object properties: pubsub: $ref: '#/definitions/AsConfigurationPubSub' webhooks: $ref: '#/definitions/AsConfigurationWebhooks' description: Application Server configuration. v3AsEndDeviceRegistrySetBody: type: object properties: end_device: type: object properties: ids: type: object properties: device_id: type: string application_ids: type: object dev_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN DevEUI. join_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). dev_addr: type: string format: string example: 2600ABCD description: The LoRaWAN DevAddr. created_at: type: string format: date-time updated_at: type: string format: date-time name: type: string description: Friendly name of the device. Stored in Entity Registry. description: type: string description: Description of the device. Stored in Entity Registry. attributes: type: object 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. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: Version Identifiers. Stored in Entity Registry, Network Server and Application Server. service_profile_id: type: string description: Default service profile. Stored in Entity Registry. network_server_address: type: string description: 'The address of the Network Server where this device is supposed to be registered. Stored in Entity Registry and Join Server. The typical format of the address is "host:port". If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.' network_server_kek_label: type: string description: 'The KEK label of the Network Server to use for wrapping network session keys. Stored in Join Server.' application_server_address: type: string description: 'The address of the Application Server where this device is supposed to be registered. Stored in Entity Registry and Join Server. The typical format of the address is "host:port". If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.' application_server_kek_label: type: string description: 'The KEK label of the Application Server to use for wrapping the application session key. Stored in Join Server.' application_server_id: type: string description: 'The AS-ID of the Application Server to use. Stored in Join Server.' join_server_address: type: string description: 'The address of the Join Server where this device is supposed to be registered. Stored in Entity Registry. The typical format of the address is "host:port". If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.' locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: Location of the device. Stored in Entity Registry. picture: $ref: '#/definitions/v3Picture' description: Stored in Entity Registry. supports_class_b: type: boolean description: 'Whether the device supports class B. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' supports_class_c: type: boolean description: 'Whether the device supports class C. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' lorawan_version: $ref: '#/definitions/v3MACVersion' description: 'LoRaWAN MAC version. Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' lorawan_phy_version: $ref: '#/definitions/v3PHYVersion' description: 'LoRaWAN PHY version. Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' frequency_plan_id: type: string description: 'ID of the frequency plan used by this device. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' min_frequency: type: string format: uint64 description: 'Minimum frequency the device is capable of using (Hz). Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' max_frequency: type: string format: uint64 description: 'Maximum frequency the device is capable of using (Hz). Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' supports_join: type: boolean description: 'The device supports join (it''s OTAA). Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' resets_join_nonces: type: boolean description: 'Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' root_keys: $ref: '#/definitions/v3RootKeys' description: Device root keys. Stored in Join Server. net_id: type: string format: string example: '000013' description: Home NetID. Stored in Join Server. mac_settings: $ref: '#/definitions/v3MACSettings' description: 'Settings for how the Network Server handles MAC layer for this device. Stored in Network Server. Mutually exclusive with MAC settings profile.' mac_state: $ref: '#/definitions/v3MACState' description: MAC state of the device. Stored in Network Server. pending_mac_state: $ref: '#/definitions/v3MACState' description: Pending MAC state of the device. Stored in Network Server. session: $ref: '#/definitions/v3Session' description: Current session of the device. Stored in Network Server and Application Server. pending_session: $ref: '#/definitions/v3Session' description: Pending session. Stored in Network Server and Application Server until RekeyInd is received. last_dev_nonce: type: integer format: int64 description: 'Last DevNonce used. This field is only used for devices using LoRaWAN version 1.1 and later. Stored in Join Server.' used_dev_nonces: type: array items: type: integer format: int64 description: 'Used DevNonces sorted in ascending order. This field is only used for devices using LoRaWAN versions preceding 1.1. Stored in Join Server.' last_join_nonce: type: integer format: int64 description: 'Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used. Stored in Join Server.' last_rj_count_0: type: integer format: int64 description: 'Last Rejoin counter value used (type 0/2). Stored in Join Server.' last_rj_count_1: type: integer format: int64 description: 'Last Rejoin counter value used (type 1). Stored in Join Server.' last_dev_status_received_at: type: string format: date-time description: 'Time when last DevStatus MAC command was received. Stored in Network Server.' power_state: $ref: '#/definitions/v3PowerState' description: 'The power state of the device; whether it is battery-powered or connected to an external power source. Received via the DevStatus MAC command at status_received_at. Stored in Network Server.' battery_percentage: type: number format: float description: 'Latest-known battery percentage of the device. Received via the DevStatus MAC command at last_dev_status_received_at or earlier. Stored in Network Server.' downlink_margin: type: integer format: int32 description: 'Demodulation signal-to-noise ratio (dB). Received via the DevStatus MAC command at last_dev_status_received_at. Stored in Network Server.' queued_application_downlinks: type: array items: type: object $ref: '#/definitions/v3ApplicationDownlink' description: 'Queued Application downlink messages. Stored in Application Server, which sets them on the Network Server. This field is deprecated and is always set equal to session.queued_application_downlinks.' formatters: $ref: '#/definitions/v3MessagePayloadFormatters' description: 'The payload formatters for this end device. Stored in Application Server. Copied on creation from template identified by version_ids.' provisioner_id: type: string description: ID of the provisioner. Stored in Join Server. provisioning_data: type: object description: Vendor-specific provisioning data. Stored in Join Server. multicast: type: boolean description: Indicates whether this device represents a multicast group. claim_authentication_code: $ref: '#/definitions/v3EndDeviceAuthenticationCode' description: 'Authentication code to claim ownership of the end device. From TTS v3.21.0 this field is stored in the Identity Server. For TTS versions < 3.21.0, this field is stored in the Join Server. The value stored on the Identity Server takes precedence.' skip_payload_crypto: type: boolean description: 'Skip decryption of uplink payloads and encryption of downlink payloads. This field is deprecated, use skip_payload_crypto_override instead.' skip_payload_crypto_override: type: boolean description: 'Skip decryption of uplink payloads and encryption of downlink payloads. This field overrides the application-level setting.' activated_at: type: string format: date-time description: 'Timestamp when the device has been activated. Stored in the Entity Registry. This field is set by the Application Server when an end device sends its first uplink. The Application Server will use the field in order to avoid repeated calls to the Entity Registry. The field cannot be unset once set.' last_seen_at: type: string format: date-time description: 'Timestamp when a device uplink has been last observed. This field is set by the Application Server and stored in the Identity Server.' serial_number: type: string lora_alliance_profile_ids: $ref: '#/definitions/v3LoRaAllianceProfileIdentifiers' mac_settings_profile_ids: $ref: '#/definitions/v3MACSettingsProfileIdentifiers' description: 'MAC settings profile identifiers. Mutually exclusive with MAC settings.' description: '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: type: string description: 'The names of the end device fields that should be updated. See the API reference for which fields can be set on the different services.' v3CFList: type: object properties: type: $ref: '#/definitions/v3CFListType' freq: type: array items: type: integer format: int64 description: 'Frequencies to be broadcasted, in hecto-Hz. These values are broadcasted as 24 bits unsigned integers. This field should not contain default values.' ch_masks: type: array items: type: boolean description: 'ChMasks controlling the channels to be used. Length of this field must be equal to the amount of uplink channels defined by the selected frequency plan.' v3CFListType: type: string enum: - FREQUENCIES - CHANNEL_MASKS default: FREQUENCIES v3Class: type: string enum: - CLASS_A - CLASS_B - CLASS_C default: CLASS_A v3ClassBCGatewayIdentifiers: type: object properties: gateway_ids: $ref: '#/definitions/lorawanv3GatewayIdentifiers' antenna_index: type: integer format: int64 group_index: type: integer format: int64 v3Collaborator: type: object properties: ids: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' rights: type: array items: $ref: '#/definitions/v3Right' v3Collaborators: type: object properties: collaborators: type: array items: type: object $ref: '#/definitions/v3Collaborator' v3ContactInfo: type: object properties: contact_type: $ref: '#/definitions/v3ContactType' contact_method: $ref: '#/definitions/v3ContactMethod' value: type: string public: type: boolean validated_at: type: string format: date-time v3ContactMethod: type: string enum: - CONTACT_METHOD_OTHER - CONTACT_METHOD_EMAIL - CONTACT_METHOD_PHONE default: CONTACT_METHOD_OTHER v3ContactType: type: string enum: - CONTACT_TYPE_OTHER - CONTACT_TYPE_ABUSE - CONTACT_TYPE_BILLING - CONTACT_TYPE_TECHNICAL default: CONTACT_TYPE_OTHER v3DLSettings: type: object properties: rx1_dr_offset: $ref: '#/definitions/v3DataRateOffset' rx2_dr: $ref: '#/definitions/v3DataRateIndex' opt_neg: type: boolean description: OptNeg is set if Network Server implements LoRaWAN 1.1 or greater. v3DataRate: type: object properties: lora: $ref: '#/definitions/v3LoRaDataRate' fsk: $ref: '#/definitions/v3FSKDataRate' lrfhss: $ref: '#/definitions/v3LRFHSSDataRate' 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 v3DataRateIndexValue: type: object properties: value: $ref: '#/definitions/v3DataRateIndex' v3DataRateOffset: type: string enum: - DATA_RATE_OFFSET_0 - DATA_RATE_OFFSET_1 - 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 v3DataRateOffsetValue: type: object properties: value: $ref: '#/definitions/v3DataRateOffset' v3DecodeDownlinkResponse: type: object properties: downlink: $ref: '#/definitions/v3ApplicationDownlink' v3DecodeUplinkResponse: type: object properties: uplink: $ref: '#/definitions/v3ApplicationUplink' v3DeviceEIRP: type: string 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 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." v3DeviceEIRPValue: type: object properties: value: $ref: '#/definitions/v3DeviceEIRP' v3DownlinkPathConstraint: type: string enum: - DOWNLINK_PATH_CONSTRAINT_NONE - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER - DOWNLINK_PATH_CONSTRAINT_NEVER 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." v3EncodeDownlinkResponse: type: object properties: downlink: $ref: '#/definitions/v3ApplicationDownlink' v3EndDevice: type: object properties: ids: $ref: '#/definitions/v3EndDeviceIdentifiers' created_at: type: string format: date-time updated_at: type: string format: date-time name: type: string description: Friendly name of the device. Stored in Entity Registry. description: type: string description: Description of the device. Stored in Entity Registry. attributes: type: object 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. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: Version Identifiers. Stored in Entity Registry, Network Server and Application Server. service_profile_id: type: string description: Default service profile. Stored in Entity Registry. network_server_address: type: string description: 'The address of the Network Server where this device is supposed to be registered. Stored in Entity Registry and Join Server. The typical format of the address is "host:port". If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.' network_server_kek_label: type: string description: 'The KEK label of the Network Server to use for wrapping network session keys. Stored in Join Server.' application_server_address: type: string description: 'The address of the Application Server where this device is supposed to be registered. Stored in Entity Registry and Join Server. The typical format of the address is "host:port". If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.' application_server_kek_label: type: string description: 'The KEK label of the Application Server to use for wrapping the application session key. Stored in Join Server.' application_server_id: type: string description: 'The AS-ID of the Application Server to use. Stored in Join Server.' join_server_address: type: string description: 'The address of the Join Server where this device is supposed to be registered. Stored in Entity Registry. The typical format of the address is "host:port". If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.' locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: Location of the device. Stored in Entity Registry. picture: $ref: '#/definitions/v3Picture' description: Stored in Entity Registry. supports_class_b: type: boolean description: 'Whether the device supports class B. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' supports_class_c: type: boolean description: 'Whether the device supports class C. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' lorawan_version: $ref: '#/definitions/v3MACVersion' description: 'LoRaWAN MAC version. Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' lorawan_phy_version: $ref: '#/definitions/v3PHYVersion' description: 'LoRaWAN PHY version. Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' frequency_plan_id: type: string description: 'ID of the frequency plan used by this device. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' min_frequency: type: string format: uint64 description: 'Minimum frequency the device is capable of using (Hz). Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' max_frequency: type: string format: uint64 description: 'Maximum frequency the device is capable of using (Hz). Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' supports_join: type: boolean description: 'The device supports join (it''s OTAA). Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' resets_join_nonces: type: boolean description: 'Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' root_keys: $ref: '#/definitions/v3RootKeys' description: Device root keys. Stored in Join Server. net_id: type: string format: string example: '000013' description: Home NetID. Stored in Join Server. mac_settings: $ref: '#/definitions/v3MACSettings' description: 'Settings for how the Network Server handles MAC layer for this device. Stored in Network Server. Mutually exclusive with MAC settings profile.' mac_state: $ref: '#/definitions/v3MACState' description: MAC state of the device. Stored in Network Server. pending_mac_state: $ref: '#/definitions/v3MACState' description: Pending MAC state of the device. Stored in Network Server. session: $ref: '#/definitions/v3Session' description: Current session of the device. Stored in Network Server and Application Server. pending_session: $ref: '#/definitions/v3Session' description: Pending session. Stored in Network Server and Application Server until RekeyInd is received. last_dev_nonce: type: integer format: int64 description: 'Last DevNonce used. This field is only used for devices using LoRaWAN version 1.1 and later. Stored in Join Server.' used_dev_nonces: type: array items: type: integer format: int64 description: 'Used DevNonces sorted in ascending order. This field is only used for devices using LoRaWAN versions preceding 1.1. Stored in Join Server.' last_join_nonce: type: integer format: int64 description: 'Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used. Stored in Join Server.' last_rj_count_0: type: integer format: int64 description: 'Last Rejoin counter value used (type 0/2). Stored in Join Server.' last_rj_count_1: type: integer format: int64 description: 'Last Rejoin counter value used (type 1). Stored in Join Server.' last_dev_status_received_at: type: string format: date-time description: 'Time when last DevStatus MAC command was received. Stored in Network Server.' power_state: $ref: '#/definitions/v3PowerState' description: 'The power state of the device; whether it is battery-powered or connected to an external power source. Received via the DevStatus MAC command at status_received_at. Stored in Network Server.' battery_percentage: type: number format: float description: 'Latest-known battery percentage of the device. Received via the DevStatus MAC command at last_dev_status_received_at or earlier. Stored in Network Server.' downlink_margin: type: integer format: int32 description: 'Demodulation signal-to-noise ratio (dB). Received via the DevStatus MAC command at last_dev_status_received_at. Stored in Network Server.' queued_application_downlinks: type: array items: type: object $ref: '#/definitions/v3ApplicationDownlink' description: 'Queued Application downlink messages. Stored in Application Server, which sets them on the Network Server. This field is deprecated and is always set equal to session.queued_application_downlinks.' formatters: $ref: '#/definitions/v3MessagePayloadFormatters' description: 'The payload formatters for this end device. Stored in Application Server. Copied on creation from template identified by version_ids.' provisioner_id: type: string description: ID of the provisioner. Stored in Join Server. provisioning_data: type: object description: Vendor-specific provisioning data. Stored in Join Server. multicast: type: boolean description: Indicates whether this device represents a multicast group. claim_authentication_code: $ref: '#/definitions/v3EndDeviceAuthenticationCode' description: 'Authentication code to claim ownership of the end device. From TTS v3.21.0 this field is stored in the Identity Server. For TTS versions < 3.21.0, this field is stored in the Join Server. The value stored on the Identity Server takes precedence.' skip_payload_crypto: type: boolean description: 'Skip decryption of uplink payloads and encryption of downlink payloads. This field is deprecated, use skip_payload_crypto_override instead.' skip_payload_crypto_override: type: boolean description: 'Skip decryption of uplink payloads and encryption of downlink payloads. This field overrides the application-level setting.' activated_at: type: string format: date-time description: 'Timestamp when the device has been activated. Stored in the Entity Registry. This field is set by the Application Server when an end device sends its first uplink. The Application Server will use the field in order to avoid repeated calls to the Entity Registry. The field cannot be unset once set.' last_seen_at: type: string format: date-time description: 'Timestamp when a device uplink has been last observed. This field is set by the Application Server and stored in the Identity Server.' serial_number: type: string lora_alliance_profile_ids: $ref: '#/definitions/v3LoRaAllianceProfileIdentifiers' mac_settings_profile_ids: $ref: '#/definitions/v3MACSettingsProfileIdentifiers' description: 'MAC settings profile identifiers. Mutually exclusive with MAC settings.' description: '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.' v3EndDeviceAuthenticationCode: type: object properties: value: type: string valid_from: type: string format: date-time valid_to: type: string format: date-time description: Authentication code for end devices. v3EndDeviceIdentifiers: type: object properties: device_id: type: string application_ids: $ref: '#/definitions/v3ApplicationIdentifiers' dev_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN DevEUI. join_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). dev_addr: type: string format: string example: 2600ABCD description: The LoRaWAN DevAddr. v3EndDeviceVersionIdentifiers: type: object properties: brand_id: type: string model_id: type: string hardware_version: type: string firmware_version: type: string band_id: type: string description: Identifies an end device model with version information. v3ErrorDetails: type: object properties: namespace: type: string description: Namespace of the error (typically the package name in The Things Stack). name: type: string description: Name of the error. message_format: type: string description: 'The default (fallback) message format that should be used for the error. This is also used if the client does not have a translation for the error.' attributes: type: object description: 'Attributes that should be filled into the message format. Any extra attributes can be displayed as error details.' correlation_id: type: string description: 'The correlation ID of the error can be used to correlate the error to stack traces the network may (or may not) store about recent errors.' cause: $ref: '#/definitions/v3ErrorDetails' description: The error that caused this error. code: type: integer format: int64 description: The status code of the error. details: type: array items: type: object $ref: '#/definitions/protobufAny' description: The details of the error. description: 'Error details that are communicated over gRPC (and HTTP) APIs. The messages (for translation) are stored as "error::".' v3FCtrl: type: object properties: adr: type: boolean adr_ack_req: type: boolean description: Only on uplink. ack: type: boolean f_pending: type: boolean description: Only on downlink. class_b: type: boolean description: Only on uplink. v3FHDR: type: object properties: dev_addr: type: string format: string example: 2600ABCD f_ctrl: $ref: '#/definitions/v3FCtrl' f_cnt: type: integer format: int64 f_opts: type: string format: byte v3FSKDataRate: type: object properties: bit_rate: type: integer format: int64 description: Bit rate (bps). v3FrequencyValue: type: object properties: value: type: string format: uint64 v3GetAsConfigurationResponse: type: object properties: configuration: $ref: '#/definitions/v3AsConfiguration' v3GetCollaboratorResponse: type: object properties: ids: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' rights: type: array items: $ref: '#/definitions/v3Right' v3GetStoredApplicationUpCountResponse: type: object properties: count: type: object additionalProperties: type: integer format: int64 description: Number of stored messages by end device ID. v3IssueDevEUIResponse: type: object properties: dev_eui: type: string format: string example: 70B3D57ED000ABCD v3JoinAcceptPayload: type: object properties: encrypted: type: string format: byte join_nonce: type: string format: string example: ABCDEF net_id: type: string format: string example: '000013' dev_addr: type: string format: string example: 2600ABCD dl_settings: $ref: '#/definitions/v3DLSettings' rx_delay: $ref: '#/definitions/v3RxDelay' cf_list: $ref: '#/definitions/v3CFList' v3JoinRequestPayload: type: object properties: join_eui: type: string format: string example: 70B3D57ED000ABCD dev_eui: type: string format: string example: 70B3D57ED000ABCD dev_nonce: type: string format: string example: ABCD v3KeyEnvelope: type: object properties: key: type: string format: string example: 0123456789ABCDEF0123456789ABCDEF description: The unencrypted AES key. kek_label: type: string description: The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key. encrypted_key: type: string format: byte v3LRFHSSDataRate: type: object properties: modulation_type: type: integer format: int64 operating_channel_width: type: integer format: int64 description: Operating Channel Width (Hz). coding_rate: type: string v3LastBatteryPercentage: type: object properties: f_cnt: type: integer format: int64 description: Frame counter value of last uplink containing DevStatusAns. value: type: number format: float description: 'The battery percentage of the end device. The value is defined in the [0, 100] interval.' received_at: type: string format: date-time description: Time when last DevStatus MAC command was received. v3LoRaAllianceProfileIdentifiers: type: object properties: vendor_id: type: integer format: int64 description: VendorID managed by the LoRa Alliance, as defined in TR005. vendor_profile_id: type: integer format: int64 description: ID of the LoRaWAN end device profile assigned by the vendor. v3LoRaDataRate: type: object properties: bandwidth: type: integer format: int64 description: Bandwidth (Hz). spreading_factor: type: integer format: int64 coding_rate: type: string 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." v3MACCommand: type: object properties: cid: $ref: '#/definitions/v3MACCommandIdentifier' raw_payload: type: string format: byte reset_ind: $ref: '#/definitions/MACCommandResetInd' reset_conf: $ref: '#/definitions/MACCommandResetConf' link_check_ans: $ref: '#/definitions/MACCommandLinkCheckAns' link_adr_req: $ref: '#/definitions/MACCommandLinkADRReq' link_adr_ans: $ref: '#/definitions/MACCommandLinkADRAns' duty_cycle_req: $ref: '#/definitions/MACCommandDutyCycleReq' rx_param_setup_req: $ref: '#/definitions/MACCommandRxParamSetupReq' rx_param_setup_ans: $ref: '#/definitions/MACCommandRxParamSetupAns' dev_status_ans: $ref: '#/definitions/MACCommandDevStatusAns' new_channel_req: $ref: '#/definitions/MACCommandNewChannelReq' new_channel_ans: $ref: '#/definitions/MACCommandNewChannelAns' dl_channel_req: $ref: '#/definitions/MACCommandDLChannelReq' dl_channel_ans: $ref: '#/definitions/MACCommandDLChannelAns' rx_timing_setup_req: $ref: '#/definitions/MACCommandRxTimingSetupReq' tx_param_setup_req: $ref: '#/definitions/MACCommandTxParamSetupReq' rekey_ind: $ref: '#/definitions/MACCommandRekeyInd' rekey_conf: $ref: '#/definitions/MACCommandRekeyConf' adr_param_setup_req: $ref: '#/definitions/MACCommandADRParamSetupReq' device_time_ans: $ref: '#/definitions/MACCommandDeviceTimeAns' force_rejoin_req: $ref: '#/definitions/MACCommandForceRejoinReq' rejoin_param_setup_req: $ref: '#/definitions/MACCommandRejoinParamSetupReq' rejoin_param_setup_ans: $ref: '#/definitions/MACCommandRejoinParamSetupAns' ping_slot_info_req: $ref: '#/definitions/MACCommandPingSlotInfoReq' ping_slot_channel_req: $ref: '#/definitions/MACCommandPingSlotChannelReq' ping_slot_channel_ans: $ref: '#/definitions/MACCommandPingSlotChannelAns' beacon_timing_ans: $ref: '#/definitions/MACCommandBeaconTimingAns' beacon_freq_req: $ref: '#/definitions/MACCommandBeaconFreqReq' beacon_freq_ans: $ref: '#/definitions/MACCommandBeaconFreqAns' device_mode_ind: $ref: '#/definitions/MACCommandDeviceModeInd' device_mode_conf: $ref: '#/definitions/MACCommandDeviceModeConf' relay_conf_req: $ref: '#/definitions/MACCommandRelayConfReq' relay_conf_ans: $ref: '#/definitions/MACCommandRelayConfAns' relay_end_device_conf_req: $ref: '#/definitions/MACCommandRelayEndDeviceConfReq' relay_end_device_conf_ans: $ref: '#/definitions/MACCommandRelayEndDeviceConfAns' relay_update_uplink_list_req: $ref: '#/definitions/MACCommandRelayUpdateUplinkListReq' relay_update_uplink_list_ans: $ref: '#/definitions/MACCommandRelayUpdateUplinkListAns' relay_ctrl_uplink_list_req: $ref: '#/definitions/MACCommandRelayCtrlUplinkListReq' relay_ctrl_uplink_list_ans: $ref: '#/definitions/MACCommandRelayCtrlUplinkListAns' relay_configure_fwd_limit_req: $ref: '#/definitions/MACCommandRelayConfigureFwdLimitReq' relay_configure_fwd_limit_ans: $ref: '#/definitions/MACCommandRelayConfigureFwdLimitAns' relay_notify_new_end_device_req: $ref: '#/definitions/MACCommandRelayNotifyNewEndDeviceReq' v3MACCommandIdentifier: type: string 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 default: CID_RFU_0 title: '- CID_BEACON_TIMING: Deprecated' v3MACParameters: type: object properties: max_eirp: type: number format: float description: Maximum EIRP (dBm). adr_data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: 'ADR: data rate index to use.' adr_tx_power_index: type: integer format: int64 description: 'ADR: transmission power index to use.' adr_nb_trans: type: integer format: int64 description: 'ADR: number of retransmissions.' adr_ack_limit: type: integer format: int64 description: 'ADR: number of messages to wait before setting ADRAckReq. This field is deprecated, use adr_ack_limit_exponent instead.' adr_ack_delay: type: integer format: int64 description: 'ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate. This field is deprecated, use adr_ack_delay_exponent instead.' rx1_delay: $ref: '#/definitions/v3RxDelay' description: Rx1 delay (Rx2 delay is Rx1 delay + 1 second). rx1_data_rate_offset: $ref: '#/definitions/v3DataRateOffset' description: Data rate offset for Rx1. rx2_data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: Data rate index for Rx2. rx2_frequency: type: string format: uint64 description: Frequency for Rx2 (Hz). max_duty_cycle: $ref: '#/definitions/v3AggregatedDutyCycle' description: Maximum uplink duty cycle (of all channels). rejoin_time_periodicity: $ref: '#/definitions/v3RejoinTimeExponent' description: Time within which a rejoin-request must be sent. rejoin_count_periodicity: $ref: '#/definitions/v3RejoinCountExponent' description: Message count within which a rejoin-request must be sent. ping_slot_frequency: type: string format: uint64 description: Frequency of the class B ping slot (Hz). ping_slot_data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: 'Data rate index of the class B ping slot. This field is deprecated, use ping_slot_data_rate_index_value instead.' beacon_frequency: type: string format: uint64 description: Frequency of the class B beacon (Hz). channels: type: array items: type: object $ref: '#/definitions/v3MACParametersChannel' description: Configured uplink channels and optionally Rx1 frequency. uplink_dwell_time: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether uplink dwell time is set (400ms). If unset, then the value is either unknown or irrelevant(Network Server cannot modify it).' downlink_dwell_time: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether downlink dwell time is set (400ms). If unset, then the value is either unknown or irrelevant(Network Server cannot modify it).' adr_ack_limit_exponent: $ref: '#/definitions/v3ADRAckLimitExponentValue' description: 'ADR: number of messages to wait before setting ADRAckReq.' adr_ack_delay_exponent: $ref: '#/definitions/v3ADRAckDelayExponentValue' description: 'ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.' ping_slot_data_rate_index_value: $ref: '#/definitions/v3DataRateIndexValue' description: Data rate index of the class B ping slot. relay: $ref: '#/definitions/lorawanv3RelayParameters' description: Relay parameters. description: 'MACParameters represent the parameters of the device''s MAC layer (active or desired). This is used internally by the Network Server.' v3MACParametersChannel: type: object properties: uplink_frequency: type: string format: uint64 description: Uplink frequency of the channel (Hz). downlink_frequency: type: string format: uint64 description: Downlink frequency of the channel (Hz). min_data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: Index of the minimum data rate for uplink. max_data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: Index of the maximum data rate for uplink. enable_uplink: type: boolean description: Channel can be used by device for uplink. v3MACSettings: type: object properties: class_b_timeout: type: string description: 'Maximum delay for the device to answer a MAC request or a confirmed downlink frame. If unset, the default value from Network Server configuration will be used.' ping_slot_periodicity: $ref: '#/definitions/v3PingSlotPeriodValue' description: 'Periodicity of the class B ping slot. If unset, the default value from Network Server configuration will be used.' ping_slot_data_rate_index: $ref: '#/definitions/v3DataRateIndexValue' description: 'Data rate index of the class B ping slot. If unset, the default value from Network Server configuration will be used.' ping_slot_frequency: $ref: '#/definitions/v3ZeroableFrequencyValue' description: 'Frequency of the class B ping slot (Hz). If unset, the default value from Network Server configuration will be used.' beacon_frequency: $ref: '#/definitions/v3ZeroableFrequencyValue' description: 'Frequency of the class B beacon (Hz). If unset, the default value from Network Server configuration will be used.' class_c_timeout: type: string description: 'Maximum delay for the device to answer a MAC request or a confirmed downlink frame. If unset, the default value from Network Server configuration will be used.' rx1_delay: $ref: '#/definitions/v3RxDelayValue' description: 'Class A Rx1 delay. If unset, the default value from Network Server configuration or regional parameters specification will be used.' rx1_data_rate_offset: $ref: '#/definitions/v3DataRateOffsetValue' description: 'Rx1 data rate offset. If unset, the default value from Network Server configuration will be used.' rx2_data_rate_index: $ref: '#/definitions/v3DataRateIndexValue' description: 'Data rate index for Rx2. If unset, the default value from Network Server configuration or regional parameters specification will be used.' rx2_frequency: $ref: '#/definitions/v3FrequencyValue' description: 'Frequency for Rx2 (Hz). If unset, the default value from Network Server configuration or regional parameters specification will be used.' factory_preset_frequencies: type: array items: type: string format: uint64 description: 'List of factory-preset frequencies. If unset, the default value from Network Server configuration or regional parameters specification will be used.' max_duty_cycle: $ref: '#/definitions/v3AggregatedDutyCycleValue' description: Maximum uplink duty cycle (of all channels). supports_32_bit_f_cnt: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether the device supports 32-bit frame counters. If unset, the default value from Network Server configuration will be used.' use_adr: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether the Network Server should use ADR for the device. This field is deprecated, use adr_settings instead.' adr_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. This field is deprecated, use adr_settings.dynamic.margin instead.' resets_f_cnt: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether the device resets the frame counters (not LoRaWAN compliant). If unset, the default value from Network Server configuration will be used.' status_time_periodicity: type: string description: 'The interval after which a DevStatusReq MACCommand shall be sent. If unset, the default value from Network Server configuration will be used.' status_count_periodicity: type: integer format: int64 description: 'Number of uplink messages after which a DevStatusReq MACCommand shall be sent. If unset, the default value from Network Server configuration will be used.' desired_rx1_delay: $ref: '#/definitions/v3RxDelayValue' description: 'The Rx1 delay Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from Network Server configuration or regional parameters specification will be used.' desired_rx1_data_rate_offset: $ref: '#/definitions/v3DataRateOffsetValue' description: 'The Rx1 data rate offset Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from Network Server configuration will be used.' desired_rx2_data_rate_index: $ref: '#/definitions/v3DataRateIndexValue' description: 'The Rx2 data rate index Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from frequency plan, Network Server configuration or regional parameters specification will be used.' desired_rx2_frequency: $ref: '#/definitions/v3FrequencyValue' description: 'The Rx2 frequency index Network Server should configure device to use via MAC commands. If unset, the default value from frequency plan, Network Server configuration or regional parameters specification will be used.' desired_max_duty_cycle: $ref: '#/definitions/v3AggregatedDutyCycleValue' description: 'The maximum uplink duty cycle (of all channels) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used.' desired_adr_ack_limit_exponent: $ref: '#/definitions/v3ADRAckLimitExponentValue' description: 'The ADR ACK limit Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.' desired_adr_ack_delay_exponent: $ref: '#/definitions/v3ADRAckDelayExponentValue' description: 'The ADR ACK delay Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.' desired_ping_slot_data_rate_index: $ref: '#/definitions/v3DataRateIndexValue' description: 'The data rate index of the class B ping slot Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used.' desired_ping_slot_frequency: $ref: '#/definitions/v3ZeroableFrequencyValue' description: 'The frequency of the class B ping slot (Hz) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.' desired_beacon_frequency: $ref: '#/definitions/v3ZeroableFrequencyValue' description: 'The frequency of the class B beacon (Hz) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used.' desired_max_eirp: $ref: '#/definitions/v3DeviceEIRPValue' description: 'Maximum EIRP (dBm). If unset, the default value from regional parameters specification will be used.' class_b_c_downlink_interval: type: string description: The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink. uplink_dwell_time: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether uplink dwell time is set (400ms). If unset, the default value from Network Server configuration or regional parameters specification will be used.' downlink_dwell_time: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether downlink dwell time is set (400ms). If unset, the default value from Network Server configuration or regional parameters specification will be used.' adr: $ref: '#/definitions/v3ADRSettings' description: 'Adaptive Data Rate settings. If unset, the default value from Network Server configuration or regional parameters specification will be used.' schedule_downlinks: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether or not downlink messages should be scheduled. This option can be used in order to disable any downlink interaction with the end device. It will affect all types of downlink messages: data and MAC downlinks, and join accepts.' relay: $ref: '#/definitions/v3RelaySettings' description: 'The relay settings the end device is using. If unset, the default value from Network Server configuration or regional parameters specification will be used.' desired_relay: $ref: '#/definitions/v3RelaySettings' description: 'The relay settings the Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.' v3MACSettingsProfileIdentifiers: type: object properties: application_ids: $ref: '#/definitions/v3ApplicationIdentifiers' description: Application IDs. profile_id: type: string description: Profile ID. v3MACState: type: object properties: current_parameters: $ref: '#/definitions/v3MACParameters' description: Current LoRaWAN MAC parameters. desired_parameters: $ref: '#/definitions/v3MACParameters' description: Desired LoRaWAN MAC parameters. device_class: $ref: '#/definitions/v3Class' title: 'Currently active LoRaWAN device class - Device class is A by default - If device sets ClassB bit in uplink, this will be set to B - If device sent DeviceModeInd MAC message, this will be set to that value' lorawan_version: $ref: '#/definitions/v3MACVersion' description: LoRaWAN MAC version. last_confirmed_downlink_at: type: string format: date-time description: Time when the last confirmed downlink message or MAC command was scheduled. last_dev_status_f_cnt_up: type: integer format: int64 description: Frame counter value of last uplink containing DevStatusAns. ping_slot_periodicity: $ref: '#/definitions/v3PingSlotPeriodValue' description: Periodicity of the class B ping slot. pending_application_downlink: $ref: '#/definitions/v3ApplicationDownlink' description: A confirmed application downlink, for which an acknowledgment is expected to arrive. queued_responses: type: array items: type: object $ref: '#/definitions/v3MACCommand' description: 'Queued MAC responses. Regenerated on each uplink.' pending_requests: type: array items: type: object $ref: '#/definitions/v3MACCommand' description: 'Pending MAC requests(i.e. sent requests, for which no response has been received yet). Regenerated on each downlink.' queued_join_accept: $ref: '#/definitions/MACStateJoinAccept' description: 'Queued join-accept. Set each time a (re-)join request accept is received from Join Server and removed each time a downlink is scheduled.' pending_join_request: $ref: '#/definitions/v3MACStateJoinRequest' description: 'Pending join request. Set each time a join-accept is scheduled and removed each time an uplink is received from the device.' rx_windows_available: type: boolean description: 'Whether or not Rx windows are expected to be open. Set to true every time an uplink is received. Set to false every time a successful downlink scheduling attempt is made.' recent_uplinks: type: array items: type: object $ref: '#/definitions/v3MACStateUplinkMessage' description: 'Recent data uplink messages sorted by time. The number of messages stored may depend on configuration.' recent_downlinks: type: array items: type: object $ref: '#/definitions/v3MACStateDownlinkMessage' description: 'Recent data downlink messages sorted by time. The number of messages stored may depend on configuration.' last_network_initiated_downlink_at: type: string format: date-time description: Time when the last network-initiated downlink message was scheduled. rejected_adr_data_rate_indexes: type: array items: $ref: '#/definitions/v3DataRateIndex' description: '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: type: array items: type: integer format: int64 description: 'ADR TX output power index values rejected by the device. Elements are sorted in ascending order.' rejected_frequencies: type: array items: type: string format: uint64 description: Frequencies rejected by the device. last_downlink_at: type: string format: date-time description: Time when the last downlink message was scheduled. rejected_data_rate_ranges: type: object additionalProperties: $ref: '#/definitions/MACStateDataRateRanges' description: Data rate ranges rejected by the device per frequency. last_adr_change_f_cnt_up: type: integer format: int64 description: Frame counter of uplink, which confirmed the last ADR parameter change. recent_mac_command_identifiers: type: array items: $ref: '#/definitions/v3MACCommandIdentifier' description: 'MAC command identifiers sent by the end device in the last received uplink. The Network Server may choose to store only certain types of MAC command identifiers in the underlying implementation.' pending_relay_downlink: $ref: '#/definitions/v3RelayForwardDownlinkReq' description: 'Pending relay downlink contents. The pending downlink will be scheduled to the relay in either Rx1 or Rx2. The pending downlink will be cleared after the scheduling attempt.' description: '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.' v3MACStateDownlinkMessage: type: object properties: payload: $ref: '#/definitions/MACStateDownlinkMessageMessage' correlation_ids: type: array items: type: string description: 'A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message. Used for type safe recent downlink storage.' v3MACStateJoinRequest: type: object properties: downlink_settings: $ref: '#/definitions/v3DLSettings' rx_delay: $ref: '#/definitions/v3RxDelay' cf_list: $ref: '#/definitions/v3CFList' v3MACStateUplinkMessage: type: object properties: payload: $ref: '#/definitions/lorawanv3Message' settings: $ref: '#/definitions/MACStateUplinkMessageTxSettings' rx_metadata: type: array items: type: object $ref: '#/definitions/MACStateUplinkMessageRxMetadata' received_at: type: string format: date-time correlation_ids: type: array items: type: string device_channel_index: type: integer format: int64 description: 'A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message. Used for type safe recent uplink storage.' v3MACVersion: type: string 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 default: MAC_UNKNOWN v3MQTTConnectionInfo: type: object properties: public_address: type: string description: The public listen address of the frontend. public_tls_address: type: string description: The public listen address of the TLS frontend. username: type: string description: The username to be used for authentication. description: The connection information of an MQTT frontend. v3MType: type: string enum: - JOIN_REQUEST - JOIN_ACCEPT - UNCONFIRMED_UP - UNCONFIRMED_DOWN - CONFIRMED_UP - CONFIRMED_DOWN - REJOIN_REQUEST - PROPRIETARY default: JOIN_REQUEST v3Major: type: string enum: - LORAWAN_R1 default: LORAWAN_R1 v3MessagePayloadFormatters: type: object properties: up_formatter: $ref: '#/definitions/v3PayloadFormatter' description: Payload formatter for uplink messages, must be set together with its parameter. up_formatter_parameter: type: string description: Parameter for the up_formatter, must be set together. The API enforces a maximum length of 64KB, but the size may be restricted further by deployment configuration. down_formatter: $ref: '#/definitions/v3PayloadFormatter' description: Payload formatter for downlink messages, must be set together with its parameter. down_formatter_parameter: type: string description: Parameter for the down_formatter, must be set together. The API enforces a maximum length of 64KB, but the size may be restricted further by deployment configuration. v3Minor: type: string enum: - MINOR_RFU_0 - MINOR_1 - MINOR_RFU_2 - MINOR_RFU_3 - MINOR_RFU_4 - MINOR_RFU_5 - MINOR_RFU_6 - MINOR_RFU_7 - 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 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. v3OrganizationIdentifiers: type: object properties: organization_id: type: string description: This ID shares namespace with user IDs. v3OrganizationOrUserIdentifiers: type: object properties: organization_ids: $ref: '#/definitions/v3OrganizationIdentifiers' user_ids: $ref: '#/definitions/v3UserIdentifiers' description: OrganizationOrUserIdentifiers contains either organization or user identifiers. v3PHYVersion: type: string 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 default: PHY_UNKNOWN v3PacketBrokerRouteHop: type: object properties: received_at: type: string format: date-time description: Time when the service received the message. sender_name: type: string description: Sender of the message, typically the authorized client identifier. sender_address: type: string description: Sender IP address or host name. receiver_name: type: string description: Receiver of the message. receiver_agent: type: string description: Receiver agent. v3PayloadFormatter: type: string enum: - FORMATTER_NONE - FORMATTER_REPOSITORY - FORMATTER_GRPC_SERVICE - FORMATTER_JAVASCRIPT - FORMATTER_CAYENNELPP 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." v3Picture: type: object properties: embedded: $ref: '#/definitions/PictureEmbedded' description: 'Embedded picture. Omitted if there are external URLs available (in sizes).' sizes: type: object additionalProperties: type: string description: URLs of the picture for different sizes, if available on a CDN. v3PingSlotPeriod: type: string 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 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." v3PingSlotPeriodValue: type: object properties: value: $ref: '#/definitions/v3PingSlotPeriod' v3PowerState: type: string enum: - POWER_UNKNOWN - POWER_BATTERY - POWER_EXTERNAL default: POWER_UNKNOWN description: Power state of the device. v3RejoinCountExponent: type: string 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 default: REJOIN_COUNT_16 v3RejoinPeriodExponent: type: string 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 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." v3RejoinRequestPayload: type: object properties: rejoin_type: $ref: '#/definitions/v3RejoinRequestType' net_id: type: string format: string example: '000013' join_eui: type: string format: string example: 70B3D57ED000ABCD dev_eui: type: string format: string example: 70B3D57ED000ABCD rejoin_cnt: type: integer format: int64 description: Contains RJCount0 or RJCount1 depending on rejoin_type. v3RejoinRequestType: type: string enum: - CONTEXT - SESSION - KEYS 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." v3RejoinTimeExponent: type: string 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 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." v3RelayCADPeriodicity: type: string 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 default: RELAY_CAD_PERIODICITY_1_SECOND title: '- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic' v3RelayCtrlUplinkListAction: type: string enum: - 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 v3RelayEndDeviceAlwaysMode: type: object v3RelayEndDeviceControlledMode: type: object v3RelayEndDeviceDynamicMode: type: object properties: smart_enable_level: $ref: '#/definitions/v3RelaySmartEnableLevel' description: 'The number of consecutive uplinks without a valid downlink before the end device attempts to use the relay mode to transmit messages.' v3RelayForwardDownlinkReq: type: object properties: raw_payload: type: string format: byte v3RelayForwardLimits: type: object properties: bucket_size: $ref: '#/definitions/v3RelayLimitBucketSize' description: 'The multiplier used to compute the total bucket size for the limits. The multiplier is multiplied by the reload rate in order to compute the total bucket size.' reload_rate: type: integer format: int64 description: The number of tokens which are replenished in the bucket every hour. v3RelayLimitBucketSize: type: string enum: - 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 title: '- RELAY_LIMIT_BUCKET_SIZE_12: sic' v3RelayResetLimitCounter: type: string enum: - 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 v3RelaySecondChAckOffset: type: string enum: - RELAY_SECOND_CH_ACK_OFFSET_0 - RELAY_SECOND_CH_ACK_OFFSET_200 - 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 title: "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400:\ \ 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200:\ \ 3.2 MHz" v3RelaySecondChannel: type: object properties: ack_offset: $ref: '#/definitions/v3RelaySecondChAckOffset' description: The frequency (Hz) offset used for the WOR acknowledgement. data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: The data rate index used by the WOR and WOR acknowledgement. frequency: type: string format: uint64 description: The frequency (Hz) used by the wake on radio message. v3RelaySettings: type: object properties: serving: $ref: '#/definitions/v3ServingRelaySettings' served: $ref: '#/definitions/v3ServedRelaySettings' description: 'RelaySettings represent the settings of a relay. This is used internally by the Network Server.' v3RelaySmartEnableLevel: type: string enum: - 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 v3RelayUplinkForwardLimits: type: object properties: bucket_size: $ref: '#/definitions/v3RelayLimitBucketSize' description: 'The multiplier used to compute the total bucket size for the limits. The multiplier is multiplied by the reload rate in order to compute the total bucket size.' reload_rate: type: integer format: int64 description: The number of tokens which are replenished in the bucket every hour. v3RelayUplinkForwardingRule: type: object properties: limits: $ref: '#/definitions/v3RelayUplinkForwardLimits' description: 'Bucket configuration for the served end device. If unset, no individual limits will apply to the end device, but the relay global limitations will apply.' last_w_f_cnt: type: integer format: int64 description: Last wake on radio frame counter used by the served end device. device_id: type: string description: End device identifier of the served end device. session_key_id: type: string format: byte description: Session key ID of the session keys used to derive the root relay session key. v3Right: type: string 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_ALL 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 delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients\ \ of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE:\ \ The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways\ \ the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of\ \ the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE:\ \ The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to\ \ list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization\ \ under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL:\ \ The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application\ \ information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS:\ \ The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and\ \ edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages\ \ and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_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_ALL: The pseudo-right for\ \ all (current and future) possible rights." v3Rights: type: object properties: rights: type: array items: $ref: '#/definitions/v3Right' v3RootKeys: type: object properties: root_key_id: type: string description: Join Server issued identifier for the root keys. app_key: $ref: '#/definitions/v3KeyEnvelope' description: The (encrypted) Application Key. nwk_key: $ref: '#/definitions/v3KeyEnvelope' description: The (encrypted) Network Key. description: 'Root keys for a LoRaWAN device. These are stored on the Join Server.' v3RxDelay: type: string enum: - RX_DELAY_0 - RX_DELAY_1 - RX_DELAY_2 - RX_DELAY_3 - RX_DELAY_4 - RX_DELAY_5 - RX_DELAY_6 - RX_DELAY_7 - RX_DELAY_8 - RX_DELAY_9 - RX_DELAY_10 - RX_DELAY_11 - RX_DELAY_12 - RX_DELAY_13 - RX_DELAY_14 - RX_DELAY_15 default: RX_DELAY_0 description: " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n\ \ - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8:\ \ 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12\ \ seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds." v3RxDelayValue: type: object properties: value: $ref: '#/definitions/v3RxDelay' v3ServedRelayParameters: type: object properties: always: $ref: '#/definitions/v3RelayEndDeviceAlwaysMode' description: The end device will always attempt to use the relay mode in order to send uplink messages. dynamic: $ref: '#/definitions/v3RelayEndDeviceDynamicMode' description: 'The end device will attempt to use relay mode only after a number of uplink messages have been sent without receiving a valid a downlink message.' end_device_controlled: $ref: '#/definitions/v3RelayEndDeviceControlledMode' description: The end device will control when it uses the relay mode. This is the default mode. backoff: type: integer format: int64 description: Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly. second_channel: $ref: '#/definitions/v3RelaySecondChannel' description: Second wake on radio channel configuration. serving_device_id: type: string description: End device identifier of the serving end device. v3ServedRelaySettings: type: object properties: always: $ref: '#/definitions/v3RelayEndDeviceAlwaysMode' description: The end device will always attempt to use the relay mode in order to send uplink messages. dynamic: $ref: '#/definitions/v3RelayEndDeviceDynamicMode' description: 'The end device will attempt to use relay mode only after a number of uplink messages have been sent without receiving a valid a downlink message.' end_device_controlled: $ref: '#/definitions/v3RelayEndDeviceControlledMode' description: The end device will control when it uses the relay mode. This is the default mode. backoff: type: integer format: int64 description: 'Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly. If unset, the default value from Network Server configuration will be used.' second_channel: $ref: '#/definitions/v3RelaySecondChannel' description: Second wake on radio channel configuration. serving_device_id: type: string description: End device identifier of the serving end device. v3ServingRelayForwardingLimits: type: object properties: reset_behavior: $ref: '#/definitions/v3RelayResetLimitCounter' description: Reset behavior of the buckets upon limit update. join_requests: $ref: '#/definitions/v3RelayForwardLimits' description: 'Bucket configuration for join requests. If unset, no individual limits will apply to join requests, but the relay overall limitations will apply.' notifications: $ref: '#/definitions/v3RelayForwardLimits' description: 'Bucket configuration for unknown device notifications. If unset, no individual limits will apply to unknown end device notifications, but the relay overall limitations will still apply.' uplink_messages: $ref: '#/definitions/v3RelayForwardLimits' description: 'Bucket configuration for uplink messages across all served end devices. If unset, no individual limits will apply to uplink messages across all served end devices, but the relay overall limitations will still apply.' overall: $ref: '#/definitions/v3RelayForwardLimits' description: 'Bucket configuration for all relay messages. If unset, no overall limits will apply to the relay, but individual limitations will still apply.' v3ServingRelayParameters: type: object properties: second_channel: $ref: '#/definitions/v3RelaySecondChannel' description: Second wake on radio channel configuration. default_channel_index: type: integer format: int64 description: Index of the default wake on radio channel. cad_periodicity: $ref: '#/definitions/v3RelayCADPeriodicity' description: Channel activity detection periodicity. uplink_forwarding_rules: type: array items: type: object $ref: '#/definitions/v3RelayUplinkForwardingRule' description: Configured uplink forwarding rules. limits: $ref: '#/definitions/v3ServingRelayForwardingLimits' description: 'Configured forwarding limits. If unset, the default value from Network Server configuration will be used.' v3ServingRelaySettings: type: object properties: second_channel: $ref: '#/definitions/v3RelaySecondChannel' description: Second wake on radio channel configuration. default_channel_index: type: integer format: int64 description: 'Index of the default wake on radio channel. If unset, the default value from Network Server configuration will be used.' cad_periodicity: $ref: '#/definitions/v3RelayCADPeriodicity' description: Channel activity detection periodicity. uplink_forwarding_rules: type: array items: type: object $ref: '#/definitions/v3RelayUplinkForwardingRule' description: Configured uplink forwarding rules. limits: $ref: '#/definitions/v3ServingRelayForwardingLimits' description: 'Configured forwarding limits. If unset, the default value from Network Server configuration will be used.' v3Session: type: object properties: dev_addr: type: string format: string example: 2600ABCD description: 'Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03). Known by Network Server, Application Server and Join Server. Owned by Network Server.' keys: $ref: '#/definitions/v3SessionKeys' last_f_cnt_up: type: integer format: int64 description: Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it. last_n_f_cnt_down: type: integer format: int64 description: Last network downlink frame counter value used. Network Server only. last_a_f_cnt_down: type: integer format: int64 description: Last application downlink frame counter value used. Application Server only. last_conf_f_cnt_down: type: integer format: int64 description: Frame counter of the last confirmed downlink message sent. Network Server only. started_at: type: string format: date-time description: Time when the session started. Network Server only. queued_application_downlinks: type: array items: type: object $ref: '#/definitions/v3ApplicationDownlink' description: Queued Application downlink messages. Stored in Application Server and Network Server. v3SessionKeys: type: object properties: session_key_id: type: string format: byte description: 'Join Server issued identifier for the session keys. This ID can be used to request the keys from the Join Server in case the are lost.' f_nwk_s_int_key: $ref: '#/definitions/v3KeyEnvelope' description: 'The (encrypted) Forwarding Network Session Integrity Key (or Network Session Key in 1.0 compatibility mode). This key is stored by the (forwarding) Network Server.' s_nwk_s_int_key: $ref: '#/definitions/v3KeyEnvelope' description: 'The (encrypted) Serving Network Session Integrity Key. This key is stored by the (serving) Network Server.' nwk_s_enc_key: $ref: '#/definitions/v3KeyEnvelope' description: 'The (encrypted) Network Session Encryption Key. This key is stored by the (serving) Network Server.' app_s_key: $ref: '#/definitions/v3KeyEnvelope' description: 'The (encrypted) Application Session Key. This key is stored by the Application Server.' description: '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.' v3TxSchedulePriority: type: string enum: - LOWEST - LOW - BELOW_NORMAL - NORMAL - ABOVE_NORMAL - HIGH - HIGHEST default: LOWEST v3UserIdentifiers: type: object properties: user_id: type: string description: This ID shares namespace with organization IDs. email: type: string description: Secondary identifier, which can only be used in specific requests. v3ZeroableFrequencyValue: type: object properties: value: type: string format: uint64