---
title: "SoundTouch API Comparison: Community Wiki vs Current Implementation"
---
**Date:** January 2026
**Source:** [SoundTouch Plus Wiki](https://github.com/thlucas1/homeassistantcomponent_soundtouchplus/wiki/SoundTouch-WebServices-API)
**Our Implementation:** Bose-SoundTouch Go Library v1.0

## Executive Summary

The SoundTouch Plus community wiki documents **87 distinct API endpoints** with comprehensive examples, while our current implementation covers **23 endpoints**. This represents a significant opportunity to expand our API coverage from basic functionality to comprehensive SoundTouch ecosystem management.

### Key Findings
- 📊 **Wiki Coverage**: 87 endpoints documented with real-world examples
- 📊 **Our Coverage**: 23 endpoints implemented (26% of wiki coverage)
- 🎯 **Gap**: 64 additional endpoints available for implementation
- ⭐ **Quality**: Wiki provides production-ready XML examples and device-specific notes

---

## Implementation Status Matrix

### ✅ Already Implemented (23 endpoints)

| Endpoint                     | Wiki Status  | Our Status | Notes                             |
|------------------------------|--------------|------------|-----------------------------------|
| `/info`                      | ✅ Documented | ✅ Complete | Device information                |
| `/now_playing`               | ✅ Documented | ✅ Complete | Current playback status           |
| `/key`                       | ✅ Documented | ✅ Complete | Key press/release simulation      |
| `/volume`                    | ✅ Documented | ✅ Complete | Volume and mute control           |
| `/bass`                      | ✅ Documented | ✅ Complete | Bass level control                |
| `/bassCapabilities`          | ✅ Documented | ✅ Complete | Bass capability detection         |
| `/sources`                   | ✅ Documented | ✅ Complete | Available audio sources           |
| `/select`                    | ✅ Documented | ✅ Complete | Source selection                  |
| `/presets`                   | ✅ Documented | ✅ Complete | Preset configurations (read-only) |
| `/getZone`                   | ✅ Documented | ✅ Complete | Zone status and membership        |
| `/setZone`                   | ✅ Documented | ✅ Complete | Zone creation and management      |
| `/addZoneSlave`              | ✅ Documented | ✅ Complete | Add device to zone                |
| `/removeZoneSlave`           | ✅ Documented | ✅ Complete | Remove device from zone           |
| `/capabilities`              | ✅ Documented | ✅ Complete | Device feature capabilities       |
| `/audiodspcontrols`          | ✅ Documented | ✅ Complete | Audio DSP modes and video sync    |
| `/audioproducttonecontrols`  | ✅ Documented | ✅ Complete | Advanced bass/treble controls     |
| `/audioproductlevelcontrols` | ✅ Documented | ✅ Complete | Speaker level controls            |
| `/name` (GET/POST)           | ✅ Documented | ✅ Complete | Device name management            |
| `/balance`                   | ✅ Documented | ✅ Complete | Stereo balance control            |
| `/clockTime`                 | ✅ Documented | ✅ Complete | Device time management            |
| `/clockDisplay`              | ✅ Documented | ✅ Complete | Clock display settings            |
| `/networkInfo`               | ✅ Documented | ✅ Complete | Network connectivity info         |
| `/requestToken`              | ✅ Documented | ✅ Complete | Bearer token generation           |

### 🔥 High Priority Missing (20 endpoints)

| Endpoint                     | Wiki Status | Priority | Use Case                           |
|------------------------------|-------------|----------|------------------------------------|
| `/storePreset`               | ✅ Detailed  | **HIGH** | Save stations/playlists to presets |
| `/removePreset`              | ✅ Detailed  | **HIGH** | Delete saved presets               |
| `/selectPreset`              | ✅ Detailed  | **HIGH** | Play preset by ID                  |
| `/setMusicServiceAccount`    | ✅ Detailed  | **HIGH** | Add Spotify/Pandora accounts       |
| `/removeMusicServiceAccount` | ✅ Detailed  | **HIGH** | Remove music service accounts      |
| `/searchStation`             | ✅ Detailed  | **HIGH** | Find Pandora/Spotify content       |
| `/addStation`                | ✅ Detailed  | **HIGH** | Add stations to favorites          |
| `/removeStation`             | ✅ Detailed  | **HIGH** | Remove stations from favorites     |
| `/navigate`                  | ✅ Detailed  | **HIGH** | Browse music libraries/services    |
| `/search`                    | ✅ Detailed  | **HIGH** | Search music content               |
| `/userPlayControl`           | ✅ Detailed  | **HIGH** | Play/pause/stop controls           |
| `/userRating`                | ✅ Detailed  | **HIGH** | Thumbs up/down ratings             |
| `/recents`                   | ✅ Detailed  | **HIGH** | Recently played content            |
| `/standby`                   | ✅ Detailed  | **HIGH** | Power management                   |
| `/powerManagement`           | ✅ Detailed  | **HIGH** | Power state information            |
| `/lowPowerStandby`           | ✅ Detailed  | **HIGH** | Low-power mode                     |
| `/listMediaServers`          | ✅ Detailed  | **HIGH** | UPnP/DLNA server discovery         |
| `/serviceAvailability`       | ✅ Detailed  | **HIGH** | Source availability status         |
| `/introspect`                | ✅ Detailed  | **HIGH** | Music service account status       |
| `/language`                  | ✅ Detailed  | **HIGH** | Device language settings           |

### 🎵 Music Service Management (12 endpoints)

| Category               | Endpoints                                               | Wiki Coverage       | Notes                           |
|------------------------|---------------------------------------------------------|---------------------|---------------------------------|
| **Account Management** | `/setMusicServiceAccount`, `/removeMusicServiceAccount` | ✅ Full XML examples | Pandora, Spotify, NAS setup     |
| **Station Management** | `/searchStation`, `/addStation`, `/removeStation`       | ✅ Pandora tested    | Station discovery and favorites |
| **Content Navigation** | `/navigate`, `/search`                                  | ✅ Detailed examples | Music library browsing          |
| **Track Information**  | `/trackInfo`, `/introspect`                             | ✅ Service-specific  | Extended metadata               |

### 🏠 Smart Home Integration (15 endpoints)

| Category               | Endpoints                                                                        | Wiki Coverage      | Notes                        |
|------------------------|----------------------------------------------------------------------------------|--------------------|------------------------------|
| **Notifications**      | `/speaker`, `/playNotification`                                                  | ✅ TTS examples     | Text-to-speech, URL playback |
| **Power Management**   | `/standby`, `/powerManagement`, `/lowPowerStandby`                               | ✅ Complete         | Smart home automation        |
| **Network Management** | `/performWirelessSiteSurvey`, `/addWirelessProfile`, `/getActiveWirelessProfile` | ✅ WiFi setup       | Network configuration        |
| **Bluetooth**          | `/enterBluetoothPairing`, `/clearBluetoothPaired`, `/bluetoothInfo`              | ✅ Pairing control  | Bluetooth management         |
| **Source Control**     | `/selectLastSource`, `/selectLastSoundTouchSource`, `/selectLocalSource`         | ✅ Source switching | Quick source access          |

### 📱 Advanced Device Features (19 endpoints)

| Category             | Endpoints                                                                     | Wiki Coverage       | Notes                   |
|----------------------|-------------------------------------------------------------------------------|---------------------|-------------------------|
| **Stereo Pairs**     | `/getGroup`, `/addGroup`, `/removeGroup`, `/updateGroup`                      | ✅ ST-10 specific    | L/R speaker pairing     |
| **System Info**      | `/soundTouchConfigurationStatus`, `/systemtimeout`, `/rebroadcastlatencymode` | ✅ Configuration     | Device state management |
| **Software Updates** | `/swUpdateCheck`, `/swUpdateQuery`, `/swUpdateAbort`, `/swUpdateStart`        | ✅ Update process    | Firmware management     |
| **Audio Processing** | `/DSPMonoStereo`, `/audiospeakerattributeandsetting`                          | ✅ Hardware-specific | Advanced audio features |

---

## Wiki Documentation Quality Analysis

### 🌟 Exceptional Documentation Quality

**Real-World Examples:**
- ✅ Complete XML request/response examples
- ✅ Device-specific behavior notes (ST-10 vs ST-300)
- ✅ Error conditions and troubleshooting
- ✅ WebSocket event generation documentation
- ✅ Service-specific requirements (Pandora Premium, etc.)

**Production-Ready Details:**
```xml
<!-- Example from wiki - POST /storePreset -->
<preset id="3" createdOn="1701220500" updatedOn="1701220500">
  <ContentItem source="TUNEIN" type="stationurl" location="/v1/playback/station/s309605" sourceAccount="" isPresetable="true">
    <itemName>K-LOVE 90s</itemName>
    <containerArt>http://cdn-profiles.tunein.com/s309605/images/logog.png</containerArt>
  </ContentItem>
</preset>
```

**Device Compatibility Matrix:**
- ST-10: Supports notifications, stereo pairing
- ST-300: Supports advanced audio controls, HDMI
- All devices: Support basic playback and zone management

### 🎯 Implementation Guidance

**Safety Notes from Wiki:**
- Volume limits: Devices auto-limit 10-70 for notifications
- Timeout handling: Some endpoints timeout on unsupported devices
- State requirements: Certain operations require specific device states

**WebSocket Events Documented:**
- `presetsUpdated` - Preset changes
- `groupUpdated` - Stereo pair changes
- `zoneUpdated` - Multi-room changes
- `nowPlayingUpdated` - Source/playback changes
- `volumeUpdated` - Volume/mute changes
- `audiodspcontrols` - Audio mode changes

---

## Implementation Roadmap

### Phase 1: Essential Missing Features (High Impact)
**Target: 20 endpoints in 4 weeks**

```go
// Preset Management
func (c *Client) StorePreset(id int, content ContentItem) error
func (c *Client) RemovePreset(id int) error
func (c *Client) SelectPreset(id int) error

// Music Service Setup
func (c *Client) SetMusicServiceAccount(source, user, pass string) error
func (c *Client) RemoveMusicServiceAccount(source, user string) error

// Content Discovery
func (c *Client) NavigateLibrary(source, account string, startItem, numItems int) (*NavigateResponse, error)
func (c *Client) SearchContent(source, account, term string) (*SearchResponse, error)

// Power Management
func (c *Client) Standby() error
func (c *Client) GetPowerState() (*PowerState, error)
```

### Phase 2: Smart Home Integration (Medium Impact)
**Target: 15 endpoints in 3 weeks**

```go
// Notification System
func (c *Client) PlayTTSMessage(message string, volume int) error
func (c *Client) PlayURL(url string, volume int) error

// Network Management
func (c *Client) PerformWiFiSurvey() (*WiFiNetworks, error)
func (c *Client) AddWiFiProfile(ssid, password, securityType string) error

// Enhanced Controls
func (c *Client) SendPlayControl(action PlayControlAction) error
func (c *Client) RateCurrentTrack(rating RatingValue) error
```

### Phase 3: Advanced Features (Lower Impact)
**Target: 19 endpoints in 4 weeks**

```go
// Stereo Pair Management
func (c *Client) CreateStereoPair(leftIP, rightIP string, name string) error
func (c *Client) GetStereoPairStatus() (*StereoPair, error)

// System Management
func (c *Client) CheckSoftwareUpdate() (*UpdateInfo, error)
func (c *Client) GetSystemTimeout() (*TimeoutConfig, error)
```

---

## Integration Benefits

### 🏆 Complete Ecosystem Support
- **Music Services**: Full Spotify, Pandora, NAS integration
- **Smart Home**: Power, notifications, network management
- **Professional**: Advanced audio controls, system configuration

### 🔧 Developer Experience
- **Comprehensive Examples**: Wiki provides copy-paste XML structures
- **Error Handling**: Well-documented failure modes and recovery
- **Device Compatibility**: Clear hardware-specific feature matrix

### 📈 Use Case Expansion
- **Home Automation**: Complete power and network control
- **Music Management**: Full playlist and station management
- **Professional Audio**: Advanced DSP and speaker configuration
- **System Administration**: Update management and configuration

---

## Technical Implementation Notes

### Request/Response Patterns from Wiki

**Standard Success Response:**
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<status>/endpointName</status>
```

**Complex Response Example (from `/navigate`):**
```xml
<navigateResponse source="STORED_MUSIC" sourceAccount="guid/0">
  <totalItems>10</totalItems>
  <items>
    <item Playable="1">
      <name>Album Artists</name>
      <type>dir</type>
      <ContentItem source="STORED_MUSIC" location="107" sourceAccount="guid/0" isPresetable="true">
        <itemName>Album Artists</itemName>
      </ContentItem>
    </item>
  </items>
</navigateResponse>
```

### Error Handling Patterns

**Device Compatibility:**
```go
// Check capabilities before calling advanced features
capabilities, err := client.GetCapabilities()
if err != nil {
    return err
}

if !capabilities.SupportsAudioDSPControls {
    return ErrFeatureNotSupported
}
```

### WebSocket Event Integration
Each POST endpoint maps to specific WebSocket events that our existing event system can handle:

```go
// Extend existing event system
type WebSocketEvent struct {
    PresetUpdated    *PresetsUpdate    `xml:"presetsUpdated"`
    GroupUpdated     *GroupUpdate      `xml:"groupUpdated"`
    // Add new event types...
}
```

---

## Conclusion

The SoundTouch Plus Wiki represents a **treasure trove** of production-ready API documentation that can transform our library from basic device control to comprehensive SoundTouch ecosystem management.

### Key Opportunities:
- 🎯 **3x Coverage Expansion**: From 23 to 87+ endpoints
- 🏠 **Smart Home Ready**: Complete automation integration
- 🎵 **Music Service Integration**: Full streaming service support
- 📱 **Professional Features**: Advanced audio and system control
- ✅ **Production Ready**: Real-world tested examples and error handling

### Immediate Next Steps:
1. **Phase 1 Implementation**: Focus on preset management and music services (high user impact)
2. **Test Infrastructure**: Set up automated testing against real devices
3. **Documentation**: Integrate wiki examples into our API documentation
4. **Community Engagement**: Collaborate with SoundTouch Plus project for mutual benefit

**This wiki documentation provides everything needed to implement a complete, production-ready SoundTouch API library that rivals official Bose applications in functionality.**

---

*Note: All endpoints documented in the wiki are tested against real hardware. Device-specific limitations are clearly documented with compatibility matrices for ST-10, ST-300, and other SoundTouch models.*
