spotify_openapi
You can use Spotify's Web API to discover music and podcasts, manage your Spotify library, control audio playback, and much more.
In order to make successful Web API requests you will need a valid access token. One can be obtained through OAuth 2.0.
This Dart package is automatically generated by the OpenAPI Generator project:
- API version: 1.0.0
- Package version: 0.0.1
- Build package: org.openapitools.codegen.languages.DartDioClientCodegen
Requirements
- Dart 3.0.6+ or Flutter 3.10.6+
Installation & Usage
pub.dev (Recommended)
To pull the package from pub.dev, include the following in your pubspec.yaml
dependencies:
spotify_openapi: 0.0.1
Github
To pull the package from Github, include the following in your pubspec.yaml
dependencies:
spotify_openapi:
git:
url: https://github.com/aidan-mundy/spotify-api-dart.git
#ref: main
Local development
To use a local copy of the package, include the following in your pubspec.yaml
dependencies:
spotify_openapi:
path: /path/to/spotify_openapi
Getting Started
Please follow the installation procedure and then run the following:
import 'package:spotify_openapi/spotify_openapi.dart';
final api = SpotifyOpenapi().getAlbumsApi();
final String ids = 382ObEPsp2rxGrnsizN5TX,1A2GTWGtFfWp7KSQTwWOyo,2noRn2Aes5aoNVsU6iWThc; // String |
try {
final response = await api.checkUsersSavedAlbums(ids);
print(response);
} catch on DioException (e) {
print("Exception when calling AlbumsApi->checkUsersSavedAlbums: $e\n");
}
Documentation for API Endpoints
All URIs are relative to https://api.spotify.com/v1
Class | Method | HTTP request | Description |
---|---|---|---|
AlbumsApi | checkUsersSavedAlbums | GET /me/albums/contains | Check User's Saved Albums |
AlbumsApi | getAnAlbum | GET /albums/{id} | Get Album |
AlbumsApi | getAnAlbumsTracks | GET /albums/{id}/tracks | Get Album Tracks |
AlbumsApi | getAnArtistsAlbums | GET /artists/{id}/albums | Get Artist's Albums |
AlbumsApi | getMultipleAlbums | GET /albums | Get Several Albums |
AlbumsApi | getNewReleases | GET /browse/new-releases | Get New Releases |
AlbumsApi | getUsersSavedAlbums | GET /me/albums | Get User's Saved Albums |
AlbumsApi | removeAlbumsUser | DELETE /me/albums | Remove Users' Saved Albums |
AlbumsApi | saveAlbumsUser | PUT /me/albums | Save Albums for Current User |
ArtistsApi | checkCurrentUserFollows | GET /me/following/contains | Check If User Follows Artists or Users |
ArtistsApi | followArtistsUsers | PUT /me/following | Follow Artists or Users |
ArtistsApi | getAnArtist | GET /artists/{id} | Get Artist |
ArtistsApi | getAnArtistsAlbums | GET /artists/{id}/albums | Get Artist's Albums |
ArtistsApi | getAnArtistsRelatedArtists | GET /artists/{id}/related-artists | Get Artist's Related Artists |
ArtistsApi | getAnArtistsTopTracks | GET /artists/{id}/top-tracks | Get Artist's Top Tracks |
ArtistsApi | getFollowed | GET /me/following | Get Followed Artists |
ArtistsApi | getMultipleArtists | GET /artists | Get Several Artists |
ArtistsApi | unfollowArtistsUsers | DELETE /me/following | Unfollow Artists or Users |
AudiobooksApi | checkUsersSavedAudiobooks | GET /me/audiobooks/contains | Check User's Saved Audiobooks |
AudiobooksApi | getAnAudiobook | GET /audiobooks/{id} | Get an Audiobook |
AudiobooksApi | getAudiobookChapters | GET /audiobooks/{id}/chapters | Get Audiobook Chapters |
AudiobooksApi | getMultipleAudiobooks | GET /audiobooks | Get Several Audiobooks |
AudiobooksApi | getUsersSavedAudiobooks | GET /me/audiobooks | Get User's Saved Audiobooks |
AudiobooksApi | removeAudiobooksUser | DELETE /me/audiobooks | Remove User's Saved Audiobooks |
AudiobooksApi | saveAudiobooksUser | PUT /me/audiobooks | Save Audiobooks for Current User |
CategoriesApi | getACategoriesPlaylists | GET /browse/categories/{category_id}/playlists | Get Category's Playlists |
CategoriesApi | getACategory | GET /browse/categories/{category_id} | Get Single Browse Category |
CategoriesApi | getCategories | GET /browse/categories | Get Several Browse Categories |
ChaptersApi | getAChapter | GET /chapters/{id} | Get a Chapter |
ChaptersApi | getAudiobookChapters | GET /audiobooks/{id}/chapters | Get Audiobook Chapters |
ChaptersApi | getSeveralChapters | GET /chapters | Get Several Chapters |
EpisodesApi | checkUsersSavedEpisodes | GET /me/episodes/contains | Check User's Saved Episodes |
EpisodesApi | getAShowsEpisodes | GET /shows/{id}/episodes | Get Show Episodes |
EpisodesApi | getAnEpisode | GET /episodes/{id} | Get Episode |
EpisodesApi | getMultipleEpisodes | GET /episodes | Get Several Episodes |
EpisodesApi | getUsersSavedEpisodes | GET /me/episodes | Get User's Saved Episodes |
EpisodesApi | removeEpisodesUser | DELETE /me/episodes | Remove User's Saved Episodes |
EpisodesApi | saveEpisodesUser | PUT /me/episodes | Save Episodes for Current User |
GenresApi | getRecommendationGenres | GET /recommendations/available-genre-seeds | Get Available Genre Seeds |
LibraryApi | changePlaylistDetails | PUT /playlists/{playlist_id} | Change Playlist Details |
LibraryApi | checkCurrentUserFollows | GET /me/following/contains | Check If User Follows Artists or Users |
LibraryApi | checkUsersSavedAlbums | GET /me/albums/contains | Check User's Saved Albums |
LibraryApi | checkUsersSavedAudiobooks | GET /me/audiobooks/contains | Check User's Saved Audiobooks |
LibraryApi | checkUsersSavedEpisodes | GET /me/episodes/contains | Check User's Saved Episodes |
LibraryApi | checkUsersSavedShows | GET /me/shows/contains | Check User's Saved Shows |
LibraryApi | checkUsersSavedTracks | GET /me/tracks/contains | Check User's Saved Tracks |
LibraryApi | createPlaylist | POST /users/{user_id}/playlists | Create Playlist |
LibraryApi | followArtistsUsers | PUT /me/following | Follow Artists or Users |
LibraryApi | getAListOfCurrentUsersPlaylists | GET /me/playlists | Get Current User's Playlists |
LibraryApi | getFollowed | GET /me/following | Get Followed Artists |
LibraryApi | getUsersSavedAlbums | GET /me/albums | Get User's Saved Albums |
LibraryApi | getUsersSavedAudiobooks | GET /me/audiobooks | Get User's Saved Audiobooks |
LibraryApi | getUsersSavedEpisodes | GET /me/episodes | Get User's Saved Episodes |
LibraryApi | getUsersSavedShows | GET /me/shows | Get User's Saved Shows |
LibraryApi | getUsersSavedTracks | GET /me/tracks | Get User's Saved Tracks |
LibraryApi | getUsersTopArtistsAndTracks | GET /me/top/{type} | Get User's Top Items |
LibraryApi | removeAlbumsUser | DELETE /me/albums | Remove Users' Saved Albums |
LibraryApi | removeAudiobooksUser | DELETE /me/audiobooks | Remove User's Saved Audiobooks |
LibraryApi | removeEpisodesUser | DELETE /me/episodes | Remove User's Saved Episodes |
LibraryApi | removeShowsUser | DELETE /me/shows | Remove User's Saved Shows |
LibraryApi | removeTracksUser | DELETE /me/tracks | Remove User's Saved Tracks |
LibraryApi | saveAlbumsUser | PUT /me/albums | Save Albums for Current User |
LibraryApi | saveAudiobooksUser | PUT /me/audiobooks | Save Audiobooks for Current User |
LibraryApi | saveEpisodesUser | PUT /me/episodes | Save Episodes for Current User |
LibraryApi | saveShowsUser | PUT /me/shows | Save Shows for Current User |
LibraryApi | saveTracksUser | PUT /me/tracks | Save Tracks for Current User |
LibraryApi | unfollowArtistsUsers | DELETE /me/following | Unfollow Artists or Users |
MarketsApi | getAvailableMarkets | GET /markets | Get Available Markets |
PlayerApi | addToQueue | POST /me/player/queue | Add Item to Playback Queue |
PlayerApi | getAUsersAvailableDevices | GET /me/player/devices | Get Available Devices |
PlayerApi | getInformationAboutTheUsersCurrentPlayback | GET /me/player | Get Playback State |
PlayerApi | getQueue | GET /me/player/queue | Get the User's Queue |
PlayerApi | getRecentlyPlayed | GET /me/player/recently-played | Get Recently Played Tracks |
PlayerApi | getTheUsersCurrentlyPlayingTrack | GET /me/player/currently-playing | Get Currently Playing Track |
PlayerApi | pauseAUsersPlayback | PUT /me/player/pause | Pause Playback |
PlayerApi | seekToPositionInCurrentlyPlayingTrack | PUT /me/player/seek | Seek To Position |
PlayerApi | setRepeatModeOnUsersPlayback | PUT /me/player/repeat | Set Repeat Mode |
PlayerApi | setVolumeForUsersPlayback | PUT /me/player/volume | Set Playback Volume |
PlayerApi | skipUsersPlaybackToNextTrack | POST /me/player/next | Skip To Next |
PlayerApi | skipUsersPlaybackToPreviousTrack | POST /me/player/previous | Skip To Previous |
PlayerApi | startAUsersPlayback | PUT /me/player/play | Start/Resume Playback |
PlayerApi | toggleShuffleForUsersPlayback | PUT /me/player/shuffle | Toggle Playback Shuffle |
PlayerApi | transferAUsersPlayback | PUT /me/player | Transfer Playback |
PlaylistsApi | addTracksToPlaylist | POST /playlists/{playlist_id}/tracks | Add Items to Playlist |
PlaylistsApi | changePlaylistDetails | PUT /playlists/{playlist_id} | Change Playlist Details |
PlaylistsApi | checkIfUserFollowsPlaylist | GET /playlists/{playlist_id}/followers/contains | Check if Users Follow Playlist |
PlaylistsApi | createPlaylist | POST /users/{user_id}/playlists | Create Playlist |
PlaylistsApi | followPlaylist | PUT /playlists/{playlist_id}/followers | Follow Playlist |
PlaylistsApi | getACategoriesPlaylists | GET /browse/categories/{category_id}/playlists | Get Category's Playlists |
PlaylistsApi | getAListOfCurrentUsersPlaylists | GET /me/playlists | Get Current User's Playlists |
PlaylistsApi | getFeaturedPlaylists | GET /browse/featured-playlists | Get Featured Playlists |
PlaylistsApi | getListUsersPlaylists | GET /users/{user_id}/playlists | Get User's Playlists |
PlaylistsApi | getPlaylist | GET /playlists/{playlist_id} | Get Playlist |
PlaylistsApi | getPlaylistCover | GET /playlists/{playlist_id}/images | Get Playlist Cover Image |
PlaylistsApi | getPlaylistsTracks | GET /playlists/{playlist_id}/tracks | Get Playlist Items |
PlaylistsApi | removeTracksPlaylist | DELETE /playlists/{playlist_id}/tracks | Remove Playlist Items |
PlaylistsApi | reorderOrReplacePlaylistsTracks | PUT /playlists/{playlist_id}/tracks | Update Playlist Items |
PlaylistsApi | unfollowPlaylist | DELETE /playlists/{playlist_id}/followers | Unfollow Playlist |
PlaylistsApi | uploadCustomPlaylistCover | PUT /playlists/{playlist_id}/images | Add Custom Playlist Cover Image |
SearchApi | search | GET /search | Search for Item |
ShowsApi | checkUsersSavedShows | GET /me/shows/contains | Check User's Saved Shows |
ShowsApi | getAShow | GET /shows/{id} | Get Show |
ShowsApi | getAShowsEpisodes | GET /shows/{id}/episodes | Get Show Episodes |
ShowsApi | getMultipleShows | GET /shows | Get Several Shows |
ShowsApi | getUsersSavedShows | GET /me/shows | Get User's Saved Shows |
ShowsApi | removeShowsUser | DELETE /me/shows | Remove User's Saved Shows |
ShowsApi | saveShowsUser | PUT /me/shows | Save Shows for Current User |
TracksApi | addTracksToPlaylist | POST /playlists/{playlist_id}/tracks | Add Items to Playlist |
TracksApi | checkUsersSavedTracks | GET /me/tracks/contains | Check User's Saved Tracks |
TracksApi | getAnAlbumsTracks | GET /albums/{id}/tracks | Get Album Tracks |
TracksApi | getAnArtistsTopTracks | GET /artists/{id}/top-tracks | Get Artist's Top Tracks |
TracksApi | getAudioAnalysis | GET /audio-analysis/{id} | Get Track's Audio Analysis |
TracksApi | getAudioFeatures | GET /audio-features/{id} | Get Track's Audio Features |
TracksApi | getPlaylistsTracks | GET /playlists/{playlist_id}/tracks | Get Playlist Items |
TracksApi | getRecommendations | GET /recommendations | Get Recommendations |
TracksApi | getSeveralAudioFeatures | GET /audio-features | Get Tracks' Audio Features |
TracksApi | getSeveralTracks | GET /tracks | Get Several Tracks |
TracksApi | getTrack | GET /tracks/{id} | Get Track |
TracksApi | getUsersSavedTracks | GET /me/tracks | Get User's Saved Tracks |
TracksApi | getUsersTopArtistsAndTracks | GET /me/top/{type} | Get User's Top Items |
TracksApi | removeTracksPlaylist | DELETE /playlists/{playlist_id}/tracks | Remove Playlist Items |
TracksApi | removeTracksUser | DELETE /me/tracks | Remove User's Saved Tracks |
TracksApi | reorderOrReplacePlaylistsTracks | PUT /playlists/{playlist_id}/tracks | Update Playlist Items |
TracksApi | saveTracksUser | PUT /me/tracks | Save Tracks for Current User |
UsersApi | checkCurrentUserFollows | GET /me/following/contains | Check If User Follows Artists or Users |
UsersApi | checkIfUserFollowsPlaylist | GET /playlists/{playlist_id}/followers/contains | Check if Users Follow Playlist |
UsersApi | followArtistsUsers | PUT /me/following | Follow Artists or Users |
UsersApi | followPlaylist | PUT /playlists/{playlist_id}/followers | Follow Playlist |
UsersApi | getCurrentUsersProfile | GET /me | Get Current User's Profile |
UsersApi | getFollowed | GET /me/following | Get Followed Artists |
UsersApi | getListUsersPlaylists | GET /users/{user_id}/playlists | Get User's Playlists |
UsersApi | getUsersProfile | GET /users/{user_id} | Get User's Profile |
UsersApi | getUsersTopArtistsAndTracks | GET /me/top/{type} | Get User's Top Items |
UsersApi | unfollowArtistsUsers | DELETE /me/following | Unfollow Artists or Users |
UsersApi | unfollowPlaylist | DELETE /playlists/{playlist_id}/followers | Unfollow Playlist |
Documentation For Models
- AddTracksToPlaylistRequest
- AlbumBase
- AlbumBaseExternalIds
- AlbumBaseExternalUrls
- AlbumBaseRestrictions
- AlbumObject
- AlbumRestrictionObject
- ArtistObject
- ArtistObjectExternalUrls
- ArtistObjectFollowers
- AudioAnalysisObject
- AudioAnalysisObjectMeta
- AudioAnalysisObjectTrack
- AudioFeaturesObject
- AudiobookBase
- AudiobookBaseExternalUrls
- AudiobookObject
- AudiobookObjectAllOfChapters
- AuthorObject
- CategoryObject
- ChangePlaylistDetailsRequest
- ChapterBase
- ChapterBaseRestrictions
- ChapterObject
- ChapterRestrictionObject
- ContextObject
- ContextObjectExternalUrls
- CopyrightObject
- CreatePlaylistRequest
- CurrentlyPlayingContextObject
- CurrentlyPlayingContextObjectActions
- CurrentlyPlayingContextObjectDevice
- CurrentlyPlayingObject
- CurrentlyPlayingObjectContext
- CurrentlyPlayingObjectItem
- CursorObject
- CursorPagingObject
- CursorPagingObjectCursors
- CursorPagingPlayHistoryObject
- CursorPagingSimplifiedArtistObject
- DeviceObject
- DevicesObject
- DisallowsObject
- EpisodeBase
- EpisodeBaseExternalUrls
- EpisodeBaseRestrictions
- EpisodeBaseResumePoint
- EpisodeObject
- EpisodeRestrictionObject
- ErrorObject
- ExplicitContentSettingsObject
- ExternalIdObject
- ExternalUrlObject
- FollowArtistsUsersRequest
- FollowPlaylistRequest
- FollowersObject
- GetAUsersAvailableDevices200Response
- GetAnAlbum401Response
- GetAnArtistsTopTracks200Response
- GetAvailableMarkets200Response
- GetCategories200Response
- GetFollowed200Response
- GetMultipleAlbums200Response
- GetMultipleArtists200Response
- GetMultipleAudiobooks200Response
- GetMultipleEpisodes200Response
- GetMultipleShows200Response
- GetNewReleases200Response
- GetRecommendationGenres200Response
- GetSeveralAudioFeatures200Response
- GetSeveralChapters200Response
- GetUsersTopArtistsAndTracks200Response
- GetUsersTopArtistsAndTracks200ResponseAllOfItemsInner
- ImageObject
- LinkedTrackObject
- LinkedTrackObjectExternalUrls
- NarratorObject
- PagingArtistObject
- PagingFeaturedPlaylistObject
- PagingObject
- PagingPlaylistObject
- PagingPlaylistTrackObject
- PagingSavedAlbumObject
- PagingSavedEpisodeObject
- PagingSavedShowObject
- PagingSavedTrackObject
- PagingSimplifiedAlbumObject
- PagingSimplifiedArtistObject
- PagingSimplifiedAudiobookObject
- PagingSimplifiedChapterObject
- PagingSimplifiedEpisodeObject
- PagingSimplifiedShowObject
- PagingSimplifiedTrackObject
- PagingTrackObject
- PlayHistoryObject
- PlayHistoryObjectContext
- PlayHistoryObjectTrack
- PlayerErrorObject
- PlayerErrorReasons
- PlaylistObject
- PlaylistObjectExternalUrls
- PlaylistObjectFollowers
- PlaylistObjectOwner
- PlaylistObjectTracks
- PlaylistOwnerObject
- PlaylistTrackObject
- PlaylistTrackObjectAddedBy
- PlaylistTrackObjectTrack
- PlaylistTracksRefObject
- PlaylistUserObject
- PrivateUserObject
- PrivateUserObjectExplicitContent
- PrivateUserObjectExternalUrls
- PrivateUserObjectFollowers
- PublicUserObject
- PublicUserObjectExternalUrls
- PublicUserObjectFollowers
- QueueObject
- QueueObjectQueueInner
- RecommendationSeedObject
- RecommendationsObject
- RemoveEpisodesUserRequest
- RemoveTracksPlaylistRequest
- RemoveTracksPlaylistRequestTracksInner
- ReorderOrReplacePlaylistsTracks200Response
- ReorderOrReplacePlaylistsTracksRequest
- ResumePointObject
- SaveAlbumsUserRequest
- SaveEpisodesUserRequest
- SaveTracksUserRequest
- SavedAlbumObject
- SavedAlbumObjectAlbum
- SavedEpisodeObject
- SavedEpisodeObjectEpisode
- SavedShowObject
- SavedShowObjectShow
- SavedTrackObject
- SavedTrackObjectTrack
- Search200Response
- SectionObject
- SegmentObject
- ShowBase
- ShowBaseExternalUrls
- ShowObject
- ShowObjectAllOfEpisodes
- SimplifiedAlbumObject
- SimplifiedArtistObject
- SimplifiedAudiobookObject
- SimplifiedChapterObject
- SimplifiedEpisodeObject
- SimplifiedPlaylistObject
- SimplifiedPlaylistObjectTracks
- SimplifiedShowObject
- SimplifiedTrackObject
- SimplifiedTrackObjectExternalUrls
- SimplifiedTrackObjectLinkedFrom
- SimplifiedTrackObjectRestrictions
- StartAUsersPlaybackRequest
- TimeIntervalObject
- TrackObject
- TrackObjectAlbum
- TrackObjectExternalIds
- TrackRestrictionObject
- TransferAUsersPlaybackRequest
- TuneableTrackObject
- UnfollowArtistsUsersRequest
Documentation For Authorization
Authentication schemes defined for the API:
oauth_2_0
- Type: OAuth
- Flow: accessCode
- Authorization URL: https://accounts.spotify.com/authorize
- Scopes:
- app-remote-control: Communicate with the Spotify app on your device.
- playlist-read-private: Access your private playlists.
- playlist-read-collaborative: Access your collaborative playlists.
- playlist-modify-public: Manage your public playlists.
- playlist-modify-private: Manage your private playlists.
- user-library-read: Access your saved content.
- user-library-modify: Manage your saved content.
- user-read-private: Access your subscription details.
- user-read-email: Get your real email address.
- user-follow-read: Access your followers and who you are following.
- user-follow-modify: Manage your saved content.
- user-top-read: Read your top artists and content.
- user-read-playback-position: Read your position in content you have played.
- user-read-playback-state: Read your currently playing content and Spotify Connect devices information.
- user-read-recently-played: Access your recently played items.
- user-read-currently-playing: Read your currently playing content.
- user-modify-playback-state: Control playback on your Spotify clients and Spotify Connect devices.
- ugc-image-upload: Upload images to Spotify on your behalf.
- streaming: Play content and control playback on your other devices.