Technical changes for #445
Minimal instructions for agentic work to resolve the issue.
🔄 Endpoint Changes
❌ Removed Endpoints
-
Create Playlist for User
POST /users/{user_id}/playlists
Create a playlist for a Spotify user.
➡️ Use POST /me/playlists instead
-
Get Artist's Top Tracks
GET /artists/{id}/top-tracks
Get Spotify catalog information about an artist's top tracks by country.
-
Get Available Markets
GET /markets
Get the list of markets where Spotify is available.
-
Get New Releases
GET /browse/new-releases
Get a list of new album releases featured in Spotify.
-
Get Several Albums
GET /albums
-
Get Several Artists
GET /artists
-
Get Several Audiobooks
GET /audiobooks
-
Get Several Browse Categories
GET /browse/categories
-
Get Several Chapters
GET /chapters
-
Get Several Episodes
GET /episodes
-
Get Several Shows
GET /shows
-
Get Several Tracks
GET /tracks
-
Get Single Browse Category
GET /browse/categories/{id}
-
Get User's Playlists
GET /users/{id}/playlists
-
Get User's Profile
GET /users/{id}
➕ Added Endpoints
❌ Removed (Replaced by /me/library)
-
Remove Albums for Current User
DELETE /me/albums
➡️ Use DELETE /me/library
-
Remove Audiobooks for Current User
DELETE /me/audiobooks
➡️ Use DELETE /me/library
-
Remove Episodes for Current User
DELETE /me/episodes
➡️ Use DELETE /me/library
-
Remove Shows for Current User
DELETE /me/shows
➡️ Use DELETE /me/library
-
Remove Tracks for Current User
DELETE /me/tracks
➡️ Use DELETE /me/library
-
Save Albums for Current User
PUT /me/albums
➡️ Use PUT /me/library
-
Save Audiobooks for Current User
PUT /me/audiobooks
➡️ Use PUT /me/library
-
Save Episodes for Current User
PUT /me/episodes
➡️ Use PUT /me/library
-
Save Shows for Current User
PUT /me/shows
➡️ Use PUT /me/library
-
Save Tracks for Current User
PUT /me/tracks
➡️ Use PUT /me/library
🧩 Response Field Changes
These changes apply wherever the following objects appear in API responses.
Album
Removed fields:
album_group
available_markets
external_ids
label
popularity
Artist
Removed fields:
Audiobook
Removed fields:
available_markets
publisher
Chapter
Removed fields:
Playlist
Only user-owned playlists will return playlist contents.
Other playlists return metadata only.
Renamed fields:
tracks → items
tracks.tracks → items.items
tracks.tracks.track → items.items.item
Show
Removed fields:
available_markets
publisher
Track
Removed fields:
available_markets
external_ids
linked_from
popularity
User
Removed fields:
country
email
explicit_content
followers
product
✅ Expected Work
- Remove deprecated endpoints and related request/response models
- Add
/me/library PUT and DELETE endpoints
- Update DTOs / models to reflect removed fields
- Rename playlist-related fields as specified
- Adjust deserialization logic accordingly
- Update tests and documentation where applicable
📌 Notes
These changes apply globally across all affected endpoints and models.
Technical changes for #445
Minimal instructions for agentic work to resolve the issue.
🔄 Endpoint Changes
❌ Removed Endpoints
Create Playlist for User
POST /users/{user_id}/playlistsCreate a playlist for a Spotify user.
➡️ Use
POST /me/playlistsinsteadGet Artist's Top Tracks
GET /artists/{id}/top-tracksGet Spotify catalog information about an artist's top tracks by country.
Get Available Markets
GET /marketsGet the list of markets where Spotify is available.
Get New Releases
GET /browse/new-releasesGet a list of new album releases featured in Spotify.
Get Several Albums
GET /albumsGet Several Artists
GET /artistsGet Several Audiobooks
GET /audiobooksGet Several Browse Categories
GET /browse/categoriesGet Several Chapters
GET /chaptersGet Several Episodes
GET /episodesGet Several Shows
GET /showsGet Several Tracks
GET /tracksGet Single Browse Category
GET /browse/categories/{id}Get User's Playlists
GET /users/{id}/playlistsGet User's Profile
GET /users/{id}➕ Added Endpoints
Save to Library
PUT /me/librarySave a list of Spotify URIs to the user's library.
Remove from Library
DELETE /me/libraryRemove a list of Spotify URIs from the user's library.
❌ Removed (Replaced by
/me/library)Remove Albums for Current User
DELETE /me/albums➡️ Use
DELETE /me/libraryRemove Audiobooks for Current User
DELETE /me/audiobooks➡️ Use
DELETE /me/libraryRemove Episodes for Current User
DELETE /me/episodes➡️ Use
DELETE /me/libraryRemove Shows for Current User
DELETE /me/shows➡️ Use
DELETE /me/libraryRemove Tracks for Current User
DELETE /me/tracks➡️ Use
DELETE /me/librarySave Albums for Current User
PUT /me/albums➡️ Use
PUT /me/librarySave Audiobooks for Current User
PUT /me/audiobooks➡️ Use
PUT /me/librarySave Episodes for Current User
PUT /me/episodes➡️ Use
PUT /me/librarySave Shows for Current User
PUT /me/shows➡️ Use
PUT /me/librarySave Tracks for Current User
PUT /me/tracks➡️ Use
PUT /me/library🧩 Response Field Changes
These changes apply wherever the following objects appear in API responses.
Album
Removed fields:
album_groupavailable_marketsexternal_idslabelpopularityArtist
Removed fields:
followerspopularityAudiobook
Removed fields:
available_marketspublisherChapter
Removed fields:
available_marketsPlaylist
Renamed fields:
tracks→itemstracks.tracks→items.itemstracks.tracks.track→items.items.itemShow
Removed fields:
available_marketspublisherTrack
Removed fields:
available_marketsexternal_idslinked_frompopularityUser
Removed fields:
countryemailexplicit_contentfollowersproduct✅ Expected Work
/me/libraryPUT and DELETE endpoints📌 Notes
These changes apply globally across all affected endpoints and models.