Get a device's command catalog
The commands this specific device supports right now what a control UI or an AI agent should present as its available actions. Devices with no custom DeviceType return the legacy ON/OFF/TOGGLE/STATUS set.
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
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/api/v1/devices/string/commands"[ { "name": "string", "label": "string", "kind": "ACTION", "paramsSchema": { "property1": null, "property2": null } }]Revoke a refresh token POST
Invalidates the given refresh token so it can no longer be exchanged for new sessions. The current access token stays valid until its own 15-minute expiry - this only prevents renewing it.
Interpret free text into a command and send it POST
Runs `text` against this device's (or, with `target` set, a sub-device's) own command catalog through an LLM, then dispatches whatever command it resolves through the exact same path `POST .../command` uses - same DeviceGrant check, same approval flow, same everything. If the text doesn't clearly resolve to one catalog command, nothing is sent - the response comes back with `ok: false` and a `reply` you can show the caller instead. Meant for building a chat-style interface on top of the API; the strict/structured way to send a command is still `POST .../command`.