Skip to content

feat(api)!: sync specification#460

Open
dargmuesli wants to merge 1 commit into
betafrom
feat/api/sync-spec
Open

feat(api)!: sync specification#460
dargmuesli wants to merge 1 commit into
betafrom
feat/api/sync-spec

Conversation

@dargmuesli

@dargmuesli dargmuesli commented Apr 30, 2026

Copy link
Copy Markdown
Member

This pull request ensures that this api wrapper project is fully in sync with Spotify's OpenAPI specification available under https://developer.spotify.com/reference/web-api/open-api-schema.yaml.

This readds previously removed endpoints that are deprecated because some older clients may still be granted permissions to access those endpoints.

@codecov

codecov Bot commented Apr 30, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 48.58949% with 1057 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.63%. Comparing base (2841d7a) to head (8cfa25a).

Files with missing lines Patch % Lines
...n/spotify/model_objects/specification/Chapter.java 61.25% 52 Missing and 22 partials ⚠️
...model_objects/specification/ChapterSimplified.java 59.56% 53 Missing and 21 partials ⚠️
...spotify/model_objects/specification/Audiobook.java 61.08% 51 Missing and 21 partials ⚠️
...del_objects/specification/AudiobookSimplified.java 59.65% 51 Missing and 20 partials ⚠️
...tify/model_objects/specification/SavedEpisode.java 0.00% 33 Missing ⚠️
...odel_objects/specification/ChapterRestriction.java 0.00% 28 Missing ⚠️
...playlists/AddItemsToPlaylistDeprecatedExample.java 0.00% 26 Missing ⚠️
.../UpdatePlaylistsItemsReorderDeprecatedRequest.java 0.00% 25 Missing ⚠️
...a/audiobooks/CheckUsersSavedAudiobooksExample.java 0.00% 24 Missing ⚠️
...s/data/audiobooks/GetAudiobookChaptersExample.java 0.00% 24 Missing ⚠️
... and 91 more
Additional details and impacted files
@@             Coverage Diff              @@
##               beta     #460      +/-   ##
============================================
- Coverage     49.84%   49.63%   -0.21%     
- Complexity      582      680      +98     
============================================
  Files           243      299      +56     
  Lines          8626    10403    +1777     
  Branches       1054     1282     +228     
============================================
+ Hits           4300     5164     +864     
- Misses         3526     4310     +784     
- Partials        800      929     +129     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Synchronizes this Spotify Web API Java wrapper with Spotify’s current OpenAPI schema by renaming request APIs to match spec naming, updating endpoint paths/parameters, and expanding/refreshing the fixture-backed test suite.

Changes:

  • Renames multiple request classes/builders and corresponding SpotifyApi entrypoints (e.g., searchItemsearch, getTheUsersQueuegetQueue, etc.) and updates examples/tests accordingly.
  • Updates several playlist endpoints from /tracks to /items and adjusts related tests/fixtures.
  • Adds/updates request implementations, fixtures, and tests for additional endpoints (e.g., markets, audiobooks, chapters, multi-entity fetches).

Reviewed changes

Copilot reviewed 202 out of 219 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/test/java/se/michaelthelin/spotify/requests/data/users_profile/GetUsersProfileRequestTest.java Adds fixture-backed test for user profile request.
src/test/java/se/michaelthelin/spotify/requests/data/tracks/GetSeveralTracksRequestTest.java Adds fixture-backed test for several-tracks request.
src/test/java/se/michaelthelin/spotify/requests/data/tracks/GetSeveralAudioFeaturesRequestTest.java Renames/aligns audio-features-for-several-tracks test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/tracks/GetAudioFeaturesRequestTest.java Renames/aligns single-track audio-features test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/tracks/GetAudioAnalysisRequestTest.java Renames/aligns audio-analysis test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/shows/GetMultipleShowsRequestTest.java Adds fixture-backed test for multiple-shows request.
src/test/java/se/michaelthelin/spotify/requests/data/search/SearchRequestTest.java Renames/aligns search test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/playlists/UploadCustomPlaylistCoverRequestTest.java Renames/aligns upload cover test to new API names.
src/test/java/se/michaelthelin/spotify/requests/data/playlists/ReplacePlaylistsItemsRequestTest.java Updates expected playlist replace-items URI path.
src/test/java/se/michaelthelin/spotify/requests/data/playlists/ReorderPlaylistsItemsRequestTest.java Updates expected playlist reorder-items URI path.
src/test/java/se/michaelthelin/spotify/requests/data/playlists/RemoveItemsPlaylistRequestTest.java Renames/aligns remove-items test to new API names/fixtures and /items path.
src/test/java/se/michaelthelin/spotify/requests/data/playlists/GetPlaylistsItemsRequestTest.java Updates expected playlist items endpoint path/hrefs.
src/test/java/se/michaelthelin/spotify/requests/data/playlists/GetPlaylistCoverRequestTest.java Renames/aligns playlist cover test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/playlists/GetListUsersPlaylistsRequestTest.java Adds fixture-backed test for listing a user’s playlists.
src/test/java/se/michaelthelin/spotify/requests/data/playlists/CreatePlaylistForUserRequestTest.java Adds fixture-backed test for create-playlist-for-user.
src/test/java/se/michaelthelin/spotify/requests/data/playlists/ChangePlaylistDetailsRequestTest.java Renames/aligns change-playlist-details test to new API names.
src/test/java/se/michaelthelin/spotify/requests/data/playlists/AddItemsToPlaylistRequestTest.java Updates expected add-items endpoint path from /tracks to /items.
src/test/java/se/michaelthelin/spotify/requests/data/player/StartUsersPlaybackRequestTest.java Renames/aligns start playback test to new API names.
src/test/java/se/michaelthelin/spotify/requests/data/player/StartUsersPlaybackRequestNumericTest.java Renames/aligns numeric body typing regression test to new API names.
src/test/java/se/michaelthelin/spotify/requests/data/player/GetRecentlyPlayedRequestTest.java Renames/aligns recently played test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/player/GetQueueRequestTest.java Renames/aligns queue test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/player/AddToQueueRequestTest.java Renames/aligns add-to-queue test to new API names.
src/test/java/se/michaelthelin/spotify/requests/data/markets/GetAvailableMarketsRequestTest.java Adds fixture-backed test for available markets request.
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveTracksForCurrentUserRequestTest.java Adds fixture-backed test for saving tracks (deprecated endpoint).
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveShowsForCurrentUserRequestTest.java Adds fixture-backed test for saving shows (deprecated endpoint).
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveLibraryItemsRequestTest.java Renames/aligns library-save test to consolidated “library items” endpoint.
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveEpisodesForCurrentUserRequestTest.java Adds fixture-backed test for saving episodes (deprecated endpoint).
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveAudiobooksForCurrentUserRequestTest.java Adds fixture-backed test for saving audiobooks.
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveAlbumsForCurrentUserRequestTest.java Adds fixture-backed test for saving albums (deprecated endpoint).
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveTracksForCurrentUserRequestTest.java Adds fixture-backed test for removing tracks (deprecated endpoint).
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveShowsForCurrentUserRequestTest.java Adds fixture-backed test for removing shows (deprecated endpoint).
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveLibraryItemsRequestTest.java Renames/aligns library-remove test to consolidated “library items” endpoint.
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveEpisodesForCurrentUserRequestTest.java Corrects test to target remove-episodes endpoint rather than legacy follow playlist code.
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveAudiobooksForCurrentUserRequestTest.java Adds fixture-backed test for removing audiobooks.
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveAlbumsForCurrentUserRequestTest.java Corrects test to target remove-albums endpoint rather than legacy unfollow playlist code.
src/test/java/se/michaelthelin/spotify/requests/data/library/GetUsersSavedAudiobooksRequestTest.java Adds fixture-backed test for saved audiobooks paging.
src/test/java/se/michaelthelin/spotify/requests/data/library/GetUsersSavedAlbumsRequestTest.java Renames/aligns saved albums test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedAudiobooksRequestTest.java Adds fixture-backed test for saved audiobooks “contains” endpoint (deprecated).
src/test/java/se/michaelthelin/spotify/requests/data/library/CheckLibraryContainsRequestTest.java Adds fixture-backed test for consolidated “library contains” endpoint.
src/test/java/se/michaelthelin/spotify/requests/data/follow/GetFollowedRequestTest.java Renames/aligns followed-artists test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/follow/CheckIfUserFollowsPlaylistRequestTest.java Renames/aligns playlist-follow check test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/episodes/GetMultipleEpisodesRequestTest.java Adds fixture-backed test for multiple-episodes request.
src/test/java/se/michaelthelin/spotify/requests/data/chapters/GetSeveralChaptersRequestTest.java Adds fixture-backed test for several-chapters request.
src/test/java/se/michaelthelin/spotify/requests/data/chapters/GetChapterRequestTest.java Adds fixture-backed test for chapter request.
src/test/java/se/michaelthelin/spotify/requests/data/browse/miscellaneous/GetRecommendationGenresRequestTest.java Renames/aligns genre seeds test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/browse/GetNewReleasesRequestTest.java Adds fixture-backed test for new releases.
src/test/java/se/michaelthelin/spotify/requests/data/browse/GetFeaturedPlaylistsRequestTest.java Renames/aligns featured playlists test to new API names/fixtures.
src/test/java/se/michaelthelin/spotify/requests/data/browse/GetCategorysPlaylistRequestTest.java Updates category playlists request/test wiring to new class/fixture names.
src/test/java/se/michaelthelin/spotify/requests/data/browse/GetCategoryRequestTest.java Adds fixture-backed test for get category.
src/test/java/se/michaelthelin/spotify/requests/data/browse/GetCategoriesRequestTest.java Adds fixture-backed test for get categories.
src/test/java/se/michaelthelin/spotify/requests/data/audiobooks/GetMultipleAudiobooksRequestTest.java Adds fixture-backed test for multiple audiobooks.
src/test/java/se/michaelthelin/spotify/requests/data/audiobooks/GetAudiobookRequestTest.java Adds fixture-backed test for get audiobook.
src/test/java/se/michaelthelin/spotify/requests/data/audiobooks/GetAudiobookChaptersRequestTest.java Adds fixture-backed test for audiobook chapters paging.
src/test/java/se/michaelthelin/spotify/requests/data/artists/GetMultipleArtistsRequestTest.java Adds fixture-backed test for multiple artists.
src/test/java/se/michaelthelin/spotify/requests/data/artists/GetArtistsTopTracksRequestTest.java Adds fixture-backed test for artist top tracks.
src/test/java/se/michaelthelin/spotify/requests/data/albums/GetMultipleAlbumsRequestTest.java Adds fixture-backed test for multiple albums.
src/test/java/se/michaelthelin/spotify/ITest.java Adds new test IDs used by added fixtures/tests.
src/test/fixtures/requests/data/users_profile/GetUsersProfileRequest.json Adds fixture for user profile response.
src/test/fixtures/requests/data/tracks/GetSeveralTracksRequest.json Adds fixture for several tracks response.
src/test/fixtures/requests/data/tracks/GetAudioFeaturesRequest.json Adds fixture for audio features response.
src/test/fixtures/requests/data/shows/GetMultipleShowsRequest.json Adds fixture for multiple shows response.
src/test/fixtures/requests/data/playlists/RemoveItemsPlaylistRequest.json Adds fixture for remove-items playlist snapshot result.
src/test/fixtures/requests/data/playlists/GetPlaylistsItemsRequest_Episode.json Updates playlist items episode fixture href to /items.
src/test/fixtures/requests/data/playlists/GetPlaylistsItemsRequest.json Updates playlist items fixture href to /items.
src/test/fixtures/requests/data/playlists/GetPlaylistCoverRequest.json Adds fixture for playlist cover images.
src/test/fixtures/requests/data/playlists/GetListUsersPlaylistsRequest_UserWith$.json Adds fixture for list playlists (special user id).
src/test/fixtures/requests/data/playlists/GetListUsersPlaylistsRequest.json Adds fixture for list playlists.
src/test/fixtures/requests/data/playlists/CreatePlaylistForUserRequest.json Adds fixture for playlist creation response.
src/test/fixtures/requests/data/library/SaveTracksForCurrentUserRequest.json Adds empty fixture for save tracks response.
src/test/fixtures/requests/data/library/SaveShowsForCurrentUserRequest.json Adds empty fixture for save shows response.
src/test/fixtures/requests/data/library/SaveEpisodesForCurrentUserRequest.json Adds empty fixture for save episodes response.
src/test/fixtures/requests/data/library/SaveAudiobooksForCurrentUserRequest.json Adds empty fixture for save audiobooks response.
src/test/fixtures/requests/data/library/SaveAlbumsForCurrentUserRequest.json Adds empty fixture for save albums response.
src/test/fixtures/requests/data/library/RemoveTracksForCurrentUserRequest.json Adds empty fixture for remove tracks response.
src/test/fixtures/requests/data/library/RemoveShowsForCurrentUserRequest.json Adds empty fixture for remove shows response.
src/test/fixtures/requests/data/library/RemoveEpisodesForCurrentUserRequest.json Adds empty fixture for remove episodes response.
src/test/fixtures/requests/data/library/RemoveAudiobooksForCurrentUserRequest.json Adds empty fixture for remove audiobooks response.
src/test/fixtures/requests/data/library/RemoveAlbumsForCurrentUserRequest.json Adds empty fixture for remove albums response.
src/test/fixtures/requests/data/library/GetUsersSavedAudiobooksRequest.json Adds fixture for saved audiobooks paging response.
src/test/fixtures/requests/data/library/CheckUsersSavedAudiobooksRequest.json Adds fixture for saved audiobooks contains response.
src/test/fixtures/requests/data/library/CheckLibraryContainsRequest.json Adds fixture for consolidated library contains response.
src/test/fixtures/requests/data/follow/GetFollowedRequest_None.json Adds fixture for empty followed artists response.
src/test/fixtures/requests/data/follow/GetFollowedRequest.json Adds fixture for followed artists response.
src/test/fixtures/requests/data/follow/CheckIfUserFollowsPlaylistRequest.json Adds fixture for playlist follow check response.
src/test/fixtures/requests/data/episodes/GetMultipleEpisodesRequest.json Adds fixture for multiple episodes response.
src/test/fixtures/requests/data/chapters/GetSeveralChaptersRequest.json Adds fixture for several chapters response.
src/test/fixtures/requests/data/chapters/GetChapterRequest.json Adds fixture for chapter response.
src/test/fixtures/requests/data/browse/GetNewReleasesRequest.json Adds fixture for new releases response.
src/test/fixtures/requests/data/browse/GetCategoryRequest.json Adds fixture for get category response.
src/test/fixtures/requests/data/browse/GetCategoriesRequest.json Adds fixture for get categories response.
src/test/fixtures/requests/data/audiobooks/GetMultipleAudiobooksRequest.json Adds fixture for multiple audiobooks response.
src/test/fixtures/requests/data/audiobooks/GetAudiobookRequest.json Adds fixture for audiobook response.
src/test/fixtures/requests/data/audiobooks/GetAudiobookChaptersRequest.json Adds fixture for audiobook chapters response.
src/test/fixtures/requests/data/artists/GetMultipleArtistsRequest.json Adds fixture for multiple artists response.
src/test/fixtures/requests/data/artists/GetArtistsTopTracksRequest.json Adds fixture for artist top tracks response.
src/test/fixtures/requests/data/albums/GetMultipleAlbumsRequest_None.json Adds fixture for empty multiple albums response.
src/test/fixtures/requests/data/albums/GetMultipleAlbumsRequest.json Adds fixture for multiple albums response.
src/main/java/se/michaelthelin/spotify/requests/data/users_profile/GetUsersProfileRequest.java Adds request implementation for user profile endpoint (marked deprecated per spec).
src/main/java/se/michaelthelin/spotify/requests/data/tracks/GetSeveralAudioFeaturesRequest.java Renames/aligns several-audio-features request class and deprecation annotation.
src/main/java/se/michaelthelin/spotify/requests/data/tracks/GetAudioFeaturesRequest.java Renames/aligns audio-features request class and deprecation annotation.
src/main/java/se/michaelthelin/spotify/requests/data/tracks/GetAudioAnalysisRequest.java Renames/aligns audio-analysis request class and deprecation annotation.
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchTracksRequest.java Updates search-related imports/Javadoc to new SearchRequest naming.
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchShowsRequest.java Updates search-related imports/Javadoc to new SearchRequest naming.
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchPlaylistsRequest.java Updates search-related imports/Javadoc to new SearchRequest naming.
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchEpisodesRequest.java Updates search-related imports/Javadoc to new SearchRequest naming.
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchArtistsRequest.java Updates search-related imports/Javadoc to new SearchRequest naming.
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchAlbumsRequest.java Updates search-related imports/Javadoc to new SearchRequest naming.
src/main/java/se/michaelthelin/spotify/requests/data/playlists/UploadCustomPlaylistCoverRequest.java Renames/aligns upload playlist cover request class.
src/main/java/se/michaelthelin/spotify/requests/data/playlists/ReplacePlaylistsItemsRequest.java Updates endpoint path from /tracks to /items.
src/main/java/se/michaelthelin/spotify/requests/data/playlists/ReorderPlaylistsItemsRequest.java Updates endpoint path from /tracks to /items.
src/main/java/se/michaelthelin/spotify/requests/data/playlists/GetPlaylistsItemsRequest.java Updates endpoint path from /tracks to /items.
src/main/java/se/michaelthelin/spotify/requests/data/playlists/GetPlaylistCoverRequest.java Renames/aligns get playlist cover request class.
src/main/java/se/michaelthelin/spotify/requests/data/playlists/AddItemsToPlaylistRequest.java Updates endpoint path from /tracks to /items.
src/main/java/se/michaelthelin/spotify/requests/data/player/GetQueueRequest.java Renames/aligns get queue request class.
src/main/java/se/michaelthelin/spotify/requests/data/player/AddToQueueRequest.java Renames/aligns add-to-queue request class.
src/main/java/se/michaelthelin/spotify/requests/data/markets/GetAvailableMarketsRequest.java Adds request implementation for available markets endpoint (marked deprecated per spec).
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveTracksForCurrentUserRequest.java Adds deprecated per-resource library save request (tracks).
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveShowsForCurrentUserRequest.java Adds deprecated per-resource library save request (shows).
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveLibraryItemsRequest.java Renames/aligns consolidated library save request.
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveEpisodesForCurrentUserRequest.java Adds deprecated per-resource library save request (episodes).
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveAudiobooksForCurrentUserRequest.java Adds request implementation for saving audiobooks.
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveAlbumsForCurrentUserRequest.java Adds deprecated per-resource library save request (albums).
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveTracksForCurrentUserRequest.java Adds deprecated per-resource library remove request (tracks).
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveShowsForCurrentUserRequest.java Adds deprecated per-resource library remove request (shows).
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveLibraryItemsRequest.java Renames/aligns consolidated library remove request.
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveEpisodesForCurrentUserRequest.java Adds deprecated per-resource library remove request (episodes).
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveAudiobooksForCurrentUserRequest.java Adds request implementation for removing audiobooks.
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveAlbumsForCurrentUserRequest.java Adds deprecated per-resource library remove request (albums).
src/main/java/se/michaelthelin/spotify/requests/data/library/GetUsersSavedEpisodesRequest.java Updates Javadoc reference during spec sync.
src/main/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedTracksRequest.java Marks legacy “contains” request deprecated in favor of consolidated endpoint.
src/main/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedShowsRequest.java Marks legacy “contains” request deprecated in favor of consolidated endpoint.
src/main/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedEpisodesRequest.java Marks legacy “contains” request deprecated in favor of consolidated endpoint.
src/main/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedAudiobooksRequest.java Adds deprecated legacy “contains” request for audiobooks.
src/main/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedAlbumsRequest.java Marks legacy “contains” request deprecated in favor of consolidated endpoint.
src/main/java/se/michaelthelin/spotify/requests/data/follow/UnfollowPlaylistRequest.java Marks follow playlist endpoint deprecated per spec.
src/main/java/se/michaelthelin/spotify/requests/data/follow/UnfollowArtistsOrUsersRequest.java Marks unfollow endpoint deprecated per spec.
src/main/java/se/michaelthelin/spotify/requests/data/follow/GetFollowedRequest.java Renames/aligns followed-artists request class.
src/main/java/se/michaelthelin/spotify/requests/data/follow/FollowPlaylistRequest.java Marks follow playlist endpoint deprecated per spec.
src/main/java/se/michaelthelin/spotify/requests/data/follow/FollowArtistsOrUsersRequest.java Marks follow endpoint deprecated per spec.
src/main/java/se/michaelthelin/spotify/requests/data/follow/CheckCurrentUserFollowsArtistsOrUsersRequest.java Marks follow-check endpoint deprecated and updates docs.
src/main/java/se/michaelthelin/spotify/requests/data/browse/miscellaneous/GetRecommendationGenresRequest.java Renames/aligns genre seeds request class and deprecation annotation.
src/main/java/se/michaelthelin/spotify/requests/data/browse/GetRecommendationsRequest.java Marks recommendations endpoint deprecated per spec.
src/main/java/se/michaelthelin/spotify/requests/data/artists/GetMultipleArtistsRequest.java Adds deprecated request for multiple artists per spec.
src/main/java/se/michaelthelin/spotify/requests/data/artists/GetArtistsRelatedArtistsRequest.java Marks related artists endpoint deprecated per spec.
src/main/java/se/michaelthelin/spotify/model_objects/specification/PlaylistSimplified.java Updates references to renamed playlist remove-items request type.
src/main/java/se/michaelthelin/spotify/model_objects/specification/Playlist.java Updates references to renamed playlist remove-items request type.
src/main/java/se/michaelthelin/spotify/model_objects/special/SearchResult.java Updates references to renamed SearchRequest type.
src/main/java/se/michaelthelin/spotify/model_objects/interfaces/IPlaylist.java Updates references to renamed playlist remove-items request type.
src/main/java/se/michaelthelin/spotify/enums/ModelObjectType.java Adds AUDIOBOOK model object type.
examples/data/tracks/GetAudioFeaturesForTrackExample.java Updates example to new getAudioFeatures API naming.
examples/data/tracks/GetAudioFeaturesForSeveralTracksExample.java Updates example to new getSeveralAudioFeatures API naming.
examples/data/tracks/GetAudioAnalysisForTrackExample.java Updates example to new getAudioAnalysis API naming.
examples/data/search/SearchItemExample.java Updates example to new search API naming.
examples/data/playlists/RemoveItemsFromPlaylistExample.java Updates example to renamed remove-items playlist API.
examples/data/playlists/GetPlaylistCoverImageExample.java Updates example to renamed get playlist cover API.
examples/data/playlists/ChangePlaylistsDetailsExample.java Updates example to renamed change playlist details API.
examples/data/player/StartResumeUsersPlaybackExample.java Updates example to renamed start users playback API.
examples/data/player/GetTheUsersQueueExample.java Updates example to renamed get queue API.
examples/data/player/GetCurrentUsersRecentlyPlayedTracksExample.java Updates example to renamed recently played API.
examples/data/player/AddItemToUsersPlaybackQueueExample.java Updates example to renamed add-to-queue API.
examples/data/library/SaveToLibraryExample.java Updates example to renamed save-library-items API.
examples/data/library/RemoveFromLibraryExample.java Updates example to renamed remove-library-items API.
examples/data/library/GetCurrentUsersSavedAlbumsExample.java Updates example to renamed get-users-saved-albums API.
examples/data/follow/UnfollowPlaylistExample.java Updates example to non-legacy package/signature.
examples/data/follow/GetUsersFollowedArtistsExample.java Updates example to renamed get followed API.
examples/data/follow/FollowPlaylistExample.java Updates example to non-legacy package/signature.
examples/data/follow/CheckUsersFollowPlaylistExample.java Updates example to renamed check-if-user-follows-playlist API.
examples/data/browse/miscellaneous/GetAvailableGenreSeedsExample.java Updates example to renamed recommendation genres API.
examples/data/browse/GetListOfFeaturedPlaylistsExample.java Updates example to renamed featured playlists API.
examples/data/browse/GetCategorysPlaylistsExample.java Updates example to renamed category playlists API.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Java Spotify Web API wrapper to match Spotify’s current OpenAPI schema, including renamed request types, updated endpoints/paths, newly added endpoints, and refreshed fixtures/tests to validate request URIs and response parsing.

Changes:

  • Add/rename multiple request classes (e.g., SearchRequest, queue/playback, playlists “items” paths, audiobooks/chapters, users profile).
  • Introduce new request/response fixtures and JUnit tests for newly synced endpoints.
  • Mark several endpoints as @Deprecated to reflect deprecations in the upstream specification.

Reviewed changes

Copilot reviewed 202 out of 219 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/test/java/se/michaelthelin/spotify/requests/data/users_profile/GetUsersProfileRequestTest.java New test for users profile request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/tracks/GetSeveralTracksRequestTest.java New test for several-tracks request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/tracks/GetSeveralAudioFeaturesRequestTest.java Update test to renamed request + updated fixture path
src/test/java/se/michaelthelin/spotify/requests/data/tracks/GetAudioFeaturesRequestTest.java Update test to renamed request + updated fixture path
src/test/java/se/michaelthelin/spotify/requests/data/tracks/GetAudioAnalysisRequestTest.java Update test to renamed request + updated fixture path
src/test/java/se/michaelthelin/spotify/requests/data/shows/GetMultipleShowsRequestTest.java New test for multiple-shows request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/search/SearchRequestTest.java Update test to renamed search request + updated fixture path
src/test/java/se/michaelthelin/spotify/requests/data/playlists/UploadCustomPlaylistCoverRequestTest.java Update test to renamed upload-cover request
src/test/java/se/michaelthelin/spotify/requests/data/playlists/ReplacePlaylistsItemsRequestTest.java Update tests for playlists “/items” path
src/test/java/se/michaelthelin/spotify/requests/data/playlists/ReorderPlaylistsItemsRequestTest.java Update tests for playlists “/items” path
src/test/java/se/michaelthelin/spotify/requests/data/playlists/RemoveItemsPlaylistRequestTest.java Update test to renamed remove-items request + “/items” path
src/test/java/se/michaelthelin/spotify/requests/data/playlists/GetPlaylistsItemsRequestTest.java Update tests/fixtures for playlists “/items” path + href expectations
src/test/java/se/michaelthelin/spotify/requests/data/playlists/GetPlaylistCoverRequestTest.java Update test to renamed get-cover request
src/test/java/se/michaelthelin/spotify/requests/data/playlists/GetListUsersPlaylistsRequestTest.java New test for listing user playlists
src/test/java/se/michaelthelin/spotify/requests/data/playlists/CreatePlaylistForUserRequestTest.java New test for create-playlist request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/playlists/ChangePlaylistDetailsRequestTest.java Update test to renamed change-details request
src/test/java/se/michaelthelin/spotify/requests/data/playlists/AddItemsToPlaylistRequestTest.java Update tests for playlists “/items” path
src/test/java/se/michaelthelin/spotify/requests/data/player/StartUsersPlaybackRequestTest.java Update test to renamed start-playback request
src/test/java/se/michaelthelin/spotify/requests/data/player/StartUsersPlaybackRequestNumericTest.java Update numeric-type-preservation test to renamed request
src/test/java/se/michaelthelin/spotify/requests/data/player/GetRecentlyPlayedRequestTest.java Update test to renamed recently-played request
src/test/java/se/michaelthelin/spotify/requests/data/player/GetQueueRequestTest.java Update test to renamed queue request + updated fixture path
src/test/java/se/michaelthelin/spotify/requests/data/player/AddToQueueRequestTest.java Update test to renamed add-to-queue request
src/test/java/se/michaelthelin/spotify/requests/data/markets/GetAvailableMarketsRequestTest.java New test for available-markets request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveTracksForCurrentUserRequestTest.java New test for save-tracks request URI + empty response handling
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveShowsForCurrentUserRequestTest.java New test for save-shows request URI + empty response handling
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveLibraryItemsRequestTest.java Update test to renamed save-library-items request
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveEpisodesForCurrentUserRequestTest.java New test for save-episodes request URI + empty response handling
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveAudiobooksForCurrentUserRequestTest.java New test for save-audiobooks request URI + empty response handling
src/test/java/se/michaelthelin/spotify/requests/data/library/SaveAlbumsForCurrentUserRequestTest.java New test for save-albums request URI + empty response handling
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveTracksForCurrentUserRequestTest.java New test for remove-tracks request URI + empty response handling
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveShowsForCurrentUserRequestTest.java New test for remove-shows request URI + empty response handling
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveLibraryItemsRequestTest.java Update test to renamed remove-library-items request
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveEpisodesForCurrentUserRequestTest.java Replace legacy follow test content with remove-episodes test
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveAudiobooksForCurrentUserRequestTest.java New test for remove-audiobooks request URI + empty response handling
src/test/java/se/michaelthelin/spotify/requests/data/library/RemoveAlbumsForCurrentUserRequestTest.java Replace legacy follow test content with remove-albums test
src/test/java/se/michaelthelin/spotify/requests/data/library/GetUsersSavedAudiobooksRequestTest.java New test for saved-audiobooks paging parsing
src/test/java/se/michaelthelin/spotify/requests/data/library/GetUsersSavedAlbumsRequestTest.java Update test to renamed saved-albums request
src/test/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedAudiobooksRequestTest.java New test for saved-audiobooks “contains” parsing
src/test/java/se/michaelthelin/spotify/requests/data/library/CheckLibraryContainsRequestTest.java New test for generic library-contains endpoint
src/test/java/se/michaelthelin/spotify/requests/data/follow/GetFollowedRequestTest.java Update test to renamed “get followed” request + fixture paths
src/test/java/se/michaelthelin/spotify/requests/data/follow/CheckIfUserFollowsPlaylistRequestTest.java Update test to renamed request + fixture path
src/test/java/se/michaelthelin/spotify/requests/data/episodes/GetMultipleEpisodesRequestTest.java New test for multiple-episodes request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/chapters/GetSeveralChaptersRequestTest.java New test for several-chapters request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/chapters/GetChapterRequestTest.java New test for chapter request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/browse/miscellaneous/GetRecommendationGenresRequestTest.java Update test to renamed recommendation-genres request
src/test/java/se/michaelthelin/spotify/requests/data/browse/GetNewReleasesRequestTest.java New test for new-releases request URI + paging parsing
src/test/java/se/michaelthelin/spotify/requests/data/browse/GetFeaturedPlaylistsRequestTest.java Update test to renamed featured-playlists request
src/test/java/se/michaelthelin/spotify/requests/data/browse/GetCategorysPlaylistRequestTest.java Update test to renamed category-playlists request + fixture path
src/test/java/se/michaelthelin/spotify/requests/data/browse/GetCategoryRequestTest.java New test for category request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/browse/GetCategoriesRequestTest.java New test for categories request URI + paging parsing
src/test/java/se/michaelthelin/spotify/requests/data/audiobooks/GetMultipleAudiobooksRequestTest.java New test for multiple-audiobooks request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/audiobooks/GetAudiobookRequestTest.java New test for audiobook request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/audiobooks/GetAudiobookChaptersRequestTest.java New test for audiobook-chapters request URI + paging parsing
src/test/java/se/michaelthelin/spotify/requests/data/artists/GetMultipleArtistsRequestTest.java New test for multiple-artists request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/artists/GetArtistsTopTracksRequestTest.java New test for artist-top-tracks request URI + parsing
src/test/java/se/michaelthelin/spotify/requests/data/albums/GetMultipleAlbumsRequestTest.java New test for multiple-albums request URI + parsing
src/test/java/se/michaelthelin/spotify/ITest.java Add new test constants for audiobook/chapter IDs
src/test/fixtures/requests/data/users_profile/GetUsersProfileRequest.json New fixture for users profile response
src/test/fixtures/requests/data/tracks/GetSeveralTracksRequest.json New fixture for several-tracks response
src/test/fixtures/requests/data/tracks/GetAudioFeaturesRequest.json New fixture for audio-features response
src/test/fixtures/requests/data/tracks/GetSeveralAudioFeaturesRequest.json Fixture for several-audio-features response
src/test/fixtures/requests/data/shows/GetMultipleShowsRequest.json New fixture for multiple-shows response
src/test/fixtures/requests/data/playlists/RemoveItemsPlaylistRequest.json New fixture for remove-items snapshot response
src/test/fixtures/requests/data/playlists/GetPlaylistsItemsRequest.json Update fixture href for playlists “/items”
src/test/fixtures/requests/data/playlists/GetPlaylistsItemsRequest_Episode.json Update fixture href for playlists “/items” episode case
src/test/fixtures/requests/data/playlists/GetPlaylistCoverRequest.json New fixture for playlist cover images
src/test/fixtures/requests/data/playlists/GetListUsersPlaylistsRequest.json New fixture for list-user-playlists response
src/test/fixtures/requests/data/playlists/GetListUsersPlaylistsRequest_UserWith$.json New fixture for user IDs containing $
src/test/fixtures/requests/data/playlists/CreatePlaylistForUserRequest.json New fixture for create-playlist response
src/test/fixtures/requests/data/markets/GetAvailableMarketsRequest.json New fixture for markets list response
src/test/fixtures/requests/data/library/SaveTracksForCurrentUserRequest.json New empty-body fixture
src/test/fixtures/requests/data/library/SaveShowsForCurrentUserRequest.json New empty-body fixture
src/test/fixtures/requests/data/library/SaveEpisodesForCurrentUserRequest.json New empty-body fixture
src/test/fixtures/requests/data/library/SaveAudiobooksForCurrentUserRequest.json New empty-body fixture
src/test/fixtures/requests/data/library/SaveAlbumsForCurrentUserRequest.json New empty-body fixture
src/test/fixtures/requests/data/library/RemoveTracksForCurrentUserRequest.json New empty-body fixture
src/test/fixtures/requests/data/library/RemoveShowsForCurrentUserRequest.json New empty-body fixture
src/test/fixtures/requests/data/library/RemoveEpisodesForCurrentUserRequest.json New empty-body fixture
src/test/fixtures/requests/data/library/RemoveAudiobooksForCurrentUserRequest.json New empty-body fixture
src/test/fixtures/requests/data/library/RemoveAlbumsForCurrentUserRequest.json New empty-body fixture
src/test/fixtures/requests/data/library/GetUsersSavedAudiobooksRequest.json New fixture for saved-audiobooks paging response
src/test/fixtures/requests/data/library/CheckUsersSavedAudiobooksRequest.json New fixture for audiobooks contains response
src/test/fixtures/requests/data/library/CheckLibraryContainsRequest.json New fixture for generic library contains response
src/test/fixtures/requests/data/follow/GetFollowedRequest.json New/renamed fixture for followed artists paging response
src/test/fixtures/requests/data/follow/GetFollowedRequest_None.json New/renamed fixture for empty followed response
src/test/fixtures/requests/data/follow/CheckIfUserFollowsPlaylistRequest.json New/renamed fixture for playlist-follow check
src/test/fixtures/requests/data/episodes/GetMultipleEpisodesRequest.json New fixture for multiple-episodes response
src/test/fixtures/requests/data/chapters/GetSeveralChaptersRequest.json New fixture for several-chapters response
src/test/fixtures/requests/data/chapters/GetChapterRequest.json New fixture for chapter response
src/test/fixtures/requests/data/browse/GetNewReleasesRequest.json New fixture for new-releases paging response
src/test/fixtures/requests/data/browse/GetCategoryRequest.json New fixture for category response
src/test/fixtures/requests/data/browse/GetCategoriesRequest.json New fixture for categories paging response
src/test/fixtures/requests/data/audiobooks/GetMultipleAudiobooksRequest.json New fixture for multiple-audiobooks response
src/test/fixtures/requests/data/audiobooks/GetAudiobookRequest.json New fixture for audiobook response
src/test/fixtures/requests/data/audiobooks/GetAudiobookChaptersRequest.json New fixture for audiobook chapters paging response
src/test/fixtures/requests/data/artists/GetMultipleArtistsRequest.json New fixture for multiple-artists response
src/test/fixtures/requests/data/artists/GetArtistsTopTracksRequest.json New fixture for artist-top-tracks response
src/test/fixtures/requests/data/albums/GetMultipleAlbumsRequest.json New fixture for multiple-albums response
src/test/fixtures/requests/data/albums/GetMultipleAlbumsRequest_None.json New fixture for empty multiple-albums response
src/main/java/se/michaelthelin/spotify/requests/data/users_profile/GetUsersProfileRequest.java Add request class for users profile endpoint (deprecated)
src/main/java/se/michaelthelin/spotify/requests/data/tracks/GetSeveralAudioFeaturesRequest.java Rename request class + mark deprecated
src/main/java/se/michaelthelin/spotify/requests/data/tracks/GetAudioFeaturesRequest.java Rename request class + mark deprecated
src/main/java/se/michaelthelin/spotify/requests/data/tracks/GetAudioAnalysisRequest.java Rename request class + mark deprecated
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchTracksRequest.java Fix javadoc return type reference after search rename
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchShowsRequest.java Fix javadoc return type reference after search rename
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchPlaylistsRequest.java Fix javadoc return type reference after search rename
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchEpisodesRequest.java Fix javadoc return type reference after search rename
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchArtistsRequest.java Fix javadoc return type reference after search rename
src/main/java/se/michaelthelin/spotify/requests/data/search/simplified/SearchAlbumsRequest.java Fix javadoc return type reference after search rename
src/main/java/se/michaelthelin/spotify/requests/data/playlists/UploadCustomPlaylistCoverRequest.java Rename upload playlist cover request type
src/main/java/se/michaelthelin/spotify/requests/data/playlists/ReplacePlaylistsItemsRequest.java Update endpoint path from /tracks to /items
src/main/java/se/michaelthelin/spotify/requests/data/playlists/ReorderPlaylistsItemsRequest.java Update endpoint path from /tracks to /items
src/main/java/se/michaelthelin/spotify/requests/data/playlists/GetPlaylistsItemsRequest.java Update endpoint path from /tracks to /items
src/main/java/se/michaelthelin/spotify/requests/data/playlists/GetPlaylistCoverRequest.java Rename playlist cover request type
src/main/java/se/michaelthelin/spotify/requests/data/playlists/AddItemsToPlaylistRequest.java Update endpoint path from /tracks to /items
src/main/java/se/michaelthelin/spotify/requests/data/player/GetQueueRequest.java Rename queue request type
src/main/java/se/michaelthelin/spotify/requests/data/player/AddToQueueRequest.java Rename add-to-queue request type
src/main/java/se/michaelthelin/spotify/requests/data/markets/GetAvailableMarketsRequest.java Add request class for available markets (deprecated)
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveTracksForCurrentUserRequest.java Add deprecated save-tracks request mapping
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveShowsForCurrentUserRequest.java Add deprecated save-shows request mapping
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveLibraryItemsRequest.java Rename save-to-library request type
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveEpisodesForCurrentUserRequest.java Add deprecated save-episodes request mapping
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveAudiobooksForCurrentUserRequest.java Add save-audiobooks request mapping
src/main/java/se/michaelthelin/spotify/requests/data/library/SaveAlbumsForCurrentUserRequest.java Add deprecated save-albums request mapping
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveTracksForCurrentUserRequest.java Add deprecated remove-tracks request mapping
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveShowsForCurrentUserRequest.java Add deprecated remove-shows request mapping
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveLibraryItemsRequest.java Rename remove-from-library request type
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveEpisodesForCurrentUserRequest.java Add deprecated remove-episodes request mapping
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveAudiobooksForCurrentUserRequest.java Add remove-audiobooks request mapping
src/main/java/se/michaelthelin/spotify/requests/data/library/RemoveAlbumsForCurrentUserRequest.java Add deprecated remove-albums request mapping
src/main/java/se/michaelthelin/spotify/requests/data/library/GetUsersSavedEpisodesRequest.java Fix javadoc builder reference
src/main/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedTracksRequest.java Mark deprecated in favor of generic library contains
src/main/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedShowsRequest.java Mark deprecated in favor of generic library contains
src/main/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedEpisodesRequest.java Mark deprecated in favor of generic library contains
src/main/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedAudiobooksRequest.java Add deprecated audiobooks contains request
src/main/java/se/michaelthelin/spotify/requests/data/library/CheckUsersSavedAlbumsRequest.java Mark deprecated in favor of generic library contains
src/main/java/se/michaelthelin/spotify/requests/data/follow/UnfollowPlaylistRequest.java Mark deprecated per spec
src/main/java/se/michaelthelin/spotify/requests/data/follow/UnfollowArtistsOrUsersRequest.java Mark deprecated per spec
src/main/java/se/michaelthelin/spotify/requests/data/follow/GetFollowedRequest.java Rename followed-artists request type
src/main/java/se/michaelthelin/spotify/requests/data/follow/FollowPlaylistRequest.java Mark deprecated per spec
src/main/java/se/michaelthelin/spotify/requests/data/follow/FollowArtistsOrUsersRequest.java Mark deprecated per spec
src/main/java/se/michaelthelin/spotify/requests/data/follow/CheckCurrentUserFollowsArtistsOrUsersRequest.java Mark deprecated per spec
src/main/java/se/michaelthelin/spotify/requests/data/browse/miscellaneous/GetRecommendationGenresRequest.java Rename genre-seeds request type + mark deprecated
src/main/java/se/michaelthelin/spotify/requests/data/browse/GetRecommendationsRequest.java Mark deprecated per spec
src/main/java/se/michaelthelin/spotify/requests/data/artists/GetMultipleArtistsRequest.java Add request for multiple artists (deprecated)
src/main/java/se/michaelthelin/spotify/requests/data/artists/GetArtistsRelatedArtistsRequest.java Mark deprecated per spec
src/main/java/se/michaelthelin/spotify/model_objects/specification/PlaylistSimplified.java Update import/javadoc reference for renamed remove-items request
src/main/java/se/michaelthelin/spotify/model_objects/specification/Playlist.java Update import/javadoc reference for renamed remove-items request
src/main/java/se/michaelthelin/spotify/model_objects/special/SearchResult.java Update imports/javadoc to renamed SearchRequest
src/main/java/se/michaelthelin/spotify/model_objects/interfaces/IPlaylist.java Update javadoc reference for renamed remove-items request
src/main/java/se/michaelthelin/spotify/enums/ModelObjectType.java Add AUDIOBOOK enum value
examples/data/tracks/GetAudioFeaturesForTrackExample.java Update example to renamed audio-features request/method
examples/data/tracks/GetAudioFeaturesForSeveralTracksExample.java Update example to renamed several-audio-features request/method
examples/data/tracks/GetAudioAnalysisForTrackExample.java Update example to renamed audio-analysis request/method
examples/data/search/SearchItemExample.java Update example to renamed search request/method
examples/data/playlists/RemoveItemsFromPlaylistExample.java Update example to renamed remove-items request/method
examples/data/playlists/GetPlaylistCoverImageExample.java Update example to renamed get-cover request/method
examples/data/playlists/ChangePlaylistsDetailsExample.java Update example to renamed change-details request/method
examples/data/player/StartResumeUsersPlaybackExample.java Update example to renamed start-playback request/method
examples/data/player/GetTheUsersQueueExample.java Update example to renamed queue request/method
examples/data/player/GetCurrentUsersRecentlyPlayedTracksExample.java Update example to renamed recently-played request/method
examples/data/player/AddItemToUsersPlaybackQueueExample.java Update example to renamed add-to-queue request/method
examples/data/library/SaveToLibraryExample.java Update example to renamed save-library-items request/method
examples/data/library/RemoveFromLibraryExample.java Update example to renamed remove-library-items request/method
examples/data/library/GetCurrentUsersSavedAlbumsExample.java Update example to renamed saved-albums request/method
examples/data/follow/UnfollowPlaylistExample.java Update example import + updated unfollow signature
examples/data/follow/GetUsersFollowedArtistsExample.java Update example to renamed get-followed request/method
examples/data/follow/FollowPlaylistExample.java Update example import + updated follow signature
examples/data/follow/CheckUsersFollowPlaylistExample.java Update example to renamed check-if-user-follows-playlist request
examples/data/browse/miscellaneous/GetAvailableGenreSeedsExample.java Update example to renamed recommendation-genres request/method
examples/data/browse/GetListOfFeaturedPlaylistsExample.java Update example to renamed featured-playlists request/method
examples/data/browse/GetCategorysPlaylistsExample.java Update example to renamed category-playlists request/method
Comments suppressed due to low confidence (2)

src/main/java/se/michaelthelin/spotify/requests/data/tracks/GetAudioFeaturesRequest.java:62

  • Javadoc has an extra period ("Builder}.."), likely a typo; please remove the duplicate punctuation.
    src/test/java/se/michaelthelin/spotify/requests/data/tracks/GetSeveralAudioFeaturesRequestTest.java:19
  • Test inconsistency: the request is built with 2 track IDs, but the mocked fixture/expectation asserts 3 audio features returned. In the real API the response array should correspond to the requested IDs (often same length, with nulls for unknown IDs). Consider updating the request to include 3 IDs (or adjusting the fixture/assertion to 2) so the test reflects realistic behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/main/java/se/michaelthelin/spotify/model_objects/special/SearchResult.java Outdated
@dargmuesli dargmuesli requested a review from Copilot May 1, 2026 03:25

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@dargmuesli dargmuesli marked this pull request as ready for review May 1, 2026 04:29
@dargmuesli dargmuesli force-pushed the feat/api/sync-spec branch from 2999c18 to e4558ac Compare May 1, 2026 04:30
feat: implement feedback

feat: adopt api naming

feat: add deprecated endpoints

fix: add deprecations

fix: update naming
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants