Devices
Create Device Command
Send a command to a device to start recording, stop recording, or trigger upload of pending recordings
POST
Send a remote command to a device. Commands are delivered via Bluetooth (through the mobile app) or via heartbeat response (for 4G/WiFi devices).
Authentication
Requires an API key withdevices:write scope.
Path Parameters
The device’s unique identifier (e.g.,
dev_abc123).Request Body
The command type. One of:
start_recording- Start a new recordingstop_recording- Stop the current recordingtrigger_upload- Upload any pending recordings stored on the device
Optional parameters for the command.
Maximum recording duration in seconds (1-86400). Default: 3600 (1 hour).
Whether to upload immediately after recording stops. Default: true.
Custom metadata to attach to the recording.
Unique key to prevent duplicate command creation.
Time-to-live for the command in seconds. Command expires if not executed within this time. Default: 300 (5 minutes).
Response
Returns the command object withstatus set to pending.
Response Fields
Command Lifecycle
Commands go through the following states:Notes
- Commands are delivered to devices via Bluetooth (through the mobile app) or WiFi/4G (direct push)
- If the device is offline, commands will be queued and delivered when the device comes online
- The
grant_tokenis a signed JWT that authorizes the device to execute the command - For BLE-connected devices, the mobile app must relay the command to the device

