Devices
Update Device
Update device metadata and settings
PATCH
Documentation Index
Fetch the complete documentation index at: https://docs.bota.dev/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Updates device metadata (firmware version, custom metadata) and/or device settings (upload configuration, audio quality, power management). This endpoint performs a partial update - only fields included in the request body are modified.Authentication
Requires a valid API key withdevices:write scope.
Path Parameters
Device ID (e.g.,
dev_abc123)Request Body
All fields are optional. Only include what you want to update.Firmware version string (max 32 chars)
Custom key-value metadata
Device configuration (upload, audio, power)
Response
Returns the updated device object with all settings (including defaults).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 or bound |
end_user_id | string | null | Bound end user (eu_*) |
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) |
recording_state | object | null | Current recording state |
metadata | object | Custom key-value metadata |
settings | object | Device settings including connection, upload, audio, and power configuration |
created_at | string | Creation timestamp (ISO 8601) |
updated_at | string | Last update timestamp (ISO 8601) |
Examples
Update Connection Settings Only
cURL
Configure Radio Idle Timeouts
cURL
Update Firmware Version
cURL
Update Custom Metadata
cURL
Travel Mode Preset
cURL
Notes
Settings Merge: When updating
settings, a deep merge is performed. Only the specified nested fields are updated; others remain unchanged.Defaults Included: The response always includes complete settings with defaults filled in, even if you only updated one field.
Related Endpoints
- Get Device - Fetch device details
- Create Device - Create new device
- Bind Device - Bind to end user

