using System.Threading; using System.Threading.Tasks; namespace SpotifyAPI.Web { /// /// Endpoints for retrieving information about one or more artists from the Spotify catalog. /// public interface IArtistsClient { /// /// Get Spotify catalog information for several artists based on their Spotify IDs. /// /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-multiple-artists /// /// The request-model which contains required and optional parameters /// The cancellation-token to allow to cancel the request. /// Task GetSeveral(ArtistsRequest request, CancellationToken cancel = default); /// /// Get Spotify catalog information for a single artist identified by their unique Spotify ID. /// /// The Spotify ID of the artist. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-an-artist /// /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")] Task Get(string artistId, CancellationToken cancel = default); /// /// Get Spotify catalog information about an artist’s albums. /// Optional parameters can be specified in the query string to filter and sort the response. /// /// The Spotify ID for the artist. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-an-artists-albums /// /// Task> GetAlbums(string artistId, CancellationToken cancel = default); /// /// Get Spotify catalog information about an artist’s albums. /// Optional parameters can be specified in the query string to filter and sort the response. /// /// The Spotify ID for the artist. /// The request-model which contains required and optional parameters /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-an-artists-albums /// /// Task> GetAlbums(string artistId, ArtistsAlbumsRequest request, CancellationToken cancel = default); /// /// Get Spotify catalog information about an artist’s top tracks by country. /// /// The Spotify ID for the artist /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-an-artists-top-tracks /// /// Task GetTopTracks(string artistId, ArtistsTopTracksRequest request, CancellationToken cancel = default); /// /// Get Spotify catalog information about artists similar to a given artist. /// Similarity is based on analysis of the Spotify community’s listening history. /// /// The Spotify ID for the artist /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-an-artists-related-artists /// /// Task GetRelatedArtists(string artistId, CancellationToken cancel = default); } }