Send a command to a device
The general-purpose command endpoint - validates the command and its params against the device's catalog, checks the caller's DeviceGrant, then either publishes it over MQTT immediately or (for a command marked requiresApproval) creates a pending approval instead of executing it. An API key needs a DeviceGrant covering this device and this command name - see the Authentication & Access guide.
How to use this: first call GET /devices/{deviceId}/commands to see exactly which cmd values this device accepts and what params (if any) each one expects, then send one of those cmd names here. A plain relay with no custom command catalog accepts "ON", "OFF", "TOGGLE", and "STATUS" with no params at all.
A secret API key created on the dashboard (API Keys page). By itself it grants nothing - it must also have a DeviceGrant scoping it to the specific device(s) and command(s) it may call.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v1/devices/string/command" \ -H "Content-Type: application/json" \ -d '{ "cmd": "ON" }'{ "ok": true}Read the most recent value per telemetry metric GET
The quickest "current state" snapshot - one row per metric this device has ever reported, plus its relay state. Use this instead of `/telemetry` when you just need "what is this device's situation right now", not history.
Shorthand for sending the OFF command POST
Next Page