openapi: 3.0.3
info:
description: 'You can use Spotify''s Web API to discover music and podcasts, manage your Spotify library, control audio playback, and much more. Browse our available Web API endpoints using the sidebar at left, or via the navigation bar on top of this page on smaller screens.
In order to make successful Web API requests your app will need a valid access token. One can be obtained through OAuth 2.0.
The base URI for all Web API requests is `https://api.spotify.com/v1`.
Need help? See our Web API guides for more information, or visit the Spotify for Developers community forum to ask questions and connect with other developers.
'
version: 1.0.0
title: Spotify Web Albums Users API
termsOfService: https://developer.spotify.com/terms/
contact:
name: Spotify for Developers Community
url: https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer
servers:
- url: https://api.spotify.com/v1
tags:
- name: Users
paths:
/me:
get:
tags:
- Users
operationId: get-current-users-profile
summary: 'Get Current User''s Profile
'
description: 'Get detailed profile information about the current user (including the
current user''s username).
'
responses:
'200':
$ref: '#/components/responses/OnePrivateUser'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0:
- user-read-private
- user-read-email
/me/top/{type}:
get:
tags:
- Users
operationId: get-users-top-artists-and-tracks
summary: 'Get User''s Top Items
'
description: 'Get the current user''s top artists or tracks based on calculated affinity.
'
parameters:
- name: type
required: true
in: path
schema:
title: Type
description: 'The type of entity to return. Valid values: `artists` or `tracks`
'
enum:
- artists
- tracks
type: string
- name: time_range
required: false
in: query
schema:
title: Time Range
description: 'Over what time frame the affinities are computed. Valid values: `long_term` (calculated from ~1 year of data and including all new data as it becomes available), `medium_term` (approximately last 6 months), `short_term` (approximately last 4 weeks). Default: `medium_term`
'
default: medium_term
example: medium_term
type: string
- $ref: '#/components/parameters/QueryLimit'
- $ref: '#/components/parameters/QueryOffset'
responses:
'200':
$ref: '#/components/responses/PagingArtistOrTrackObject'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0:
- user-top-read
/users/{user_id}:
get:
deprecated: true
tags:
- Users
operationId: get-users-profile
summary: 'Get User''s Profile
'
description: 'Get public profile information about a Spotify user.
'
parameters:
- $ref: '#/components/parameters/PathUserId'
responses:
'200':
$ref: '#/components/responses/OnePublicUser'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0: []
/users/{user_id}/playlists:
get:
deprecated: true
tags:
- Users
operationId: get-list-users-playlists
summary: 'Get User''s Playlists
'
description: 'Get a list of the playlists owned or followed by a Spotify user.
'
parameters:
- $ref: '#/components/parameters/PathUserId'
- $ref: '#/components/parameters/QueryLimit'
- name: offset
required: false
in: query
schema:
title: Offset
description: 'The index of the first playlist to return. Default:
0 (the first object). Maximum offset: 100.000\. Use with `limit` to get the
next set of playlists.
'
default: 0
example: 5
type: integer
responses:
'200':
$ref: '#/components/responses/PagedPlaylists'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0:
- playlist-read-private
- playlist-read-collaborative
/playlists/{playlist_id}/followers:
put:
deprecated: true
tags:
- Users
operationId: follow-playlist
description: 'Add the current user as a follower of a playlist.
**Note:** This endpoint is deprecated. Use [Save Items to Library](/documentation/web-api/reference/save-library-items) instead.
'
summary: 'Follow Playlist
'
parameters:
- $ref: '#/components/parameters/PathPlaylistId'
requestBody:
content:
application/json:
schema:
example:
public: false
type: object
additionalProperties: true
properties:
public:
type: boolean
description: 'Defaults to `true`. If `true` the playlist will be included in user''s public playlists (added to profile), if `false` it will remain private. For more about public/private status, see [Working with Playlists](/documentation/web-api/concepts/playlists)
'
responses:
'200':
description: Playlist followed
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0:
- playlist-modify-public
- playlist-modify-private
delete:
deprecated: true
tags:
- Users
operationId: unfollow-playlist
summary: 'Unfollow Playlist
'
description: 'Remove the current user as a follower of a playlist.
**Note:** This endpoint is deprecated. Use [Remove Items from Library](/documentation/web-api/reference/remove-library-items) instead.
'
parameters:
- $ref: '#/components/parameters/PathPlaylistId'
responses:
'200':
description: Playlist unfollowed
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0:
- playlist-modify-public
- playlist-modify-private
/me/following:
get:
tags:
- Users
operationId: get-followed
summary: 'Get Followed Artists
'
description: 'Get the current user''s followed artists.
'
parameters:
- name: type
required: true
in: query
schema:
title: Item Type
description: 'The ID type: currently only `artist` is supported.
'
enum:
- artist
example: artist
type: string
- name: after
required: false
in: query
schema:
title: After
description: 'The last artist ID retrieved from the previous request.
'
example: 0I2XqVXqHScXjHhk6AYYRe
type: string
- name: limit
required: false
in: query
schema:
title: Limit
description: 'The maximum number of items to return. Default: 20\. Minimum: 1\. Maximum: 50\.
'
default: 20
example: 10
type: integer
minimum: 0
maximum: 50
responses:
'200':
$ref: '#/components/responses/CursorPagedArtists'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0:
- user-follow-read
put:
deprecated: true
tags:
- Users
operationId: follow-artists-users
summary: 'Follow Artists or Users
'
description: 'Add the current user as a follower of one or more artists or other Spotify users.
**Note:** This endpoint is deprecated. Use [Save Items to Library](/documentation/web-api/reference/save-library-items) instead.
'
parameters:
- name: type
required: true
in: query
schema:
title: Item Type
description: 'The ID type.
'
enum:
- artist
- user
example: artist
type: string
- name: ids
required: true
in: query
schema:
title: Spotify IDs
description: 'A comma-separated list of the artist or the user [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids).
A maximum of 50 IDs can be sent in one request.
'
example: 2CIMQHirSU0MQqyYHq0eOx,57dN52uHvrHOxijzpIgu3E,1vCWHaC5f2uS3yhpwWbIA6
type: string
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
required:
- ids
properties:
ids:
type: array
description: 'A JSON array of the artist or user [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids).
For example: `{ids:["74ASZWbe4lXaubB36ztrGX", "08td7MxkoHQkXnWAYD8d6Q"]}`. A maximum of 50 IDs can be sent in one request. _**Note**: if the `ids` parameter is present in the query string, any IDs listed here in the body will be ignored._
'
items:
type: string
responses:
'204':
description: Artist or user followed
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0:
- user-follow-modify
delete:
deprecated: true
tags:
- Users
operationId: unfollow-artists-users
summary: 'Unfollow Artists or Users
'
description: 'Remove the current user as a follower of one or more artists or other Spotify users.
**Note:** This endpoint is deprecated. Use [Remove Items from Library](/documentation/web-api/reference/remove-library-items) instead.
'
parameters:
- name: type
required: true
in: query
schema:
title: Item Type
description: 'The ID type: either `artist` or `user`.
'
enum:
- artist
- user
example: artist
type: string
- name: ids
required: true
in: query
schema:
title: Spotify IDs
description: 'A comma-separated list of the artist or the user [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example: `ids=74ASZWbe4lXaubB36ztrGX,08td7MxkoHQkXnWAYD8d6Q`. A maximum of 50 IDs can be sent in one request.
'
example: 2CIMQHirSU0MQqyYHq0eOx,57dN52uHvrHOxijzpIgu3E,1vCWHaC5f2uS3yhpwWbIA6
type: string
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
properties:
ids:
type: array
description: 'A JSON array of the artist or user [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example: `{ids:["74ASZWbe4lXaubB36ztrGX", "08td7MxkoHQkXnWAYD8d6Q"]}`. A maximum of 50 IDs can be sent in one request. _**Note**: if the `ids` parameter is present in the query string, any IDs listed here in the body will be ignored._
'
items:
type: string
responses:
'204':
description: Artist or user unfollowed
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0:
- user-follow-modify
/me/following/contains:
get:
tags:
- Users
operationId: check-current-user-follows
summary: 'Check If User Follows Artists or Users
'
deprecated: true
description: 'Check to see if the current user is following one or more artists or other Spotify users.
**Note:** This endpoint is deprecated. Use [Check User''s Saved Items](/documentation/web-api/reference/check-library-contains) instead.
'
parameters:
- name: type
required: true
in: query
schema:
title: Item Type
description: 'The ID type: either `artist` or `user`.
'
enum:
- artist
- user
example: artist
type: string
- name: ids
required: true
in: query
schema:
title: Spotify IDs
description: 'A comma-separated list of the artist or the user [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) to check. For example: `ids=74ASZWbe4lXaubB36ztrGX,08td7MxkoHQkXnWAYD8d6Q`. A maximum of 50 IDs can be sent in one request.
'
example: 2CIMQHirSU0MQqyYHq0eOx,57dN52uHvrHOxijzpIgu3E,1vCWHaC5f2uS3yhpwWbIA6
type: string
responses:
'200':
$ref: '#/components/responses/ArrayOfBooleans'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0:
- user-follow-read
/playlists/{playlist_id}/followers/contains:
get:
tags:
- Users
operationId: check-if-user-follows-playlist
summary: 'Check if Current User Follows Playlist
'
deprecated: true
description: 'Check to see if the current user is following a specified playlist.
**Note:** This endpoint is deprecated. Use [Check User''s Saved Items](/documentation/web-api/reference/check-library-contains) instead.
'
parameters:
- $ref: '#/components/parameters/PathPlaylistId'
- name: ids
required: false
in: query
schema:
title: Spotify user IDs
description: '**Deprecated** A single item list containing current user''s [Spotify Username](/documentation/web-api/concepts/spotify-uris-ids). Maximum: 1 id.
'
example: jmperezperez
type: string
responses:
'200':
$ref: '#/components/responses/SingletonArrayOfBoolean'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- oauth_2_0: []
components:
responses:
OnePrivateUser:
description: A user
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateUserObject'
CursorPagedArtists:
description: A paged set of artists
content:
application/json:
schema:
type: object
required:
- artists
properties:
artists:
$ref: '#/components/schemas/CursorPagingSimplifiedArtistObject'
Forbidden:
description: 'Bad OAuth request (wrong consumer key, bad nonce, expired
timestamp...). Unfortunately, re-authenticating the user won''t help here.
'
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
$ref: '#/components/schemas/ErrorObject'
OnePublicUser:
description: A user
content:
application/json:
schema:
$ref: '#/components/schemas/PublicUserObject'
Unauthorized:
description: 'Bad or expired token. This can happen if the user revoked a token or
the access token has expired. You should re-authenticate the user.
'
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
$ref: '#/components/schemas/ErrorObject'
PagingArtistOrTrackObject:
description: Pages of artists or tracks
content:
application/json:
schema:
type: object
allOf:
- $ref: '#/components/schemas/PagingObject'
- type: object
properties:
items:
type: array
items:
type: object
oneOf:
- $ref: '#/components/schemas/ArtistObject'
- $ref: '#/components/schemas/TrackObject'
discriminator:
propertyName: type
PagedPlaylists:
description: A paged set of playlists
content:
application/json:
schema:
$ref: '#/components/schemas/PagingPlaylistObject'
ArrayOfBooleans:
description: Array of booleans
content:
application/json:
schema:
type: array
example:
- false
- true
items:
type: boolean
TooManyRequests:
description: 'The app has exceeded its rate limits.
'
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
$ref: '#/components/schemas/ErrorObject'
SingletonArrayOfBoolean:
description: Array of boolean, containing a single boolean
content:
application/json:
schema:
type: array
example:
- true
items:
type: boolean
schemas:
TrackRestrictionObject:
type: object
x-spotify-docs-type: TrackRestrictionObject
properties:
reason:
type: string
description: 'The reason for the restriction. Supported values:
- `market` - The content item is not available in the given market.
- `product` - The content item is not available for the user''s subscription type.
- `explicit` - The content item is explicit and the user''s account is set to not play explicit content.
Additional reasons may be added in the future.
**Note**: If you use this field, make sure that your application safely handles unknown values.
'
PrivateUserObject:
type: object
x-spotify-docs-type: PrivateUserObject
properties:
country:
deprecated: true
type: string
description: 'The country of the user, as set in the user''s account profile. An [ISO 3166-1 alpha-2 country code](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). _This field is only available when the current user has granted access to the [user-read-private](/documentation/web-api/concepts/scopes/#list-of-scopes) scope._
'
display_name:
type: string
description: 'The name displayed on the user''s profile. `null` if not available.
'
email:
deprecated: true
type: string
description: 'The user''s email address, as entered by the user when creating their account. _**Important!** This email address is unverified; there is no proof that it actually belongs to the user._ _This field is only available when the current user has granted access to the [user-read-email](/documentation/web-api/concepts/scopes/#list-of-scopes) scope._
'
explicit_content:
deprecated: true
allOf:
- $ref: '#/components/schemas/ExplicitContentSettingsObject'
description: 'The user''s explicit content settings. _This field is only available when the current user has granted access to the [user-read-private](/documentation/web-api/concepts/scopes/#list-of-scopes) scope._
'
external_urls:
allOf:
- $ref: '#/components/schemas/ExternalUrlObject'
description: Known external URLs for this user.
followers:
deprecated: true
allOf:
- $ref: '#/components/schemas/FollowersObject'
description: Information about the followers of the user.
href:
type: string
description: 'A link to the Web API endpoint for this user.
'
id:
type: string
description: 'The [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids) for the user.
'
images:
type: array
items:
$ref: '#/components/schemas/ImageObject'
description: The user's profile image.
product:
deprecated: true
type: string
description: 'The user''s Spotify subscription level: "premium", "free", etc. (The subscription level "open" can be considered the same as "free".) _This field is only available when the current user has granted access to the [user-read-private](/documentation/web-api/concepts/scopes/#list-of-scopes) scope._
'
type:
type: string
description: 'The object type: "user"
'
uri:
type: string
description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the user.
'
AlbumBase:
type: object
required:
- album_type
- total_tracks
- available_markets
- external_urls
- href
- id
- images
- name
- release_date
- release_date_precision
- type
- uri
properties:
album_type:
type: string
description: 'The type of the album.
'
enum:
- album
- single
- compilation
example: compilation
total_tracks:
type: integer
description: The number of tracks in the album.
example: 9
available_markets:
deprecated: true
type: array
items:
type: string
example:
- CA
- BR
- IT
description: 'The markets in which the album is available: [ISO 3166-1 alpha-2 country codes](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). _**NOTE**: an album is considered available in a market when at least 1 of its tracks is available in that market._
'
external_urls:
allOf:
- $ref: '#/components/schemas/ExternalUrlObject'
description: 'Known external URLs for this album.
'
href:
type: string
description: 'A link to the Web API endpoint providing full details of the album.
'
id:
type: string
description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the album.
'
example: 2up3OPMp9Tb4dAKM2erWXQ
images:
type: array
items:
$ref: '#/components/schemas/ImageObject'
description: 'The cover art for the album in various sizes, widest first.
'
name:
type: string
description: 'The name of the album. In case of an album takedown, the value may be an empty string.
'
release_date:
type: string
example: 1981-12
description: 'The date the album was first released.
'
release_date_precision:
type: string
enum:
- year
- month
- day
example: year
description: 'The precision with which `release_date` value is known.
'
restrictions:
allOf:
- $ref: '#/components/schemas/AlbumRestrictionObject'
description: 'Included in the response when a content restriction is applied.
'
type:
type: string
enum:
- album
description: 'The object type.
'
uri:
type: string
example: spotify:album:2up3OPMp9Tb4dAKM2erWXQ
description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the album.
'
SimplifiedPlaylistObject:
type: object
x-spotify-docs-type: SimplifiedPlaylistObject
properties:
collaborative:
type: boolean
description: '`true` if the owner allows other users to modify the playlist.
'
description:
type: string
description: 'The playlist description. _Only returned for modified, verified playlists, otherwise_ `null`.
'
external_urls:
allOf:
- $ref: '#/components/schemas/ExternalUrlObject'
description: 'Known external URLs for this playlist.
'
href:
type: string
description: 'A link to the Web API endpoint providing full details of the playlist.
'
id:
type: string
description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the playlist.
'
images:
type: array
items:
$ref: '#/components/schemas/ImageObject'
description: 'Images for the playlist. The array may be empty or contain up to three images. The images are returned by size in descending order. See [Working with Playlists](/documentation/web-api/concepts/playlists). _**Note**: If returned, the source URL for the image (`url`) is temporary and will expire in less than a day._
'
name:
type: string
description: 'The name of the playlist.
'
owner:
allOf:
- $ref: '#/components/schemas/PlaylistOwnerObject'
description: 'The user who owns the playlist
'
public:
type: boolean
description: 'The playlist''s public/private status (if it is added to the user''s profile): `true` the playlist is public, `false` the playlist is private, `null` the playlist status is not relevant. For more about public/private status, see [Working with Playlists](/documentation/web-api/concepts/playlists)
'
snapshot_id:
type: string
description: 'The version identifier for the current playlist. Can be supplied in other requests to target a specific playlist version
'
items:
allOf:
- $ref: '#/components/schemas/PlaylistTracksRefObject'
description: 'A collection containing a link ( `href` ) to the Web API endpoint where full details of the playlist''s items can be retrieved, along with the `total` number of items in the playlist. Note, a track object may be `null`. This can happen if a track is no longer available.
'
tracks:
allOf:
- $ref: '#/components/schemas/PlaylistTracksRefObject'
deprecated: true
description: '**Deprecated:** Use `items` instead. A collection containing a link ( `href` ) to the Web API endpoint where full details of the playlist''s tracks can be retrieved, along with the `total` number of tracks in the playlist. Note, a track object may be `null`. This can happen if a track is no longer available.
'
type:
type: string
description: 'The object type: "playlist"
'
uri:
type: string
description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the playlist.
'
ExternalUrlObject:
type: object
x-spotify-docs-type: ExternalUrlObject
properties:
spotify:
type: string
description: 'The [Spotify URL](/documentation/web-api/concepts/spotify-uris-ids) for the object.
'
PlaylistUserObject:
type: object
x-spotify-docs-type: PlaylistUserObject
properties:
external_urls:
allOf:
- $ref: '#/components/schemas/ExternalUrlObject'
description: 'Known public external URLs for this user.
'
href:
type: string
description: 'A link to the Web API endpoint for this user.
'
id:
type: string
description: 'The [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids) for this user.
'
type:
type: string
enum:
- user
description: 'The object type.
'
uri:
type: string
description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for this user.
'
CursorObject:
type: object
x-spotify-docs-type: CursorObject
properties:
after:
type: string
description: The cursor to use as key to find the next page of items.
before:
type: string
description: The cursor to use as key to find the previous page of items.
ErrorObject:
type: object
x-spotify-docs-type: ErrorObject
required:
- status
- message
properties:
status:
type: integer
minimum: 400
maximum: 599
description: 'The HTTP status code (also returned in the response header; see [Response Status Codes](/documentation/web-api/concepts/api-calls#response-status-codes) for more information).
'
message:
type: string
description: 'A short description of the cause of the error.
'
PagingPlaylistObject:
type: object
x-spotify-docs-type: PagingPlaylistObject
allOf:
- $ref: '#/components/schemas/PagingObject'
- type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SimplifiedPlaylistObject'
PublicUserObject:
type: object
x-spotify-docs-type: PublicUserObject
properties:
display_name:
type: string
nullable: true
description: 'The name displayed on the user''s profile. `null` if not available.
'
external_urls:
allOf:
- $ref: '#/components/schemas/ExternalUrlObject'
description: 'Known public external URLs for this user.
'
followers:
deprecated: true
allOf:
- $ref: '#/components/schemas/FollowersObject'
description: 'Information about the followers of this user.
'
href:
type: string
description: 'A link to the Web API endpoint for this user.
'
id:
type: string
description: 'The [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids) for this user.
'
images:
type: array
items:
$ref: '#/components/schemas/ImageObject'
description: 'The user''s profile image.
'
type:
type: string
enum:
- user
description: 'The object type.
'
uri:
type: string
description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for this user.
'
CursorPagingObject:
type: object
x-spotify-docs-type: CursorPagingObject
properties:
href:
type: string
description: A link to the Web API endpoint returning the full result of the request.
limit:
type: integer
description: The maximum number of items in the response (as set in the query or by default).
next:
type: string
description: URL to the next page of items. ( `null` if none)
cursors:
allOf:
- $ref: '#/components/schemas/CursorObject'
description: The cursors used to find the next set of items.
total:
type: integer
description: The total number of items available to return.
ImageObject:
type: object
x-spotify-docs-type: ImageObject
required:
- url
- height
- width
properties:
url:
type: string
example: 'https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228
'
description: 'The source URL of the image.
'
height:
type: integer
example: 300
nullable: true
description: 'The image height in pixels.
'
width:
type: integer
example: 300
nullable: true
description: 'The image width in pixels.
'
ExplicitContentSettingsObject:
type: object
x-spotify-docs-type: ExplicitContentSettingsObject
properties:
filter_enabled:
type: boolean
description: 'When `true`, indicates that explicit content should not be played.
'
filter_locked:
type: boolean
description: 'When `true`, indicates that the explicit content setting is locked and can''t be changed by the user.
'
ArtistObject:
type: object
x-spotify-docs-type: ArtistObject
properties:
external_urls:
allOf:
- $ref: '#/components/schemas/ExternalUrlObject'
description: 'Known external URLs for this artist.
'
followers:
deprecated: true
allOf:
- $ref: '#/components/schemas/FollowersObject'
description: 'Information about the followers of the artist.
'
genres:
deprecated: true
type: array
items:
type: string
example:
- Prog rock
- Grunge
description: 'A list of the genres the artist is associated with. If not yet classified, the array is empty.
'
href:
type: string
description: 'A link to the Web API endpoint providing full details of the artist.
'
id:
type: string
description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the artist.
'
images:
type: array
items:
$ref: '#/components/schemas/ImageObject'
description: 'Images of the artist in various sizes, widest first.
'
name:
type: string
description: 'The name of the artist.
'
popularity:
deprecated: true
type: integer
description: 'The popularity of the artist. The value will be between 0 and 100, with 100 being the most popular. The artist''s popularity is calculated from the popularity of all the artist''s tracks.
'
type:
type: string
enum:
- artist
description: 'The object type.
'
uri:
type: string
description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the artist.
'
AlbumRestrictionObject:
type: object
x-spotify-docs-type: AlbumRestrictionObject
properties:
reason:
type: string
enum:
- market
- product
- explicit
description: 'The reason for the restriction. Albums may be restricted if the content is not available in a given market, to the user''s subscription type, or when the user''s account is set to not play explicit content.
Additional reasons may be added in the future.
'
PagingObject:
type: object
x-spotify-docs-type: PagingObject
required:
- href
- items
- limit
- next
- offset
- previous
- total
properties:
href:
type: string
example: 'https://api.spotify.com/v1/me/shows?offset=0&limit=20
'
description: 'A link to the Web API endpoint returning the full result of the request
'
limit:
type: integer
example: 20
description: 'The maximum number of items in the response (as set in the query or by default).
'
next:
type: string
example: https://api.spotify.com/v1/me/shows?offset=1&limit=1
nullable: true
description: 'URL to the next page of items. ( `null` if none)
'
offset:
type: integer
example: 0
description: 'The offset of the items returned (as set in the query or by default)
'
previous:
type: string
example: https://api.spotify.com/v1/me/shows?offset=1&limit=1
nullable: true
description: 'URL to the previous page of items. ( `null` if none)
'
total:
type: integer
example: 4
description: 'The total number of items available to return.
'
FollowersObject:
type: object
x-spotify-docs-type: FollowersObject
properties:
href:
type: string
nullable: true
description: 'This will always be set to null, as the Web API does not support it at the moment.
'
total:
type: integer
description: 'The total number of followers.
'
PlaylistTracksRefObject:
type: object
x-spotify-docs-type: PlaylistTracksRefObject
properties:
href:
type: string
description: 'A link to the Web API endpoint where full details of the playlist''s tracks can be retrieved.
'
total:
type: integer
description: 'Number of tracks in the playlist.
'
SimplifiedArtistObject:
type: object
x-spotify-docs-type: SimplifiedArtistObject
properties:
external_urls:
allOf:
- $ref: '#/components/schemas/ExternalUrlObject'
description: 'Known external URLs for this artist.
'
href:
type: string
description: 'A link to the Web API endpoint providing full details of the artist.
'
id:
type: string
description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the artist.
'
name:
type: string
description: 'The name of the artist.
'
type:
type: string
enum:
- artist
description: 'The object type.
'
uri:
type: string
description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the artist.
'
TrackObject:
type: object
x-spotify-docs-type: TrackObject
properties:
album:
allOf:
- $ref: '#/components/schemas/SimplifiedAlbumObject'
description: 'The album on which the track appears. The album object includes a link in `href` to full information about the album.
'
artists:
type: array
items:
$ref: '#/components/schemas/SimplifiedArtistObject'
description: 'The artists who performed the track. Each artist object includes a link in `href` to more detailed information about the artist.
'
available_markets:
deprecated: true
type: array
items:
type: string
description: 'A list of the countries in which the track can be played, identified by their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
'
disc_number:
type: integer
description: 'The disc number (usually `1` unless the album consists of more than one disc).
'
duration_ms:
type: integer
description: 'The track length in milliseconds.
'
explicit:
type: boolean
description: 'Whether or not the track has explicit lyrics ( `true` = yes it does; `false` = no it does not OR unknown).
'
external_ids:
allOf:
- $ref: '#/components/schemas/ExternalIdObject'
description: 'Known external IDs for the track.
'
external_urls:
allOf:
- $ref: '#/components/schemas/ExternalUrlObject'
description: 'Known external URLs for this track.
'
href:
type: string
description: 'A link to the Web API endpoint providing full details of the track.
'
id:
type: string
description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the track.
'
is_playable:
type: boolean
description: 'Part of the response when [Track Relinking](/documentation/web-api/concepts/track-relinking) is applied. If `true`, the track is playable in the given market. Otherwise `false`.
'
linked_from:
deprecated: true
type: object
description: 'Part of the response when [Track Relinking](/documentation/web-api/concepts/track-relinking) is applied, and the requested track has been replaced with different track. The track in the `linked_from` object contains information about the originally requested track.
'
restrictions:
allOf:
- $ref: '#/components/schemas/TrackRestrictionObject'
description: 'Included in the response when a content restriction is applied.
'
name:
type: string
description: 'The name of the track.
'
popularity:
deprecated: true
type: integer
description: 'The popularity of the track. The value will be between 0 and 100, with 100 being the most popular.
The popularity of a track is a value between 0 and 100, with 100 being the most popular. The popularity is calculated by algorithm and is based, in the most part, on the total number of plays the track has had and how recent those plays are.
Generally speaking, songs that are being played a lot now will have a higher popularity than songs that were played a lot in the past. Duplicate tracks (e.g. the same track from a single and an album) are rated independently. Artist and album popularity is derived mathematically from track popularity. _**Note**: the popularity value may lag actual popularity by a few days: the value is not updated in real time._
'
preview_url:
deprecated: true
type: string
nullable: true
description: 'A link to a 30 second preview (MP3 format) of the track. Can be `null`
'
x-spotify-policy-list:
- $ref: '#/components/x-spotify-policy/policies/StandalonePreview'
track_number:
type: integer
description: 'The number of the track. If an album has several discs, the track number is the number on the specified disc.
'
type:
type: string
description: 'The object type: "track".
'
enum:
- track
uri:
type: string
description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the track.
'
is_local:
type: boolean
description: 'Whether or not the track is from a local file.
'
SimplifiedAlbumObject:
x-spotify-docs-type: SimplifiedAlbumObject
allOf:
- $ref: '#/components/schemas/AlbumBase'
- type: object
required:
- artists
properties:
artists:
type: array
items:
$ref: '#/components/schemas/SimplifiedArtistObject'
description: 'The artists of the album. Each artist object includes a link in `href` to more detailed information about the artist.
'
ExternalIdObject:
type: object
x-spotify-docs-type: ExternalIdObject
properties:
isrc:
type: string
description: '[International Standard Recording Code](http://en.wikipedia.org/wiki/International_Standard_Recording_Code)
'
ean:
type: string
description: '[International Article Number](http://en.wikipedia.org/wiki/International_Article_Number_%28EAN%29)
'
upc:
type: string
description: '[Universal Product Code](http://en.wikipedia.org/wiki/Universal_Product_Code)
'
PlaylistOwnerObject:
allOf:
- $ref: '#/components/schemas/PlaylistUserObject'
- type: object
properties:
display_name:
type: string
nullable: true
description: 'The name displayed on the user''s profile. `null` if not available.
'
CursorPagingSimplifiedArtistObject:
type: object
x-spotify-docs-type: PagingArtistObject
allOf:
- $ref: '#/components/schemas/CursorPagingObject'
- type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/ArtistObject'
parameters:
QueryOffset:
name: offset
required: false
in: query
schema:
title: Offset
description: 'The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items.
'
default: 0
example: 5
type: integer
PathUserId:
name: user_id
required: true
in: path
schema:
title: User ID
description: 'The user''s [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids).
'
example: smedjan
type: string
PathPlaylistId:
name: playlist_id
required: true
in: path
schema:
title: Playlist ID
description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the playlist.
'
example: 3cEYpjA9oz9GiPac4AsH4n
type: string
QueryLimit:
name: limit
required: false
in: query
schema:
title: Limit
description: 'The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
'
default: 20
example: 10
type: integer
minimum: 0
maximum: 50
securitySchemes:
oauth_2_0:
type: oauth2
description: Spotify supports OAuth 2.0 for authenticating all API requests.
flows:
authorizationCode:
authorizationUrl: https://accounts.spotify.com/authorize
tokenUrl: https://accounts.spotify.com/api/token
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.
'