Skip to main content
GET
/
devices
/
{id}
curl https://api.bota.dev/v1/devices/dev_abc123 \
  -H "Authorization: Bearer sk_live_..."
{
  "id": "dev_abc123",
  "serial_number": "SN-2025-001234",
  "model": "bota_pin",
  "firmware_version": "1.2.3",
  "status": "bound",
  "end_user_id": "eu_xyz789",
  "battery_percent": 85,
  "storage_used_mb": 512,
  "storage_total_mb": 32768,
  "signal_strength_dbm": -75,
  "last_heartbeat_at": "2025-01-15T11:30:00Z",
  "recording_state": {
    "device_state": "idle",
    "pending_recordings": 3,
    "flags": 8,
    "connection_type": ["ble"]
  },
  "metadata": {},
  "settings": {
    "connection": {
      "enabled_connections": { "wifi": true, "cellular": true },
      "upload_network_preference": ["wifi", "ble", "cellular"],
      "power_management": {
        "wifi_idle_timeout_seconds": 180,
        "cellular_idle_timeout_seconds": 180
      }
    },
    "upload": {
      "mode": "auto",
      "streaming_enabled": true,
      "upload_delay_minutes": 5,
      "daily_data_limit_mb": 500,
      "allow_roaming": false,
      "pause_on_low_battery": true
    },
    "audio": {
      "codec": "opus",
      "sample_rate_khz": 16,
      "bitrate_kbps": 32
    },
    "power": {
      "auto_sleep_minutes": 30,
      "low_battery_threshold_percent": 20
    }
  },
  "created_at": "2025-01-15T10:30:00Z",
  "updated_at": "2025-01-15T11:00:00Z"
}
Retrieve the full details of a specific device, including settings and current health status.

Authentication

Requires an API key with devices:read scope.
curl https://api.bota.dev/v1/devices/dev_abc123 \
  -H "Authorization: Bearer sk_live_..."

Path Parameters

id
string
required
The device’s unique identifier (e.g., dev_abc123).

Response

Returns the device object.
{
  "id": "dev_abc123",
  "serial_number": "SN-2025-001234",
  "model": "bota_pin",
  "firmware_version": "1.2.3",
  "status": "bound",
  "end_user_id": "eu_xyz789",
  "battery_percent": 85,
  "storage_used_mb": 512,
  "storage_total_mb": 32768,
  "signal_strength_dbm": -75,
  "last_heartbeat_at": "2025-01-15T11:30:00Z",
  "recording_state": {
    "device_state": "idle",
    "pending_recordings": 3,
    "flags": 8,
    "connection_type": ["ble"]
  },
  "metadata": {},
  "settings": {
    "connection": {
      "enabled_connections": { "wifi": true, "cellular": true },
      "upload_network_preference": ["wifi", "ble", "cellular"],
      "power_management": {
        "wifi_idle_timeout_seconds": 180,
        "cellular_idle_timeout_seconds": 180
      }
    },
    "upload": {
      "mode": "auto",
      "streaming_enabled": true,
      "upload_delay_minutes": 5,
      "daily_data_limit_mb": 500,
      "allow_roaming": false,
      "pause_on_low_battery": true
    },
    "audio": {
      "codec": "opus",
      "sample_rate_khz": 16,
      "bitrate_kbps": 32
    },
    "power": {
      "auto_sleep_minutes": 30,
      "low_battery_threshold_percent": 20
    }
  },
  "created_at": "2025-01-15T10:30:00Z",
  "updated_at": "2025-01-15T11:00:00Z"
}

Response Fields

FieldTypeDescription
idstringDevice identifier (dev_*)
serial_numberstringPhysical serial number
modelstringDevice model (bota_pin or bota_note)
firmware_versionstring | nullCurrent firmware version
statusstringunbound or bound
end_user_idstring | nullBound end user (eu_*), null if unbound
battery_percentinteger | nullBattery level (0-100), null if no heartbeat received
storage_used_mbinteger | nullStorage used in MB
storage_total_mbinteger | nullTotal storage capacity in MB
signal_strength_dbminteger | nullSignal strength in dBm
last_heartbeat_atstring | nullLast heartbeat timestamp (ISO 8601)
recording_stateobject | nullCurrent recording state (device_state, pending_recordings, flags, connection_type[])
metadataobjectCustom key-value metadata
settingsobjectDevice settings including connection, upload, audio, and power configuration
created_atstringCreation timestamp (ISO 8601)
updated_atstringLast update timestamp (ISO 8601)