Skip to content
DocumentationAPI Reference

Update Playlist Items

TrackUpdateResponse Playlists.Tracks.Update(TrackUpdateParamsparameters, CancellationTokencancellationToken = default)
PUT/playlists/{playlist_id}/tracks

Either reorder or replace items in a playlist depending on the request's parameters. To reorder items, include range_start, insert_before, range_length and snapshot_id in the request's body. To replace items, include uris as either a query parameter or in the request's body. Replacing items in a playlist will overwrite its existing items. This operation can be used for replacing or clearing items in a playlist.
Note: Replace and reorder are mutually exclusive operations which share the same endpoint, but have different parameters. These operations can't be applied together in a single request.

ParametersExpand Collapse
TrackUpdateParams parameters
required string playlistID

The Spotify ID of the playlist.

Long insertBefore

The position where the items should be inserted.
To reorder the items to the end of the playlist, simply set insert_before to the position after the last item.
Examples:
To reorder the first item to the last position in a playlist with 10 items, set range_start to 0, and insert_before to 10.
To reorder the last item in a playlist with 10 items to the start of the playlist, set range_start to 9, and insert_before to 0.

Boolean published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Long rangeLength

The amount of items to be reordered. Defaults to 1 if not set.
The range of items to be reordered begins from the range_start position, and includes the range_length subsequent items.
Example:
To move the items at index 9-10 to the start of the playlist, range_start is set to 9, and range_length is set to 2.

Long rangeStart

The position of the first item to be reordered.

string snapshotID

The playlist's snapshot ID against which you want to make the changes.

IReadOnlyList<string> uris
ReturnsExpand Collapse
class TrackUpdateResponse:
string SnapshotID

Update Playlist Items

TrackUpdateParams parameters = new() { PlaylistID = "3cEYpjA9oz9GiPac4AsH4n" };

var track = await client.Playlists.Tracks.Update(parameters);

Console.WriteLine(track);
{
  "snapshot_id": "abc"
}
Returns Examples
{
  "snapshot_id": "abc"
}