After OAuth client credentials authentication, a control device can retrieve its command and sensor catalog through the HTTPS iot/v1 catalog endpoints by providing the returned Bearer access token.
Normal firmware startup should use GET /iot/v1/devices/{device_id}/bootstrap, which includes the same command and sensor catalogs together with runtime metadata. The endpoints on this page remain valid for targeted granular catalog reads.
Command data describes the actuator state configured through the control panel. Sensor data describes the expected sensor inputs that the device can report through feed-data ingestion.
Catalog payloads are the firmware contract. Devices should use the technical fields present in each payload, such as id, kind, value_type, qc, mu, and pin_port, for routing and reporting; resource/dashboard row labels and sensor descriptions are UI metadata in Realer.
These command endpoints are catalog-only. They are not a command queue and do not return pending desired states. HTTPS devices read pending desired states from GET /iot/v1/devices/{device_id}/desired-states; MQTT devices receive desired-state messages on their runtime topics.
curl "https://api.therealer.com/iot/v1/devices/cdv_aaaaaaaaaaaaaaaaaaaaaaaaaa/commands" \
-H 'Authorization: Bearer b11db7f6c816568eb3b156df3aeaa5'
Retrieve all commands registered for the authenticated control device.
The Bearer access token obtained from the OAuth token endpoint.
Type: String
Example: Bearer b11db7f6c816568eb3b156df3aeaa5
Public id of the authenticated control device.
Type: String
Example: cdv_aaaaaaaaaaaaaaaaaaaaaaaaaa
200 OK
{
"code": 2000,
"commands": [
{
"id": "cmd_bbbbbbbbbbbbbbbbbbbbbbbbbb",
"value": "0.0",
"value_type": "NumericRange",
"kind": "relay",
"pin_port": "6"
}
]
}
Retrieve one command. The response keeps the same array-based commands payload shape as the collection endpoint.
curl "https://api.therealer.com/iot/v1/devices/cdv_aaaaaaaaaaaaaaaaaaaaaaaaaa/sensors" \
-H 'Authorization: Bearer b11db7f6c816568eb3b156df3aeaa5'
Retrieve all sensors registered for the authenticated control device.
The Bearer access token obtained from the OAuth token endpoint.
Type: String
Example: Bearer b11db7f6c816568eb3b156df3aeaa5
Public id of the authenticated control device.
Type: String
Example: cdv_aaaaaaaaaaaaaaaaaaaaaaaaaa
200 OK
{
"code": 2000,
"sensors": [
{
"id": "sen_bbbbbbbbbbbbbbbbbbbbbbbbbb",
"kind": "thermistor",
"qc": "celsius_temperature",
"mu": "degree_celsius:0",
"pin_port": "5",
"expected_update_interval_seconds": 60,
"minimum_supported_update_interval_seconds": 30
}
]
}
Retrieve one sensor. The response keeps the same array-based sensors payload shape as the collection endpoint.
id values as stable command and sensor identifiers in feed-data requests.minimum_supported_update_interval_seconds is the fastest cadence supported by the purchased HTTPS plan. expected_update_interval_seconds is nullable and becomes non-null only when the developer configured an expected cadence; do not report faster than the minimum plan cadence.id and exposes error instead of normal fields.