Devices
Reset Device
Trigger a factory reset on a device
POST
Schedule a factory reset on a device. On the next heartbeat cycle, the device will wipe its credentials (device token, pairing state, stored WiFi networks) and reboot into an unpaired state.
Use this when you need to repurpose a device, recover from a bad state, or wipe credentials without removing the device record from your project. The device record, all recordings, transcriptions, and summaries are preserved.
How it works
- The API unbinds the device from its current end user (if bound) and revokes its device token.
- A
factory_resetcommand is queued in the device’s pending commands. - On the next heartbeat (typically within 60 seconds), the device receives the command, wipes credentials, and reboots.
- After rebooting, the device advertises as unpaired and must be provisioned again before it can upload recordings.
The device must have WiFi or cellular connectivity to receive the factory reset command via heartbeat. Bluetooth-only devices cannot receive the command until a WiFi or cellular connection is available.
Authentication
Requires an API key withdevices:write scope.
Path Parameters
The device’s unique identifier (e.g.,
dev_abc123).Response
Returns the updated device object. Thestatus will be unbound and end_user_id will be null.
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Device identifier (dev_*) |
serial_number | string | Physical serial number |
model | string | Device model (bota_pin or bota_note) |
firmware_version | string | null | Current firmware version |
status | string | unbound after reset |
end_user_id | string | null | null after reset |
battery_percent | integer | null | Battery level (0-100) |
storage_used_mb | integer | null | Storage used in MB |
storage_total_mb | integer | null | Total storage capacity in MB |
signal_strength_dbm | integer | null | Signal strength in dBm |
last_heartbeat_at | string | null | Last heartbeat timestamp (ISO 8601) |
metadata | object | Custom key-value metadata |
created_at | string | Creation timestamp (ISO 8601) |
updated_at | string | Last update timestamp (ISO 8601) |
Factory reset differs from delete: reset wipes credentials on the physical device but keeps the record in your project. Delete removes the record (softly — it can be recovered) but does not wipe the device.

