The "describeThings" action describes specified things. You can specify things by ID or "thingName". You can also control the information returned about each thing.
Request examples
Minimal - describe by IDs
{
"action": "describeThings",
"params": {
"ids": [ 1, "2" ]
},
"authToken": "replaceWithAuthTokenFromCreateSession"
}Minimal - describe by thing names
{
"action": "describeThings",
"params": {
"thingNames": [ "My Device", "Changed Name" ],
"includeMetrics": true
},
"authToken": "replaceWithAuthTokenFromCreateSession"
}
Response examples
Minimal
{
"authToken": "replaceWithAuthTokenFromCreateSession",
"result": {
"things": [
{
"id": 1,
"thingName": "My Device",
"status": "active",
"createdTimestamp": "2025-08-28T10:47:13.041",
"updatedTimestamp": "2025-08-28T10:47:13.041",
"inactiveTimestamp": null,
"manufacturer": "unknown",
"model": "unknown",
"thingType": "unknown",
"serialNumber": "unknown",
"purpose": "unknown",
"location": "unknown",
"lifecycleLabels": [],
"hostnames": [],
"description": "",
"photo": null,
"binaryFormat": "hex",
"metadata": {}
},
{
"id": 2,
"thingName": "Changed Name",
"status": "inactive",
"createdTimestamp": "2025-08-28T10:47:13.041",
"updatedTimestamp": "2025-08-28T10:47:13.041",
"inactiveTimestamp": "2025-08-28T10:47:13.041",
"manufacturer": "AllenBradley",
"model": "ACME-123",
"serialNumber": "AB678",
"thingType": "ACME Temperature Sensor",
"purpose": "Stamper temperature",
"location": "factory1/line1/station1",
"lifecycleLabels": ["out-of-warranty", "deprecated"],
"hostnames": [ "127.0.0.1" ],
"description": "The ACME Temperature Sensor gathers temperature data from the ACME stamper.",
"metadata": { "myProperty": "myValue" },
"photo": "ffd8ffee002141646f62650064400000000103001003020306",
"binaryFormat": "hex"
}
]
},
"errorCode": 0,
"errorMessage": ""
}
Properties
Request properties ("params")
| Property | Description | Default | Type | Limits (inclusive) |
|---|---|---|---|---|
ids |
An
|
Automatically generated by the server | array of integers | Each array item is an integer from 0 to 2147483647
|
includeMetrics |
The
By default, dynamically calculated properties are not included in the results because they take extra time to retrieve. |
Optional with default of false
|
Boolean |
|
thingNames |
The "thingNames" property specifies one or more thing names. Each item in the array is the exact name of a thing. You can use it to describe or delete things. |
Required - No default value | array | one or more thing name strings |
Response properties ("result")
| Property | Description | Type | Limits (inclusive) |
|---|---|---|---|
binaryFormat |
The "binaryFormat" property designates the format of binary values embedded in JSON strings. For more details, see "binaryFormat". |
string | One of the following: "base64", "hex", or "byteArray". |
createdTimestamp |
The "createdTimestamp" property is the date and time when something, such as a thing or key, was originally created in ISO 8601 format, such as "2025-08-28T10:47:13.041". It is never null. |
timestamp | An ISO 8601 timestamp |
description |
The Markdown is a good language for formatting description text. You must ensure the text is compatible with a JSON string. For example, you must escape a double quote character using the backslash character:
In the Thing API, It defaults to |
string | 1 to 65,500 bytes |
hostnames |
The
When you use the
The Thing API implements the
|
array of strings | zero or more hostname strings of 1 to 64 bytes |
id |
The |
integer |
0 to 9223372036854770000 in the Thing API |
inactiveTimestamp |
The "inactiveTimestamp" property is the date and time when the thing was last made inactive. It is null when the thing is active. It is returned in ISO 8601 format, such as "2025-08-28T10:47:13.041". |
timestamp | ISO 8601 timestamp |
lifecycleLabels |
The "lifecycleLabels" property assigns zero or more lifecycle labels to a thing. You can use it for fast lookups and filtering. |
array of strings |
"archived""acquired""deprecated""decommissioned""disposed""end-of-life""out-of-warranty""operational""testing""unknown"
|
location |
The
This API uses the Label API to manage manufacturers.
|
string | 1 to 64 bytes |
manufacturer |
The
This API uses the Label API to manage manufacturers.
|
string | 1 to 64 bytes |
metadata |
The |
JSON | 0 to 65,500 bytes |
model |
The
This API uses the Label API to manage models.
|
string | 1 to 64 bytes |
photo |
The "photo" property contains a photo of a thing. You cannot use it for lookups and filtering. |
string | up to 2 GB |
purpose |
The
In the Thing API, the
This API uses the Label API to manage purposes.
|
string | 1 to 64 bytes |
serialNumber |
The "serialNumber" property specifies a thing's serial number. Typically a serial number uniquely identifies a thing, but things from different manufacturers may have the same serial numbers. You can use it to do partial lookups and filtering. |
string | 1 to 64 bytes |
status |
The
When the
To create, alter, and list inactive items, set the |
string enum |
|
thingName |
The "thingName" property specifies the unique name of a thing. |
string | 1 to 64 bytes |
thingType |
The
This API uses the Label API to manage types.
|
string | 1 to 64 bytes |
updatedTimestamp |
The "updatedTimestamp" property is the date and time when the thing was last updated. It is the same as the "createdTimestamp" property when the thing has never been updated. It is returned in ISO 8601 format, such as "2025-08-28T10:47:13.041". |
timestamp | ISO 8601 timestamp |