Bose SoundTouch Toolkit

Documentation for controlling and preserving Bose SoundTouch devices

View the Project on GitHub gesellix/Bose-SoundTouch

Bose SoundTouch Cloud API Emulation (Marge/BMX/Stats)

This document describes the cloud-emulation APIs provided by the SoundTouch service. These APIs mimic the Bose cloud services (Marge, BMX, Stats) that SoundTouch devices and the SoundTouch controller application (Stockholm) interact with.

Marge API (Account & Configuration)

Base path: /marge

GET /streaming/sourceproviders

Retrieves a list of available streaming source providers.

GET /accounts/{accountId}/full

Retrieves the full account configuration including sources, presets, and devices.

GET /streaming/account/{accountId}/emailaddress

Retrieves the email address associated with the account.

GET /streaming/device_setting/account/{accountId}/device/{deviceId}/device_settings

Retrieves settings for a specific device (e.g., clock format).

POST /streaming/device_setting/account/{accountId}/device/{deviceId}/device_settings

Updates settings for a specific device.

POST /accounts/{accountId}/devices/{deviceId}/presets/{presetNumber}

Updates a preset for a device.

POST /accounts/{accountId}/devices/{deviceId}/recents

Adds an item to the device’s recently played history.

POST /accounts/{accountId}/devices

Adds a device to the account.

DELETE /accounts/{accountId}/devices/{deviceId}

Removes a device from the account.

Customer API (Profile & Password)

Base path: /customer

GET /account/{accountId}

Retrieves the customer account profile.

POST /account/{accountId}

Updates the customer account profile.

POST /account/{accountId}/password

Changes the account password.

Analytics & Stats API

Base path: /v1 (App Events) or /streaming/stats (Device Stats)

POST /v1/stapp/{deviceId}

Endpoint called by Bose SoundTouch mobile and web applications (Stockholm) to submit event data.

POST /v1/scmudc/{deviceId}

Endpoint equivalent to /v1/stapp/{deviceId} sometimes used by apps or devices.

POST /streaming/stats/usage

Endpoint used by physical devices to report usage statistics.

POST /streaming/stats/error

Endpoint used by physical devices to report error statistics.

BMX API (Streaming & Registry)

Base path: /bmx

GET /registry/v1/services

Retrieves the registry of available streaming services.

GET /tunein/v1/playback/station/{stationID}

Retrieves playback information for a TuneIn station.