Get the command choices available for scheduling
The same command catalog GET /devices/{deviceId}/commands returns, filtered to commands a schedule can actually use (kind ACTION only, a schedule can't "run" a QUERY command). Use this to populate a command picker before calling POST .../schedules.
A session token for an existing account, obtained from POST /auth/login (see the Authentication endpoints) - not an API key. Endpoints marked with this scheme reject API key callers outright, regardless of what that key is granted. Outside the Authentication endpoints themselves, everything requiring this scheme manages dashboard resources (rules, grants, keys, device configuration, command catalogs) and mirrors what a human does in the Nexalware web app - it is not meant to be automated by a third-party integration the way the Device Control and Schedules endpoints are.
In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/api/v1/devices/dev_a1b2c3/schedules/context"{ "commands": [ { "commandId": null, "name": "ON", "label": "Turn on", "paramsSchema": null } ]}Create or replace a schedule slot POST
A device has up to 5 slots (0-4). `onCommand`/`offCommand` default to plain ON/OFF; any other command still fires reliably from the server at the scheduled time, but only the plain ON/OFF case also syncs to firmware for offline self-execution. An API key needs a DeviceGrant covering both commands used, exactly like sending them directly with POST .../command.
List a device's active schedules GET
Schedules that are PENDING (created, not due yet) or ACTIVE (currently running). For schedules that already finished or were cancelled, see GET .../schedules/history instead.