Skip to main content
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.

Response Fields

Field Constraints