Capabilities turn on specific Sonos features. To enable a capability, select it on one of the pages below:
- On the custom SD page for a player when you’re developing your service integration. See Test your service for details.
- In the integration manager 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.
Capability | Description | SMAPI Methods |
---|---|---|
Search | Enables 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") search |
Favorites: Adding/Removing Tracks | This 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 |
Favorites: Adding/Removing Albums | This 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 |
User Content Playlists | Enables 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 |
Playback duration logging at track end | This 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 play | This is deprecated. See Add reporting for details.
Enables track playback reporting while the track is currently playing. When playback is started, the |
reportPlaySeconds reportPlayStatus |
Account Logging | This 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 |
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. |
getExtendedMetadata getExtendedMetadataText |
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 developer advocate to enable this capability in production, but you can develop and test by using customSD. See Test your service for details. |
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 developer advocate to enable this capability in production, but you can develop and test by using customSD. See Test your service for details. |
getExtendedMetadata |
Disable Alarm Support | Selecting 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 Support | Selecting 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 developer advocate to enable this capability in production, but you can develop and test by using customSD. See Test your service for details. |
|
Support the ability to receive implicit or explicit actions (implicit/explicit) for getMediaURI requests |
An action is:
|
|
Include SMAPI context headers with all requests | Sonos 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. |
|
Requires Device Certificate | Sonos will include a deviceCert sub-element of the credentials element in the SOAP header. See SOAP requests and responses for details. |
getMediaURI getContentKey |
Include Zone Player IDs in credentials header | Sonos 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. |
|
Add play context to reporting | This is deprecated. See Add reporting for details.
Sonos will include a |
setPlayedSeconds reportPlayStatus reportPlaySeconds |
Enable userInfo |
Enables players to send getUserInfo requests.
You need to contact your developer advocate to enable this capability in production, but you can develop and test by using customSD. See Test your service for details. |
|
Support content filtering | Enables 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 and filter explicit content for details.
You need to contact your developer advocate to enable this capability in production, but you can develop and test by using customSD. See Test your service for details. |
|
Support manifest file | Enables your service to use a manifest file. See Add reporting, Add podcasts, and Add programmed radio for usage.
You need to contact your developer advocate to enable this capability in production, but you can develop and test by using customSD. See Test your service for details. |
|
Requires authorization header | Sends 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 developer advocate to enable this capability in production, but you can develop and test by using customSD. See Test your service for details. |
refreshAuthToken |