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.
See also: API Route Layout and Refactoring Plan - how these cloud-emulation routes are classified (frozen speaker contract vs our own movable surface) and the planned API consolidation toward a single binary.
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.