Devices
Device Heartbeat
Report device health status for fleet monitoring
POST
Report device health status including battery level, storage usage, and signal strength. Health data is stored on the device record and returned in Get Device and List Devices responses.
Authentication
This endpoint accepts two authentication methods depending on the device connectivity:Path Parameters
string
required
The device’s unique identifier (e.g.,
dev_abc123), or me when using a device token. The me alias resolves to the device ID associated with the token, so the device doesn’t need to know its own Bota ID. When using an explicit device ID with a device token, it must match the token’s device.Request Body
All fields are optional — send only the metrics your device can report.integer
Current battery level (0-100).
integer
Battery voltage in millivolts (e.g., 3700 = 3.7V). Useful for diagnosing power issues.
boolean
Whether the device is currently charging.
integer
Storage used in megabytes.
integer
Total storage capacity in megabytes.
integer
Cellular signal strength in dBm (typically -50 to -120, where higher/less negative is better).
string
Current firmware version string (max 32 characters).
string
Device name (max 64 characters). Updated in the device record when provided.
string
Current device operational state (max 32 characters). One of:
idle, recording, syncing, uploading, charging, lowBattery, storageFull, error.integer
Number of recordings on the device pending sync/upload.
integer
Device status flags as a 1-byte bitmask (0-255). Bit 0: charging, Bit 1: low battery, Bit 2: storage full, Bit 3: WiFi connected, Bit 4: LTE connected, Bit 5: sync active.
string
LTE/4G modem status. One of:
off, searching, registered, connected, denied, no_sim, error, low_voltage, disabled.string
WiFi radio status. One of:
off, scanning, connecting, connected, connect_failed, no_credentials, disabled, error.string[]
Active device connections. Array of:
wifi, 4g, ble.string
The channel currently being used to upload recordings. One of:
wifi, 4g, ble. Set to null to clear. Omit if no upload is in progress.Response
Returns{ "status": "ok" } on success. A direct WiFi/4G device heartbeat may
also include pending_commands. A delivered factory_reset remains in this
array until the device successfully acknowledges it; ordinary commands are not
redelivered after their first delivery.

