Skip to content
SoundTouch supportedURLs Endpoint Analysis

SoundTouch supportedURLs Endpoint Analysis

This document provides a comprehensive analysis of the /supportedURLs endpoint response from real Bose SoundTouch devices and compares it with our current implementation.

Reconciliation note (June 2026). The categorised lists below had drifted from pkg/client. Verified against the code, these are implemented and have been re-marked (some were wrongly under “Not Yet Implemented”, and a few were listed twice): the music-service set (setMusicServiceAccount, setMusicServiceOAuthAccount, removeMusicServiceAccount, serviceAvailability), presets (storePreset, removePreset), stations (searchStation, addStation, removeStation), navigate, the native stereo-pair group set (getGroup, addGroup, removeGroup, updateGroup), speaker, playNotification, requestToken, notification. Still not implemented (confirmed absent from pkg/client): search, standby, powerManagement, lowPowerStandby, language, listMediaServers, bluetoothInfo, userPlayControl, and the wireless / bluetooth-pairing / software-update / source-shortcut families.

Discovery Summary

Test Devices:

  • Device 1: 192.0.2.11:8090 (deviceID: AABBCCDDEE01)
  • Device 2: 192.0.2.10:8090 (deviceID: AABBCCDDEEFF)

Key Findings:

  • Both devices return identical endpoint lists
  • 103 total endpoints discovered
  • ~35 currently implemented in this Go library (34%)
  • 68 additional endpoints available for future implementation

Endpoint Categories

✅ Fully Implemented (Core Functionality)

Device Information (5/5):

  • /info - Device information
  • /capabilities - Device capabilities
  • /supportedURLs - Supported endpoints list
  • /networkInfo - Network configuration
  • /name - Device name management

Playback Control (3/3):

  • /nowPlaying - Current playback status
  • /now_playing - Alternative current playback endpoint
  • /key - Send key commands

Volume & Audio (4/4):

  • /volume - Volume control
  • /bass - Bass settings
  • /bassCapabilities - Bass capability information
  • /balance - Stereo balance

Source Management (2/2):

  • /sources - Available sources
  • /select - Select source/content

Preset Management (1/2):

  • /presets - Get presets ✅ Complete
  • /storePreset - Store/update presets ✅ Complete (reverse-engineered)
  • /removePreset - Remove presets ✅ Complete (reverse-engineered)

Zone/Multiroom (4/4):

  • /getZone - Get zone configuration
  • /setZone - Set zone configuration
  • /addZoneSlave - Add device to zone
  • /removeZoneSlave - Remove device from zone

Clock & Display (2/2):

  • /clockDisplay - Clock display settings
  • /clockTime - Device time management

Advanced Audio (3/3):

  • /audiodspcontrols - DSP settings (capability-dependent)
  • /audioproducttonecontrols - Advanced tone controls (capability-dependent)
  • /audioproductlevelcontrols - Speaker level controls (capability-dependent)

System Info (1/3):

  • /recents - Recently played content ✅
  • /trackInfo - Track information ❌ non-functional on real devices (use /now_playing)
  • /bluetoothInfo - Bluetooth information ❌ not implemented in pkg/client

✅ Stereo-Pair Group Management (native)

Implemented natively in pkg/client (in addition to the /setZone multiroom path):

  • /addGroup ✅ - AddGroup()
  • /removeGroup ✅ - RemoveGroup()
  • /getGroup ✅ - GetGroup()
  • /updateGroup ✅ - UpdateGroup()

❌ Not Yet Implemented (High Priority)

Enhanced Playback Control:

  • /nowSelection - Current selection details
  • /playbackRequest - Advanced playback requests
  • /userPlayControl - User play control interface
  • /userTrackControl - User track control interface
  • /selectPreset - Select preset by ID

Source Enhancement:

  • /sourceDiscoveryStatus - Source discovery status
  • /nameSource - Name/rename sources
  • /selectLastSource - Select last used source
  • /selectLastWiFiSource - Select last WiFi source
  • /selectLastSoundTouchSource - Select last SoundTouch source
  • /selectLocalSource - Select local source

Music Services Integration: ✅ implemented (moved out of this list)

  • /setMusicServiceAccountSetMusicServiceAccount()
  • /setMusicServiceOAuthAccountSetMusicServiceOAuthAccount()
  • /removeMusicServiceAccountRemoveMusicServiceAccount()
  • /serviceAvailabilityGetServiceAvailability()

Enhanced Presets:

  • /storePresetStorePreset() (also listed under Fully Implemented)
  • /removePresetRemovePreset()
  • /bookmark - Bookmark current content
  • /userRating - User rating for content

Station/Radio Management:

  • /searchStationSearchStation()
  • /addStationAddStation()
  • /removeStationRemoveStation()
  • /genreStations - Browse stations by genre
  • /stationInfo - Station information

❌ Not Yet Implemented (Medium Priority)

System Configuration:

  • /powerManagement - Power management settings
  • /standby - Standby mode control
  • /lowPowerStandby - Low power standby mode
  • /systemtimeout - System timeout settings
  • /powersaving - Power saving configuration
  • /language - Language settings
  • /speakerPlayTTS() / PlayURL() (TTS & URL notifications; not “speaker configuration”)

Network & Connectivity:

  • /performWirelessSiteSurvey - WiFi site survey
  • /addWirelessProfile - Add WiFi profile
  • /getActiveWirelessProfile - Get active WiFi profile
  • /setWiFiRadio - WiFi radio control

Bluetooth Enhancement:

  • /enterBluetoothPairing - Enter Bluetooth pairing mode
  • /clearBluetoothPaired - Clear Bluetooth pairings

Content Discovery:

  • /search - Content search
  • /navigateNavigate()
  • /listMediaServers - List available media servers

❌ Not Yet Implemented (Low Priority)

Pairing & Setup:

  • /pairLightswitch - Pair with lightswitch accessory
  • /cancelPairLightswitch - Cancel lightswitch pairing
  • /clearPairedList - Clear all pairings
  • /enterPairingMode - Enter general pairing mode
  • /setPairedStatus - Set pairing status
  • /setPairingStatus - Update pairing status
  • /soundTouchConfigurationStatus - Configuration status
  • /setup - Device setup interface

Software Updates:

  • /swUpdateStart - Start software update
  • /swUpdateAbort - Abort software update
  • /swUpdateQuery - Query update status
  • /swUpdateCheck - Check for updates

System Utilities:

  • /userActivity - User activity tracking
  • /requestTokenRequestToken()
  • /notificationNotifySourcesUpdated()
  • /playNotificationPlayNotification()
  • /introspect - System introspection
  • /test - System test interface

Internal/Advanced:

  • /pdo - Internal PDO operations
  • /slaveMsg - Slave device messaging
  • /masterMsg - Master device messaging
  • /factoryDefault - Factory reset
  • /criticalError - Critical error handling
  • /netStats - Network statistics
  • /rebroadcastlatencymode - Rebroadcast latency mode
  • /getBCOReset - Get BCO reset status
  • /setBCOReset - Set BCO reset

Product Management:

  • /setProductSerialNumber - Set product serial number
  • /setProductSoftwareVersion - Set software version
  • /setComponentSoftwareVersion - Set component versions

Cloud Integration (EOL May 2026):

  • /marge - Marge service integration
  • /setMargeAccount - Set Marge account
  • /pushCustomerSupportInfoToMarge - Push support info to cloud

Enhanced DSP (Device Dependent):

  • /DSPMonoStereo - DSP mono/stereo settings

Implementation Recommendations

Phase 1: High-Value User Features

  1. Enhanced Source Selection - /selectLast* endpoints for better UX
  2. Preset Management - /storePreset, /removePreset, /selectPreset
  3. Station Management - Radio/streaming station operations
  4. Music Service Integration - Account management endpoints

Phase 2: System Enhancement

  1. Power Management - Standby and power saving controls
  2. Network Management - WiFi profile and radio control
  3. Content Discovery - Search and navigation capabilities
  4. Bluetooth Enhancement - Pairing management

Phase 3: Advanced Features

  1. System Diagnostics - Network stats, introspection
  2. Update Management - Software update control
  3. Notification System - Notification management
  4. Advanced Setup - Pairing and configuration tools

Notes

  1. Device Consistency: Both test devices expose identical endpoint lists, suggesting consistent firmware behavior across SoundTouch models.

  2. Official vs. Real: The device exposes 84 additional endpoints beyond the 19 documented in the official API v1.0, indicating significant undocumented functionality.

  3. Cloud Dependency: Some endpoints (especially /marge*) may become non-functional after the May 2026 SoundTouch cloud EOL.

  4. Implementation Strategy: Focus on user-facing functionality first, then system management, finally internal/diagnostic features.

  5. Testing Required: Each new endpoint implementation should be tested against real hardware to verify functionality and response formats.

  6. Documentation Gap: Many endpoints lack official documentation, requiring reverse engineering through testing.

Raw Device Response

Device Count: 103 unique endpoints Response Format: XML with URL location attributes Common Pattern: Most endpoints support both GET (query) and POST (modify) operations

Example Response Structure:

<?xml version="1.0" encoding="UTF-8" ?>
<supportedURLs deviceID="AABBCCDDEE01">
    <URL location="/info" />
    <URL location="/capabilities" />
    <!-- ... 101 additional endpoints ... -->
</supportedURLs>

This analysis provides a roadmap for expanding the Go library’s API coverage from 34% to potentially 100% of available device functionality.

Last updated on