---
title: "skipToItem"
method: POST
path: "/playbackSessions/{sessionId}/playbackSession/skipToItem"
tags: ["playbackSession"]
---

# skipToItem

`POST /playbackSessions/{sessionId}/playbackSession/skipToItem`

Use the skipToItem command in the playbackSession namespace to skip to the track with the specified itemId in a cloud queue and optionally seek and initiate playback. This command requires your app to have either created a new session or joined an existing session, and also loaded a cloud queue on the group with loadCloudQueue.

 Use playOnCompletion to start playing the cloud queue item being loaded, so your app doesn’t have to send an extra play command.

 Most of the times your app already has access to the track metadata of the cloud queue item that is being loaded. Use the optional trackMetadata parameter to provide that information so the group can start playing the track immediately after receiving the loadCloudQueue command. This optimization improves the user experience by starting playback before the player fetches tracks from the cloud queue server.

## Request body

- object
  - `itemId` string, required — The identifier for the track. This is required, but does not need to be a value. If it is an empty string, the group will skip to the beginning of the queue.
  - `queueVersion` string, nullable — (Optional) An opaque identifier used to indicate the change state of the contents in the cloud queue. For example, if the list of tracks in the cloud queue change, the cloud queue server would change the queueVersion. The player stores this value and can pass it back in the GET /itemWindow request.
  - `positionMillis` integer, nullable — (Optional) Position within track in milliseconds. If you omit this parameter and send a different itemId than the one that is currently playing, the player assumes that the positionMillis is zero. If you omit this parameter and send the itemId that is currently playing, the player does not change the position, and continues playing.
  - `playOnCompletion` boolean, nullable — (Optional) Start playback after loading.
  - `trackMetadata` Track — No description available
    - `type` string, nullable — No description available
    - `name` string, nullable — This parameter will be ignored for local library tracks on load commands (e.g., loadTrackList).
    - `mediaUrl` string, nullable — No description available
    - `imageUrl` string, nullable — Replaced by the `images` parameter.
    - `contentType` string, nullable — No description available
    - `album` Album — No description available
      - `name` string, required — No description available
      - `artist` Artist — No description available
        - `name` string, required — No description available
        - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
          - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
          - `objectId` string, required — No description available
          - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
        - `tags` TagsData[], nullable — Deprecated in favor of the `explicit` parameter.
      - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
        - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
        - `objectId` string, required — No description available
        - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
      - `tags` TagsData[], nullable — Deprecated in favor of the `explicit` parameter.
    - `artist` Artist — No description available
      - `name` string, required — No description available
      - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
        - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
        - `objectId` string, required — No description available
        - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
      - `tags` TagsData[], nullable — Deprecated in favor of the `explicit` parameter.
    - `author` Artist — No description available
      - `name` string, required — No description available
      - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
        - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
        - `objectId` string, required — No description available
        - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
      - `tags` TagsData[], nullable — Deprecated in favor of the `explicit` parameter.
    - `book` Book — No description available
      - `name` string, required — No description available
      - `chapterCount` integer, nullable — No description available
      - `author` Artist — No description available
        - `name` string, required — No description available
        - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
          - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
          - `objectId` string, required — No description available
          - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
        - `tags` TagsData[], nullable — Deprecated in favor of the `explicit` parameter.
      - `narrator` Artist — No description available
        - `name` string, required — No description available
        - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
          - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
          - `objectId` string, required — No description available
          - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
        - `tags` TagsData[], nullable — Deprecated in favor of the `explicit` parameter.
      - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
        - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
        - `objectId` string, required — No description available
        - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
    - `narrator` Artist — No description available
      - `name` string, required — No description available
      - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
        - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
        - `objectId` string, required — No description available
        - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
      - `tags` TagsData[], nullable — Deprecated in favor of the `explicit` parameter.
    - `podcast` Podcast — No description available
      - `name` string, required — The title of the podcast or show
      - `producer` Artist — No description available
        - `name` string, required — No description available
        - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
          - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
          - `objectId` string, required — No description available
          - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
        - `tags` TagsData[], nullable — Deprecated in favor of the `explicit` parameter.
      - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
        - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
        - `objectId` string, required — No description available
        - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
    - `releaseDate` string, nullable — The date that this content was released.
    - `producer` Artist — No description available
      - `name` string, required — No description available
      - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
        - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
        - `objectId` string, required — No description available
        - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
      - `tags` TagsData[], nullable — Deprecated in favor of the `explicit` parameter.
    - `episodeNumber` integer, nullable — The incremental number that this episode is in a podcast or show.
    - `id` UniversalMusicObjectId — Universal Music Object Id JSON representation: { "serviceId": "3", "objectId": "tr12345", "accountId": "acct1234" } Local Library: { "objectId": "S://ENTERPRISE/media/Music/Radiohead/OK%20Computer", "serviceId": "local-library", "accountId": "mhhid_[household id]", } The serviceId is equivalent to the "sid()" function in RMusicServiceDescriptor. RMusicServiceDescriptor::sid() returns an unsigned integer. This is assumed to be 32 bits in our system. Therefore, rgchServiceId must be large enough to store 4294967295. The objectId is the object Id from the service. For SMAPI services, it is the SMAPI Id. We also have custom code to support Pandora and Rhapsody. These size came from inspecting the following constants: * SMAPI Ids are based on R_SONOS_MAX_ID_LEN = 256 * Rhapsody Ids are RRD_ID_LEN = 64 * Pandora Ids are RPANDORA_MAX_ID_LEN = (128+16) = 144 The accountId is used to identify the account used for listening. We have not finalized the format, but we are working with: sn_123123, where the numeric part is the account serial number and mhhid_[household id].
      - `serviceId` string, nullable — The serviceId is necessary for resolving content. While this is not a required field, it is recommended to provide this information or the content may not be playable.
      - `objectId` string, required — No description available
      - `accountId` string, nullable — The account id linked to this object in one of the following formats: sn_[household id] or mhhid_[household id]
    - `service` Service — No description available
      - `name` string, nullable — No description available
      - `id` string, nullable — No description available
      - `imageUrl` string, nullable — Replaced by the `images` parameter.
    - `durationMillis` integer, nullable — This parameter will be ignored for local library tracks on load commands (e.g., loadTrackList).
    - `trackNumber` integer, nullable — No description available
    - `chapterNumber` integer, nullable — No description available
    - `tags` TagsData[], nullable — Deprecated in favor of the `explicit` parameter. This parameter will be ignored for local library tracks on load commands (e.g., loadTrackList).
    - `quality` TrackQuality — No description available
      - `bitDepth` integer, nullable — The number of bits per sample of audio.
      - `sampleRate` integer, nullable — The sample rate (Hz) of the audio.
      - `codec` string, nullable — The name of the codec used to encode the track (e.g. "mp3").
      - `lossless` boolean, nullable — Whether the codec is lossless. Useful for determining whether the track is "HD" or "HiRes".
      - `immersive` boolean, nullable — "Immersive" is an alias for "3D" audio. Determines whether the track is a 3D audio.
    - `replayGain` number, float, nullable — (Optional) The track gain. This field allows for floating value points. The player applies this normalization to track audio, overriding any value found in the actual media. Your service should pass the best dB value that you have. Players will interpret this as needed and clamp any values outside of this range. Currently, this range is from -13 dB to +13 dB. For example, the player treats a value of 14 as if it were 13. This range is subject to change at our discretion. The replay gain embedded in the media is not overridden when this parameter is omitted.

## Response `200`

See the x-muse-error-codes extension for a list of muse errors that generate this response

- Ok — This object represents an empty (default) success. The platform returns an empty object ({}).

## Other responses

- `400` — See the x-muse-error-codes extension for a list of muse errors that generate this response
- `401` — See the x-muse-error-codes extension for a list of muse errors that generate this response
- `403` — See the x-muse-error-codes extension for a list of muse errors that generate this response
- `404` — See the x-muse-error-codes extension for a list of muse errors that generate this response
- `499` — See the x-muse-error-codes extension for a list of muse errors that generate this response
- `500` — See the x-muse-error-codes extension for a list of muse errors that generate this response
- `503` — See the x-muse-error-codes extension for a list of muse errors that generate this response

---

[API](https://skmtc.net/sonos/apis/authorization-api.md) · [All operations](https://skmtc.net/sonos/apis/authorization-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sonos/authorization-api/revisions/243132628620/schema)
