openapi: 3.2.0 info: title: ThingsBoard REST Device Controller API description: ThingsBoard open-source IoT platform REST API documentation. contact: name: ThingsBoard team url: https://thingsboard.io email: info@thingsboard.io license: name: Apache License Version 2.0 url: https://github.com/thingsboard/thingsboard/blob/master/LICENSE version: 3.7.0 servers: - url: https://vista.viridiparente.com description: Generated server url tags: - name: device-controller paths: /api/tenant/{tenantId}/device/{deviceId}: post: tags: - device-controller summary: Assign device to tenant (assignDeviceToTenant) description: 'Creates assignment of the device to tenant. Thereafter tenant will be able to reassign the device to a customer. Available for users with ''TENANT_ADMIN'' authority.' operationId: assignDeviceToTenant parameters: - name: tenantId in: path description: A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string - name: deviceId in: path description: A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Device' /api/edge/{edgeId}/device/{deviceId}: post: tags: - device-controller summary: Assign device to edge (assignDeviceToEdge) description: 'Creates assignment of an existing device to an instance of The Edge. Assignment works in async way - first, notification event pushed to edge service queue on platform. Second, remote edge service will receive a copy of assignment device (Edge will receive this instantly, if it''s currently connected, or once it''s going to be connected to platform). Third, once device will be delivered to edge service, it''s going to be available for usage on remote edge instance. Available for users with ''TENANT_ADMIN'' authority.' operationId: assignDeviceToEdge parameters: - name: edgeId in: path description: A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string - name: deviceId in: path description: A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Device' delete: tags: - device-controller summary: Unassign device from edge (unassignDeviceFromEdge) description: 'Clears assignment of the device to the edge. Unassignment works in async way - first, ''unassign'' notification event pushed to edge queue on platform. Second, remote edge service will receive an ''unassign'' command to remove device (Edge will receive this instantly, if it''s currently connected, or once it''s going to be connected to platform). Third, once ''unassign'' command will be delivered to edge service, it''s going to remove device locally. Available for users with ''TENANT_ADMIN'' authority.' operationId: unassignDeviceFromEdge parameters: - name: edgeId in: path description: A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string - name: deviceId in: path description: A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Device' /api/devices: get: tags: - device-controller summary: Get Devices By Ids (getDevicesByIds) description: 'Requested devices must be owned by tenant or assigned to customer which user is performing the request. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: getDevicesByIds parameters: - name: deviceIds in: query description: A list of devices ids, separated by comma ',' required: true schema: items: {} responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Device' post: tags: - device-controller summary: Find related devices (findByQuery) description: 'Returns all devices that are related to the specific entity. The entity id, relation type, device types, depth of the search, and other query parameters defined using complex ''DeviceSearchQuery'' object. See ''Model'' tab of the Parameters for more info. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: findByQuery_3 requestBody: content: application/json: schema: $ref: '#/components/schemas/DeviceSearchQuery' required: true responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Device' /api/device: post: tags: - device-controller summary: Create Or Update Device (saveDevice) description: 'Create or update the Device. When creating device, platform generates Device Id as time-based UUID). Device credentials are also generated if not provided in the ''accessToken'' request parameter. The newly created device id will be present in the response. Specify existing Device id to update the device. Referencing non-existing device Id will cause ''Not Found'' error. Device name is unique in the scope of tenant. Use unique identifiers like MAC or IMEI for the device names and non-unique ''label'' field for user-friendly visualization purposes.Remove ''id'', ''tenantId'' and optionally ''customerId'' from the request body example (below) to create new Device entity. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: saveDevice parameters: - name: accessToken in: query description: Optional value of the device credentials to be used during device creation. If omitted, access token will be auto-generated. required: false schema: type: string requestBody: description: A JSON value representing the device. content: application/json: schema: $ref: '#/components/schemas/Device' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Device' /api/device/credentials: post: tags: - device-controller summary: Update device credentials (updateDeviceCredentials) description: During device creation, platform generates random 'ACCESS_TOKEN' credentials. operationId: updateDeviceCredentials requestBody: content: application/json: schema: $ref: '#/components/schemas/DeviceCredentials' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeviceCredentials' /api/device/bulk_import: post: tags: - device-controller summary: Import the bulk of devices (processDevicesBulkImport) description: 'There''s an ability to import the bulk of devices using the only .csv file. Available for users with ''TENANT_ADMIN'' authority.' operationId: processDevicesBulkImport requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkImportRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BulkImportResultDevice' /api/device-with-credentials: post: tags: - device-controller summary: Create Device (saveDevice) with credentials description: Create or update the Device. operationId: saveDeviceWithCredentials_1 requestBody: content: application/json: schema: $ref: '#/components/schemas/SaveDeviceWithCredentialsRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Device' /api/customer/{customerId}/device/{deviceId}: post: tags: - device-controller summary: Assign device to customer (assignDeviceToCustomer) description: 'Creates assignment of the device to customer. Customer will be able to query device afterwards. Available for users with ''TENANT_ADMIN'' authority.' operationId: assignDeviceToCustomer parameters: - name: customerId in: path description: A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string - name: deviceId in: path description: A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Device' /api/customer/public/device/{deviceId}: post: tags: - device-controller summary: Make device publicly available (assignDeviceToPublicCustomer) description: 'Device will be available for non-authorized (not logged-in) users. This is useful to create dashboards that you plan to share/embed on a publicly available website. However, users that are logged-in and belong to different tenant will not be able to access the device. Available for users with ''TENANT_ADMIN'' authority.' operationId: assignDeviceToPublicCustomer parameters: - name: deviceId in: path description: A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Device' /api/customer/device/{deviceName}/claim: post: tags: - device-controller summary: Claim device (claimDevice) description: 'Claiming makes it possible to assign a device to the specific customer using device/server side claiming data (in the form of secret key).To make this happen you have to provide unique device name and optional claiming data (it is needed only for device-side claiming).Once device is claimed, the customer becomes its owner and customer users may access device data as well as control the device. In order to enable claiming devices feature a system parameter security.claim.allowClaimingByDefault should be set to true, otherwise a server-side claimingAllowed attribute with the value true is obligatory for provisioned devices. See official documentation for more details regarding claiming. Available for users with ''CUSTOMER_USER'' authority.' operationId: claimDevice parameters: - name: deviceName in: path description: Unique name of the device which is going to be claimed required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ClaimRequest' responses: '200': description: OK content: application/json: schema: {} delete: tags: - device-controller summary: Reclaim device (reClaimDevice) description: 'Reclaiming means the device will be unassigned from the customer and the device will be available for claiming again. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: reClaimDevice parameters: - name: deviceName in: path description: Unique name of the device which is going to be reclaimed required: true schema: type: string responses: '200': description: OK content: application/json: schema: {} /api/tenant/devices: get: tags: - device-controller summary: Get Tenant Device (getTenantDevice) description: 'Requested device must be owned by tenant that the user belongs to. Device name is an unique property of device. So it can be used to identify the device. Available for users with ''TENANT_ADMIN'' authority.' operationId: getTenantDevices_1 parameters: - name: pageSize in: query description: Maximum amount of entities in a one page required: true schema: type: integer format: int32 - name: page in: query description: Sequence number of page starting from 0 required: true schema: type: integer format: int32 - name: type in: query description: Device type as the name of the device profile required: false schema: type: string - name: textSearch in: query description: The case insensitive 'substring' filter based on the device name. required: false schema: type: string - name: sortProperty in: query description: Property of entity to sort by required: false schema: enum: - createdTime - name - deviceProfileName - label - customerTitle - name: sortOrder in: query description: Sort order. ASC (ASCENDING) or DESC (DESCENDING) required: false schema: enum: - ASC - DESC - name: deviceName in: query description: A string value representing the Device name. required: true schema: type: string responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/Device' - $ref: '#/components/schemas/PageDataDevice' /api/tenant/deviceInfos: get: tags: - device-controller summary: Get Tenant Device Infos (getTenantDeviceInfos) description: 'Returns a page of devices info objects owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See the ''Model'' tab of the Response Class for more details. Device Info is an extension of the default Device object that contains information about the assigned customer name and device profile name. Available for users with ''TENANT_ADMIN'' authority.' operationId: getTenantDeviceInfos parameters: - name: pageSize in: query description: Maximum amount of entities in a one page required: true schema: type: integer format: int32 - name: page in: query description: Sequence number of page starting from 0 required: true schema: type: integer format: int32 - name: type in: query description: Device type as the name of the device profile required: false schema: type: string - name: deviceProfileId in: query description: A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: false schema: type: string - name: active in: query description: A boolean value representing the device active flag. required: false schema: type: boolean - name: textSearch in: query description: The case insensitive 'substring' filter based on the device name. required: false schema: type: string - name: sortProperty in: query description: Property of entity to sort by required: false schema: enum: - createdTime - name - deviceProfileName - label - customerTitle - name: sortOrder in: query description: Sort order. ASC (ASCENDING) or DESC (DESCENDING) required: false schema: enum: - ASC - DESC responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PageDataDeviceInfo' /api/edge/{edgeId}/devices: get: tags: - device-controller summary: Get devices assigned to edge (getEdgeDevices) description: 'Returns a page of devices assigned to edge. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See the ''Model'' tab of the Response Class for more details. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: getEdgeDevices parameters: - name: edgeId in: path description: A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string - name: pageSize in: query description: Maximum amount of entities in a one page required: true schema: type: integer format: int32 - name: page in: query description: Sequence number of page starting from 0 required: true schema: type: integer format: int32 - name: type in: query description: Device type as the name of the device profile required: false schema: type: string - name: deviceProfileId in: query description: A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: false schema: type: string - name: active in: query description: A boolean value representing the device active flag. required: false schema: type: boolean - name: textSearch in: query description: The case insensitive 'substring' filter based on the device name. required: false schema: type: string - name: sortProperty in: query description: Property of entity to sort by required: false schema: enum: - createdTime - name - deviceProfileName - label - customerTitle - name: sortOrder in: query description: Sort order. ASC (ASCENDING) or DESC (DESCENDING) required: false schema: enum: - ASC - DESC - name: startTime in: query description: Timestamp. Devices with creation time before it won't be queried required: false schema: type: integer format: int64 - name: endTime in: query description: Timestamp. Devices with creation time after it won't be queried required: false schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PageDataDeviceInfo' /api/devices/count/{otaPackageType}/{deviceProfileId}: get: tags: - device-controller summary: Count devices by device profile (countByDeviceProfileAndEmptyOtaPackage) description: 'The platform gives an ability to load OTA (over-the-air) packages to devices. It can be done in two different ways: device scope or device profile scope.In the response you will find the number of devices with specified device profile, but without previously defined device scope OTA package. It can be useful when you want to define number of devices that will be affected with future OTA package Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: countByDeviceProfileAndEmptyOtaPackage parameters: - name: otaPackageType in: path description: OTA package type required: true schema: enum: - FIRMWARE - SOFTWARE - name: deviceProfileId in: path description: Device Profile Id. I.g. '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: integer format: int64 /api/device/{deviceId}: get: tags: - device-controller summary: Get Device (getDeviceById) description: 'Fetch the Device object based on the provided Device Id. If the user has the authority of ''TENANT_ADMIN'', the server checks that the device is owned by the same tenant. If the user has the authority of ''CUSTOMER_USER'', the server checks that the device is assigned to the same customer. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: getDeviceById parameters: - name: deviceId in: path description: A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Device' delete: tags: - device-controller summary: Delete device (deleteDevice) description: 'Deletes the device, it''s credentials and all the relations (from and to the device). Referencing non-existing device Id will cause an error. Available for users with ''TENANT_ADMIN'' authority.' operationId: deleteDevice parameters: - name: deviceId in: path description: A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK /api/device/{deviceId}/credentials: get: tags: - device-controller summary: Get Device Credentials (getDeviceCredentialsByDeviceId) description: 'If during device creation there wasn''t specified any credentials, platform generates random ''ACCESS_TOKEN'' credentials. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: getDeviceCredentialsByDeviceId parameters: - name: deviceId in: path description: A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeviceCredentials' /api/device/types: get: tags: - device-controller summary: Get Device Types (getDeviceTypes) description: 'Deprecated. See ''getDeviceProfileNames'' API from Device Profile Controller instead. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: getDeviceTypes responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/EntitySubtype' deprecated: true /api/device/info/{deviceId}: get: tags: - device-controller summary: Get Device Info (getDeviceInfoById) description: 'Fetch the Device Info object based on the provided Device Id. If the user has the authority of ''Tenant Administrator'', the server checks that the device is owned by the same tenant. If the user has the authority of ''Customer User'', the server checks that the device is assigned to the same customer. Device Info is an extension of the default Device object that contains information about the assigned customer name and device profile name. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: getDeviceInfoById parameters: - name: deviceId in: path description: A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeviceInfo' /api/customer/{customerId}/devices: get: tags: - device-controller summary: Get Customer Devices (getCustomerDevices) description: 'Returns a page of devices objects assigned to customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See the ''Model'' tab of the Response Class for more details. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: getCustomerDevices parameters: - name: customerId in: path description: A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string - name: pageSize in: query description: Maximum amount of entities in a one page required: true schema: type: integer format: int32 - name: page in: query description: Sequence number of page starting from 0 required: true schema: type: integer format: int32 - name: type in: query description: Device type as the name of the device profile required: false schema: type: string - name: textSearch in: query description: The case insensitive 'substring' filter based on the device name. required: false schema: type: string - name: sortProperty in: query description: Property of entity to sort by required: false schema: enum: - createdTime - name - deviceProfileName - label - customerTitle - name: sortOrder in: query description: Sort order. ASC (ASCENDING) or DESC (DESCENDING) required: false schema: enum: - ASC - DESC responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PageDataDevice' /api/customer/{customerId}/deviceInfos: get: tags: - device-controller summary: Get Customer Device Infos (getCustomerDeviceInfos) description: 'Returns a page of devices info objects assigned to customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See the ''Model'' tab of the Response Class for more details. Device Info is an extension of the default Device object that contains information about the assigned customer name and device profile name. Available for users with ''TENANT_ADMIN'' or ''CUSTOMER_USER'' authority.' operationId: getCustomerDeviceInfos parameters: - name: customerId in: path description: A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string - name: pageSize in: query description: Maximum amount of entities in a one page required: true schema: type: integer format: int32 - name: page in: query description: Sequence number of page starting from 0 required: true schema: type: integer format: int32 - name: type in: query description: Device type as the name of the device profile required: false schema: type: string - name: deviceProfileId in: query description: A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: false schema: type: string - name: active in: query description: A boolean value representing the device active flag. required: false schema: type: boolean - name: textSearch in: query description: The case insensitive 'substring' filter based on the device name. required: false schema: type: string - name: sortProperty in: query description: Property of entity to sort by required: false schema: enum: - createdTime - name - deviceProfileName - label - customerTitle - name: sortOrder in: query description: Sort order. ASC (ASCENDING) or DESC (DESCENDING) required: false schema: enum: - ASC - DESC responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PageDataDeviceInfo' /api/customer/device/{deviceId}: delete: tags: - device-controller summary: Unassign device from customer (unassignDeviceFromCustomer) description: 'Clears assignment of the device to customer. Customer will not be able to query device afterwards. Available for users with ''TENANT_ADMIN'' authority.' operationId: unassignDeviceFromCustomer parameters: - name: deviceId in: path description: A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Device' components: schemas: Lwm2mDeviceTransportConfiguration: allOf: - $ref: '#/components/schemas/DeviceTransportConfiguration' - type: object properties: powerMode: type: string enum: - PSM - DRX - E_DRX psmActivityTimer: type: integer format: int64 edrxCycle: type: integer format: int64 pagingTransmissionWindow: type: integer format: int64 DefaultDeviceConfiguration: allOf: - $ref: '#/components/schemas/DeviceConfiguration' BulkImportResultDevice: properties: created: properties: opaque: type: integer format: int32 acquire: type: integer format: int32 release: type: integer format: int32 writeOnly: true andIncrement: type: integer format: int32 andDecrement: type: integer format: int32 plain: type: integer format: int32 updated: properties: opaque: type: integer format: int32 acquire: type: integer format: int32 release: type: integer format: int32 writeOnly: true andIncrement: type: integer format: int32 andDecrement: type: integer format: int32 plain: type: integer format: int32 errors: properties: opaque: type: integer format: int32 acquire: type: integer format: int32 release: type: integer format: int32 writeOnly: true andIncrement: type: integer format: int32 andDecrement: type: integer format: int32 plain: type: integer format: int32 errorsList: type: array items: type: string DeviceSearchQuery: description: The device search query JSON properties: parameters: $ref: '#/components/schemas/RelationsSearchParameters' description: Main search parameters. relationType: type: string description: Type of the relation between root entity and device (e.g. 'Contains' or 'Manages'). deviceTypes: type: array description: Array of device types to filter the related entities (e.g. 'Temperature Sensor', 'Smoke Sensor'). items: type: string RelationsSearchParameters: properties: rootId: type: string format: uuid description: Root entity id to start search from. example: 784f394c-42b6-435a-983c-b7beff2784f9 rootType: type: string description: Type of the root entity. enum: - TENANT - CUSTOMER - USER - DASHBOARD - ASSET - DEVICE - ALARM - RULE_CHAIN - RULE_NODE - ROLE - ENTITY_VIEW - WIDGETS_BUNDLE - WIDGET_TYPE - TENANT_PROFILE - DEVICE_PROFILE - ASSET_PROFILE - API_USAGE_STATE - TB_RESOURCE - OTA_PACKAGE - EDGE - RPC - QUEUE - NOTIFICATION_TARGET - NOTIFICATION_TEMPLATE - NOTIFICATION_REQUEST - NOTIFICATION - NOTIFICATION_RULE - QUEUE_STATS direction: type: string description: Type of the root entity. enum: - FROM - TO relationTypeGroup: type: string description: Type of the relation. enum: - COMMON - DASHBOARD - RULE_CHAIN - RULE_NODE - EDGE - EDGE_AUTO_ASSIGN_RULE_CHAIN maxLevel: type: integer format: int32 description: Maximum level of the search depth. fetchLastLevelOnly: type: boolean description: Fetch entities that match the last level of search. Useful to find Devices that are strictly 'maxLevel' relations away from the root entity. DeviceCredentials: description: A JSON value representing the device credentials. properties: id: $ref: '#/components/schemas/DeviceCredentialsId' description: 'The Id is automatically generated during device creation. Use ''getDeviceCredentialsByDeviceId'' to obtain the id based on device id. Use ''updateDeviceCredentials'' to update device credentials. ' example: 784f394c-42b6-435a-983c-b7beff2784f9 readOnly: true createdTime: type: integer format: int64 description: Timestamp of the device credentials creation, in milliseconds example: 1609459200000 deviceId: $ref: '#/components/schemas/DeviceId' description: JSON object with the device Id. credentialsType: type: string description: Type of the credentials enum: - ACCESS_TOKEN - X509_CERTIFICATE - MQTT_BASIC - LWM2M_CREDENTIALS credentialsId: type: string description: Unique Credentials Id per platform instance. Used to lookup credentials from the database. By default, new access token for your device. Depends on the type of the credentials. example: Access token or other value that depends on the credentials type credentialsValue: type: string description: Value of the credentials. Null in case of ACCESS_TOKEN credentials type. Base64 value in case of X509_CERTIFICATE. Complex object in case of MQTT_BASIC and LWM2M_CREDENTIALS example: Null in case of ACCESS_TOKEN. See model definition. required: - credentialsId - deviceId - id Device: properties: id: $ref: '#/components/schemas/DeviceId' description: JSON object with the Device Id. Specify this field to update the Device. Referencing non-existing Device Id will cause error. Omit this field to create new Device. createdTime: type: integer format: int64 description: Timestamp of the device creation, in milliseconds example: 1609459200000 readOnly: true tenantId: $ref: '#/components/schemas/TenantId' description: JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. readOnly: true customerId: $ref: '#/components/schemas/CustomerId' description: JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. readOnly: true name: type: string description: Unique Device Name in scope of Tenant example: A4B72CCDFF33 type: type: string description: Device Profile Name example: Temperature Sensor label: type: string description: Label that may be used in widgets example: Room 234 Sensor deviceProfileId: $ref: '#/components/schemas/DeviceProfileId' description: JSON object with Device Profile Id. firmwareId: $ref: '#/components/schemas/OtaPackageId' description: JSON object with Ota Package Id. softwareId: $ref: '#/components/schemas/OtaPackageId' description: JSON object with Ota Package Id. additionalInfo: $ref: '#/components/schemas/JsonNode' description: Additional parameters of the device deviceData: $ref: '#/components/schemas/DeviceData' description: JSON object with content specific to type of transport in the device profile. required: - deviceProfileId - name DefaultDeviceTransportConfiguration: allOf: - $ref: '#/components/schemas/DeviceTransportConfiguration' EntitySubtype: properties: tenantId: $ref: '#/components/schemas/TenantId' entityType: type: string enum: - TENANT - CUSTOMER - USER - DASHBOARD - ASSET - DEVICE - ALARM - RULE_CHAIN - RULE_NODE - ROLE - ENTITY_VIEW - WIDGETS_BUNDLE - WIDGET_TYPE - TENANT_PROFILE - DEVICE_PROFILE - ASSET_PROFILE - API_USAGE_STATE - TB_RESOURCE - OTA_PACKAGE - EDGE - RPC - QUEUE - NOTIFICATION_TARGET - NOTIFICATION_TEMPLATE - NOTIFICATION_REQUEST - NOTIFICATION - NOTIFICATION_RULE - QUEUE_STATS type: type: string DeviceProfileId: properties: id: type: string format: uuid description: ID of the entity, time-based UUID v1 example: 784f394c-42b6-435a-983c-b7beff2784f9 entityType: type: string description: string enum: - DEVICE_PROFILE example: DEVICE_PROFILE required: - entityType - id DeviceData: properties: configuration: description: Device configuration for device profile type. DEFAULT is only supported value for now oneOf: - $ref: '#/components/schemas/DefaultDeviceConfiguration' transportConfiguration: description: Device transport configuration used to connect the device oneOf: - $ref: '#/components/schemas/CoapDeviceTransportConfiguration' - $ref: '#/components/schemas/DefaultDeviceTransportConfiguration' - $ref: '#/components/schemas/Lwm2mDeviceTransportConfiguration' - $ref: '#/components/schemas/MqttDeviceTransportConfiguration' - $ref: '#/components/schemas/SnmpDeviceTransportConfiguration' SaveDeviceWithCredentialsRequest: description: The JSON object with device and credentials. See method description above for example. properties: device: $ref: '#/components/schemas/Device' description: The JSON with device entity. credentials: $ref: '#/components/schemas/DeviceCredentials' description: The JSON with credentials entity. required: - credentials - device ClaimRequest: description: Claiming request which can optionally contain secret key properties: secretKey: type: string OtaPackageId: properties: id: type: string format: uuid description: ID of the entity, time-based UUID v1 example: 784f394c-42b6-435a-983c-b7beff2784f9 entityType: type: string description: string enum: - OTA_PACKAGE example: OTA_PACKAGE required: - entityType - id SnmpDeviceTransportConfiguration: allOf: - $ref: '#/components/schemas/DeviceTransportConfiguration' - type: object properties: host: type: string port: type: integer format: int32 protocolVersion: type: string enum: - V1 - V2C - V3 community: type: string username: type: string securityName: type: string contextName: type: string authenticationProtocol: type: string enum: - SHA_1 - SHA_224 - SHA_256 - SHA_384 - SHA_512 - MD5 authenticationPassphrase: type: string privacyProtocol: type: string enum: - DES - AES_128 - AES_192 - AES_256 privacyPassphrase: type: string engineId: type: string DeviceConfiguration: discriminator: propertyName: type properties: type: type: string required: - type Mapping: properties: columns: type: array items: $ref: '#/components/schemas/ColumnMapping' delimiter: type: string update: type: boolean header: type: boolean BulkImportRequest: properties: file: type: string mapping: $ref: '#/components/schemas/Mapping' DeviceCredentialsId: properties: id: type: string format: uuid description: string example: 784f394c-42b6-435a-983c-b7beff2784f9 required: - id DeviceInfo: properties: id: $ref: '#/components/schemas/DeviceId' description: JSON object with the Device Id. Specify this field to update the Device. Referencing non-existing Device Id will cause error. Omit this field to create new Device. createdTime: type: integer format: int64 description: Timestamp of the device creation, in milliseconds example: 1609459200000 readOnly: true tenantId: $ref: '#/components/schemas/TenantId' description: JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. readOnly: true customerId: $ref: '#/components/schemas/CustomerId' description: JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. readOnly: true name: type: string description: Unique Device Name in scope of Tenant example: A4B72CCDFF33 type: type: string description: Device Profile Name example: Temperature Sensor label: type: string description: Label that may be used in widgets example: Room 234 Sensor deviceProfileId: $ref: '#/components/schemas/DeviceProfileId' description: JSON object with Device Profile Id. firmwareId: $ref: '#/components/schemas/OtaPackageId' description: JSON object with Ota Package Id. softwareId: $ref: '#/components/schemas/OtaPackageId' description: JSON object with Ota Package Id. customerTitle: type: string description: Title of the Customer that owns the device. readOnly: true customerIsPublic: type: boolean description: Indicates special 'Public' Customer that is auto-generated to use the devices on public dashboards. readOnly: true deviceProfileName: type: string description: Name of the corresponding Device Profile. readOnly: true active: type: boolean description: Device active flag. readOnly: true additionalInfo: $ref: '#/components/schemas/JsonNode' description: Additional parameters of the device deviceData: $ref: '#/components/schemas/DeviceData' description: JSON object with content specific to type of transport in the device profile. required: - deviceProfileId - name PageDataDevice: properties: data: type: array description: Array of the entities items: $ref: '#/components/schemas/Device' readOnly: true totalPages: type: integer format: int32 description: Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria readOnly: true totalElements: type: integer format: int64 description: Total number of elements in all available pages readOnly: true hasNext: type: boolean description: '''false'' value indicates the end of the result set' readOnly: true DeviceTransportConfiguration: discriminator: propertyName: type properties: type: type: string required: - type PageDataDeviceInfo: properties: data: type: array description: Array of the entities items: $ref: '#/components/schemas/DeviceInfo' readOnly: true totalPages: type: integer format: int32 description: Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria readOnly: true totalElements: type: integer format: int64 description: Total number of elements in all available pages readOnly: true hasNext: type: boolean description: '''false'' value indicates the end of the result set' readOnly: true ColumnMapping: properties: type: type: string enum: - NAME - TYPE - LABEL - SHARED_ATTRIBUTE - SERVER_ATTRIBUTE - TIMESERIES - ACCESS_TOKEN - X509 - MQTT_CLIENT_ID - MQTT_USER_NAME - MQTT_PASSWORD - LWM2M_CLIENT_ENDPOINT - LWM2M_CLIENT_SECURITY_CONFIG_MODE - LWM2M_CLIENT_IDENTITY - LWM2M_CLIENT_KEY - LWM2M_CLIENT_CERT - LWM2M_BOOTSTRAP_SERVER_SECURITY_MODE - LWM2M_BOOTSTRAP_SERVER_PUBLIC_KEY_OR_ID - LWM2M_BOOTSTRAP_SERVER_SECRET_KEY - LWM2M_SERVER_SECURITY_MODE - LWM2M_SERVER_CLIENT_PUBLIC_KEY_OR_ID - LWM2M_SERVER_CLIENT_SECRET_KEY - SNMP_HOST - SNMP_PORT - SNMP_VERSION - SNMP_COMMUNITY_STRING - IS_GATEWAY - DESCRIPTION - ROUTING_KEY - SECRET key: type: string CustomerId: properties: id: type: string format: uuid description: ID of the entity, time-based UUID v1 example: 784f394c-42b6-435a-983c-b7beff2784f9 entityType: type: string description: string enum: - CUSTOMER example: CUSTOMER required: - entityType - id CoapDeviceTransportConfiguration: allOf: - $ref: '#/components/schemas/DeviceTransportConfiguration' - type: object properties: powerMode: type: string enum: - PSM - DRX - E_DRX psmActivityTimer: type: integer format: int64 edrxCycle: type: integer format: int64 pagingTransmissionWindow: type: integer format: int64 DeviceId: properties: id: type: string format: uuid description: ID of the entity, time-based UUID v1 example: 784f394c-42b6-435a-983c-b7beff2784f9 entityType: type: string description: string enum: - DEVICE example: DEVICE required: - entityType - id MqttDeviceTransportConfiguration: allOf: - $ref: '#/components/schemas/DeviceTransportConfiguration' TenantId: properties: id: type: string format: uuid description: ID of the entity, time-based UUID v1 example: 784f394c-42b6-435a-983c-b7beff2784f9 entityType: type: string description: string enum: - TENANT example: TENANT required: - entityType - id JsonNode: description: A value representing the any type (object or primitive) examples: - {} securitySchemes: HTTP_login_form: type: http description: Enter Username / Password scheme: loginPassword bearerFormat: /api/auth/login|X-Authorization