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.
Discovery Summary
Test Devices:
- Device 1:
192.0.2.11:8090(deviceID:08DF1F0BA325) - 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 (3/3):
/trackInfo- Track information/bluetoothInfo- Bluetooth information/recents- Recently played content
🔶 Partially Implemented/Different Approach
Zone Management:
/addGroup⚠️ - We use/setZonefor group management/removeGroup⚠️ - We use/setZonefor group management/getGroup⚠️ - We use/getZonefor group information/updateGroup⚠️ - We use/setZonefor group updates
❌ 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:
/setMusicServiceAccount- Configure music service account/setMusicServiceOAuthAccount- OAuth account setup/removeMusicServiceAccount- Remove music service account/serviceAvailability- Check service availability
Enhanced Presets:
/storePreset- Store new preset/removePreset- Remove existing preset/bookmark- Bookmark current content/userRating- User rating for content
Station/Radio Management:
/searchStation- Search for stations/addStation- Add station to favorites/removeStation- Remove station from favorites/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/speaker- 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/navigate- Content navigation/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/requestToken- Token management/notification- Notification management/playNotification- Play notification sound/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
- Enhanced Source Selection -
/selectLast*endpoints for better UX - Preset Management -
/storePreset,/removePreset,/selectPreset - Station Management - Radio/streaming station operations
- Music Service Integration - Account management endpoints
Phase 2: System Enhancement
- Power Management - Standby and power saving controls
- Network Management - WiFi profile and radio control
- Content Discovery - Search and navigation capabilities
- Bluetooth Enhancement - Pairing management
Phase 3: Advanced Features
- System Diagnostics - Network stats, introspection
- Update Management - Software update control
- Notification System - Notification management
- Advanced Setup - Pairing and configuration tools
Notes
Device Consistency: Both test devices expose identical endpoint lists, suggesting consistent firmware behavior across SoundTouch models.
Official vs. Real: The device exposes 84 additional endpoints beyond the 19 documented in the official API v1.0, indicating significant undocumented functionality.
Cloud Dependency: Some endpoints (especially
/marge*) may become non-functional after the May 2026 SoundTouch cloud EOL.Implementation Strategy: Focus on user-facing functionality first, then system management, finally internal/diagnostic features.
Testing Required: Each new endpoint implementation should be tested against real hardware to verify functionality and response formats.
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="08DF1F0BA325">
<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.