Sonos


Click here for a complete list of operations.

getMetadata

Test

The test form is only available for requests from the local machine.

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /Sonos.asmx HTTP/1.1
Host: sonos.jukeboxy.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.sonos.com/Services/1.1#getMetadata"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <credentials xmlns="http://www.sonos.com/Services/1.1">
      <loginToken>
        <token>string</token>
        <key>string</key>
        <householdId>string</householdId>
      </loginToken>
      <deviceId>string</deviceId>
      <deviceProvider>string</deviceProvider>
    </credentials>
  </soap:Header>
  <soap:Body>
    <getMetadata xmlns="http://www.sonos.com/Services/1.1">
      <count>int</count>
      <id>string</id>
      <index>int</index>
      <recursive>boolean</recursive>
    </getMetadata>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getMetadataResponse xmlns="http://www.sonos.com/Services/1.1">
      <getMetadataResult>
        <count>int</count>
        <index>int</index>
        <total>int</total>
        <mediaMetadata>
          <id>string</id>
          <isFavorite>boolean</isFavorite>
          <itemType>string</itemType>
          <mimeType>string</mimeType>
          <summary>string</summary>
          <title>string</title>
          <streamMetadata>
            <currentShow>string</currentShow>
            <currentShowId>string</currentShowId>
            <description>string</description>
            <isEphemeral>boolean</isEphemeral>
            <secondsRemaining>int</secondsRemaining>
            <secondsToNextShow>int</secondsToNextShow>
          </streamMetadata>
          <trackMetadata>
            <album>string</album>
            <albumArtist>string</albumArtist>
            <albumArtistId>string</albumArtistId>
            <albumArtURI>string</albumArtURI>
            <albumId>string</albumId>
            <artist>string</artist>
            <artistId>string</artistId>
            <author>string</author>
            <authorId>string</authorId>
            <book>string</book>
            <bookId>string</bookId>
            <canAddToFavorites>boolean</canAddToFavorites>
            <canPlay>boolean</canPlay>
            <canResume>boolean</canResume>
            <canSeek>boolean</canSeek>
            <canSkip>boolean</canSkip>
            <composer>string</composer>
            <composerId>string</composerId>
            <duration>int</duration>
            <genre>string</genre>
            <genreId>string</genreId>
            <narrator>string</narrator>
            <narratorId>string</narratorId>
            <rating>int</rating>
            <trackNumber>int</trackNumber>
          </trackMetadata>
        </mediaMetadata>
        <mediaMetadata>
          <id>string</id>
          <isFavorite>boolean</isFavorite>
          <itemType>string</itemType>
          <mimeType>string</mimeType>
          <summary>string</summary>
          <title>string</title>
          <streamMetadata>
            <currentShow>string</currentShow>
            <currentShowId>string</currentShowId>
            <description>string</description>
            <isEphemeral>boolean</isEphemeral>
            <secondsRemaining>int</secondsRemaining>
            <secondsToNextShow>int</secondsToNextShow>
          </streamMetadata>
          <trackMetadata>
            <album>string</album>
            <albumArtist>string</albumArtist>
            <albumArtistId>string</albumArtistId>
            <albumArtURI>string</albumArtURI>
            <albumId>string</albumId>
            <artist>string</artist>
            <artistId>string</artistId>
            <author>string</author>
            <authorId>string</authorId>
            <book>string</book>
            <bookId>string</bookId>
            <canAddToFavorites>boolean</canAddToFavorites>
            <canPlay>boolean</canPlay>
            <canResume>boolean</canResume>
            <canSeek>boolean</canSeek>
            <canSkip>boolean</canSkip>
            <composer>string</composer>
            <composerId>string</composerId>
            <duration>int</duration>
            <genre>string</genre>
            <genreId>string</genreId>
            <narrator>string</narrator>
            <narratorId>string</narratorId>
            <rating>int</rating>
            <trackNumber>int</trackNumber>
          </trackMetadata>
        </mediaMetadata>
        <mediaCollection>
          <albumArtURI>string</albumArtURI>
          <canPlay>boolean</canPlay>
          <displayType>string</displayType>
          <id>string</id>
          <itemType>string</itemType>
          <title>string</title>
          <artist>string</artist>
        </mediaCollection>
        <mediaCollection>
          <albumArtURI>string</albumArtURI>
          <canPlay>boolean</canPlay>
          <displayType>string</displayType>
          <id>string</id>
          <itemType>string</itemType>
          <title>string</title>
          <artist>string</artist>
        </mediaCollection>
      </getMetadataResult>
    </getMetadataResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /Sonos.asmx HTTP/1.1
Host: sonos.jukeboxy.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Header>
    <credentials xmlns="http://www.sonos.com/Services/1.1">
      <loginToken>
        <token>string</token>
        <key>string</key>
        <householdId>string</householdId>
      </loginToken>
      <deviceId>string</deviceId>
      <deviceProvider>string</deviceProvider>
    </credentials>
  </soap12:Header>
  <soap12:Body>
    <getMetadata xmlns="http://www.sonos.com/Services/1.1">
      <count>int</count>
      <id>string</id>
      <index>int</index>
      <recursive>boolean</recursive>
    </getMetadata>
  </soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <getMetadataResponse xmlns="http://www.sonos.com/Services/1.1">
      <getMetadataResult>
        <count>int</count>
        <index>int</index>
        <total>int</total>
        <mediaMetadata>
          <id>string</id>
          <isFavorite>boolean</isFavorite>
          <itemType>string</itemType>
          <mimeType>string</mimeType>
          <summary>string</summary>
          <title>string</title>
          <streamMetadata>
            <currentShow>string</currentShow>
            <currentShowId>string</currentShowId>
            <description>string</description>
            <isEphemeral>boolean</isEphemeral>
            <secondsRemaining>int</secondsRemaining>
            <secondsToNextShow>int</secondsToNextShow>
          </streamMetadata>
          <trackMetadata>
            <album>string</album>
            <albumArtist>string</albumArtist>
            <albumArtistId>string</albumArtistId>
            <albumArtURI>string</albumArtURI>
            <albumId>string</albumId>
            <artist>string</artist>
            <artistId>string</artistId>
            <author>string</author>
            <authorId>string</authorId>
            <book>string</book>
            <bookId>string</bookId>
            <canAddToFavorites>boolean</canAddToFavorites>
            <canPlay>boolean</canPlay>
            <canResume>boolean</canResume>
            <canSeek>boolean</canSeek>
            <canSkip>boolean</canSkip>
            <composer>string</composer>
            <composerId>string</composerId>
            <duration>int</duration>
            <genre>string</genre>
            <genreId>string</genreId>
            <narrator>string</narrator>
            <narratorId>string</narratorId>
            <rating>int</rating>
            <trackNumber>int</trackNumber>
          </trackMetadata>
        </mediaMetadata>
        <mediaMetadata>
          <id>string</id>
          <isFavorite>boolean</isFavorite>
          <itemType>string</itemType>
          <mimeType>string</mimeType>
          <summary>string</summary>
          <title>string</title>
          <streamMetadata>
            <currentShow>string</currentShow>
            <currentShowId>string</currentShowId>
            <description>string</description>
            <isEphemeral>boolean</isEphemeral>
            <secondsRemaining>int</secondsRemaining>
            <secondsToNextShow>int</secondsToNextShow>
          </streamMetadata>
          <trackMetadata>
            <album>string</album>
            <albumArtist>string</albumArtist>
            <albumArtistId>string</albumArtistId>
            <albumArtURI>string</albumArtURI>
            <albumId>string</albumId>
            <artist>string</artist>
            <artistId>string</artistId>
            <author>string</author>
            <authorId>string</authorId>
            <book>string</book>
            <bookId>string</bookId>
            <canAddToFavorites>boolean</canAddToFavorites>
            <canPlay>boolean</canPlay>
            <canResume>boolean</canResume>
            <canSeek>boolean</canSeek>
            <canSkip>boolean</canSkip>
            <composer>string</composer>
            <composerId>string</composerId>
            <duration>int</duration>
            <genre>string</genre>
            <genreId>string</genreId>
            <narrator>string</narrator>
            <narratorId>string</narratorId>
            <rating>int</rating>
            <trackNumber>int</trackNumber>
          </trackMetadata>
        </mediaMetadata>
        <mediaCollection>
          <albumArtURI>string</albumArtURI>
          <canPlay>boolean</canPlay>
          <displayType>string</displayType>
          <id>string</id>
          <itemType>string</itemType>
          <title>string</title>
          <artist>string</artist>
        </mediaCollection>
        <mediaCollection>
          <albumArtURI>string</albumArtURI>
          <canPlay>boolean</canPlay>
          <displayType>string</displayType>
          <id>string</id>
          <itemType>string</itemType>
          <title>string</title>
          <artist>string</artist>
        </mediaCollection>
      </getMetadataResult>
    </getMetadataResponse>
  </soap12:Body>
</soap12:Envelope>