JSON Schema for ThingsBoard Device entity, derived from the public ThingsBoard OpenAPI 4.3.
IoTInternet of ThingsDevice ManagementTelemetryOpen-SourceApache 2.0MQTTLwM2MCoAPRule EngineDashboardsEdgeMulti-TenantJavaSpring
Properties
Name
Type
Description
id
object
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
integer
Timestamp of the device creation, in milliseconds
tenantId
object
JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id.
customerId
object
JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id.
name
string
Unique Device Name in scope of Tenant
type
string
Device Profile Name
label
string
Label that may be used in widgets
deviceProfileId
object
JSON object with Device Profile Id.
firmwareId
object
JSON object with Ota Package Id.
softwareId
object
JSON object with Ota Package Id.
version
integer
additionalInfo
object
Additional parameters of the device
deviceData
object
JSON object with content specific to type of transport in the device profile.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-device-schema.json",
"title": "ThingsBoard Device",
"description": "JSON Schema for ThingsBoard Device entity, derived from the public ThingsBoard OpenAPI 4.3.",
"type": "object",
"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."
},
"version": {
"type": "integer",
"format": "int64"
},
"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"
]
}