Add capabilities

Capabilities turn on specific Sonos features. To enable a capability, select it on one of the pages below:

  • In your integration Sandbox when you’re testing your service integration. See Test your service for details.
  • In the Integration Submission form when you submit your service for validation. This indicates that you want to support this capability on all Sonos players that use your service.

The table below lists the capabilities with a description and the SMAPI requests that Sonos players and your service will use once the capability has been turned on.

CapabilityDescriptionSMAPI Methods
Extended Metadata (More Menu, Info & Options)This is required.

Extended Metadata enables Sonos listeners to perform actions on certain item types to get more information about content such as album notes, artist biographies, and other information that your service can offer to enhance the browsing experience. See Add actions for details.
getExtendedMetadataText
getExtendedMetadata
Extended Metadata for playlists to support Info View.

Requires Extended Metadata Capability.
Enables Sonos listeners to perform actions to get more information about playlist item types. This can include information like album notes, artist biographies, or related browse items. This requires that you also enable the Extended Metadata capability. See Add actions for details.

You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details.
getExtendedMetadata
Extended Metadata for radios (“program”) and streams (“stream”) to support Info View.

Requires Extended Metadata Capability.
Enables Sonos listeners to perform actions to get more information about program and stream item types, such as album notes, artist biographies, and other information that your service can offer to enhance the browsing experience. This requires that you also enable the Extended Metadata capability. See Add actions for details.

You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details.
getExtendedMetadata
Disable Alarm SupportSelecting this will prevent content from your service from being used as a Sonos alarm. This is useful if you have transient streams (such as live events, limited-edition content, and others).
Disable Multiple Account SupportSelecting this prevents multiple users from associating their own account to a Sonos household. Instead, only one user account from your service will be able to be associated with a Sonos household. We encourage you to leave this on for the best customer experience, so that different user accounts can use your service in the same Sonos household.

You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details.
Enable userInfoEnables players to send getUserInfo requests.

You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details.
getUserInfo
Include SMAPI context headers with all requestsSonos will include a context element within the SOAP header, for example, to send time zone information to your service. See SOAP requests and responses for details.
Include Zone Player IDs in credentials headerSonos will include the Sonos player ID for the player sending the request in a zonePlayerId sub-element of the credentials element in the SOAP header. See SOAP requests and responses for details.
Requires authorization headerSends OAuth token in the HTTP Authorization header. Sonos does not send OAuth token and refresh key in the SOAP credentials header element. Token refresh flow requires that you return a 401 response to Sonos. Sonos then calls refreshAuthToken. See Use authentication tokens for details.

You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details.
refreshAuthToken
Requires Device CertificateSonos will include a deviceCert sub-element of the credentials element in the SOAP header. See SOAP requests and responses for details.getMediaURI
getContentKey
SearchEnables the ability for users to search your service. If your service offers this capability, enabling this will allow users to search for content via the Sonos app. If you enable this capability, you must also use a presentation map. See Add search for details.getMetadata
search
Support the ability to receive implicit or explicit actions (implicit/explicit) for getMediaURI requestsAn action is:

- Explicit if the track is playing based on an action initiated by a user, for example, when a user clicks play, seek, skip forward, or skip back.
- Implicit if the track is playing automatically as it is the next in the queue.
getMediaURI
Support content filteringEnables the ability for listeners to filter content on Sonos for your service. Sonos will include a contentFiltering element within the context element in SOAP request headers when users have chosen to filter content. See Tag & filter explicit content for details.

You need to contact your Solutions Architect to enable this capability in production, but you can develop and test by using your integration sandbox. See Test your servicefor details.
User Content PlaylistsEnables Playlist Editing in Sonos firmware. If your service offers this capability, enabling this will allow users to create, update, and delete playlists via the Sonos app. See Add playlists for details.createContainer
deleteContainer
renameContainer
addToContainer
reorderContainer
removeFromContainer
Account LoggingThis is deprecated.
See Add reporting for details.

Enables account reporting in Sonos firmware. Every time an account is added to your service from a Sonos app, a report message will be sent to your service.
reportAccountAction
Add play context to reportingThis is deprecated.
See Add reporting for details.

Sonos will include a contextId element with every setPlayedSeconds, reportPlayStatus, and reportPlaySeconds request.
setPlayedSeconds
reportPlayStatus
reportPlaySeconds
Favorites: Adding/Removing AlbumsThis is deprecated.
See Add favorites for details.

Enables album favoriting in Sonos firmware. If your service offers this capability, enabling this will allow users to add albums to their favorites folder via the Sonos app.
createItem
deleteItem
Favorites: Adding/Removing TracksThis is deprecated.
See Add favorites for details.

Enables track favoriting in Sonos firmware. If your service offers this capability, enabling this will allow users to add tracks to their favorites folder via the Sonos app.
createItem
deleteItem
Playback duration logging at track endThis is deprecated.
See Add reporting for details.

Enables track playback reporting when the track has finished playing. Your SMAPI service can use this to gather playback data.
setPlayedSeconds
Playback event logging during track playThis is deprecated.
See Add reporting for details.

Enables track playback reporting while the track is currently playing. When playback is started, the seconds value is 0. On successive calls, it is the current number of seconds played since the beginning of playback. The SOAP response returns a value of how many seconds should elapse before the next report. A value of 0 indicates that no reporting should be issued after the track begins playing. Your SMAPI Service will typically use this to gather more granular playback information in the event partial playback triggers royalties or some other licensing condition.
reportPlaySeconds
reportPlayStatus