Spotify Player API

The Player API from Spotify — 13 operation(s) for player.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

spotify-player-api-openapi.yml Raw ↑
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 <a href="https://developer.spotify.com/documentation/general/guides/authorization-guide/">OAuth 2.0</a>.


    The base URI for all Web API requests is `https://api.spotify.com/v1`.


    Need help? See our <a href="https://developer.spotify.com/documentation/web-api/guides/">Web API guides</a> for more information, or visit the <a href="https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer">Spotify for Developers community forum</a> to ask questions and connect with other developers.

    '
  version: 1.0.0
  title: Spotify Web Albums Player 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: Player
paths:
  /me/player:
    get:
      tags:
      - Player
      operationId: get-information-about-the-users-current-playback
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Get Playback State

        '
      description: 'Get information about the user’s current playback state, including track or episode, progress, and active device.

        '
      parameters:
      - $ref: '#/components/parameters/QueryMarket'
      - $ref: '#/components/parameters/QueryAdditionalTypes'
      responses:
        '200':
          $ref: '#/components/responses/OneCurrentlyPlaying'
        '204':
          description: Playback not available or active
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-read-playback-state
    put:
      tags:
      - Player
      operationId: transfer-a-users-playback
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Transfer Playback

        '
      description: 'Transfer playback to a new device and optionally begin playback. This API only works for users who have Spotify Premium. The order of execution is not guaranteed when you use this API with other Player API endpoints.

        '
      requestBody:
        content:
          application/json:
            schema:
              example:
                device_ids:
                - 74ASZWbe4lXaubB36ztrGX
              type: object
              additionalProperties: true
              required:
              - device_ids
              properties:
                device_ids:
                  type: array
                  description: 'A JSON array containing the ID of the device on which playback should be started/transferred.<br/>For example:`{device_ids:["74ASZWbe4lXaubB36ztrGX"]}`<br/>_**Note**: Although an array is accepted, only a single device_id is currently supported. Supplying more than one will return `400 Bad Request`_

                    '
                  items:
                    type: string
                play:
                  type: boolean
                  description: '**true**: ensure playback happens on new device.<br/>**false** or not provided: keep the current playback state.

                    '
                  additionalProperties: true
      responses:
        '204':
          description: Playback transferred
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-modify-playback-state
  /me/player/devices:
    get:
      tags:
      - Player
      operationId: get-a-users-available-devices
      summary: 'Get Available Devices

        '
      description: 'Get information about a user’s available Spotify Connect devices. Some device models are not supported and will not be listed in the API response.

        '
      responses:
        '200':
          $ref: '#/components/responses/ManyDevices'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-read-playback-state
  /me/player/currently-playing:
    get:
      tags:
      - Player
      operationId: get-the-users-currently-playing-track
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Get Currently Playing Track

        '
      description: 'Get the object currently being played on the user''s Spotify account.

        '
      parameters:
      - $ref: '#/components/parameters/QueryMarket'
      - $ref: '#/components/parameters/QueryAdditionalTypes'
      responses:
        '200':
          $ref: '#/components/responses/OneCurrentlyPlayingTrack'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-read-currently-playing
  /me/player/play:
    put:
      tags:
      - Player
      operationId: start-a-users-playback
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Start/Resume Playback

        '
      description: 'Start a new context or resume current playback on the user''s active device. This API only works for users who have Spotify Premium. The order of execution is not guaranteed when you use this API with other Player API endpoints.

        '
      parameters:
      - name: device_id
        required: false
        in: query
        schema:
          title: Device ID
          description: The id of the device this command is targeting. If not supplied, the user's currently active device is the target.
          example: 0d1841b0976bae2a3a310dd74c0f3df354899bc8
          type: string
      requestBody:
        content:
          application/json:
            schema:
              example:
                context_uri: spotify:album:5ht7ItJgpBH7W6vJ5BqpPr
                offset:
                  position: 5
                position_ms: 0
              type: object
              additionalProperties: true
              properties:
                context_uri:
                  type: string
                  description: 'Optional. Spotify URI of the context to play.

                    Valid contexts are albums, artists & playlists.

                    `{context_uri:"spotify:album:1Je1IMUlBXcx1Fz0WE7oPT"}`

                    '
                  additionalProperties: true
                uris:
                  type: array
                  description: 'Optional. A JSON array of the Spotify track URIs to play.

                    For example: `{"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh", "spotify:track:1301WleyT98MSxVHPZCA6M"]}`

                    '
                  items:
                    type: string
                offset:
                  type: object
                  description: 'Optional. Indicates from where in the context playback should start. Only available when context_uri corresponds to an album or playlist object

                    "position" is zero based and can’t be negative. Example: `"offset": {"position": 5}`

                    "uri" is a string representing the uri of the item to start at. Example: `"offset": {"uri": "spotify:track:1301WleyT98MSxVHPZCA6M"}`

                    '
                  additionalProperties: true
                position_ms:
                  type: integer
                  description: integer
                  additionalProperties: true
      responses:
        '204':
          description: Playback started
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-modify-playback-state
  /me/player/pause:
    put:
      tags:
      - Player
      operationId: pause-a-users-playback
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Pause Playback

        '
      description: 'Pause playback on the user''s account. This API only works for users who have Spotify Premium. The order of execution is not guaranteed when you use this API with other Player API endpoints.

        '
      parameters:
      - name: device_id
        required: false
        in: query
        schema:
          title: Device ID
          description: 'The id of the device this command is targeting. If not supplied, the user''s currently active device is the target.

            '
          example: 0d1841b0976bae2a3a310dd74c0f3df354899bc8
          type: string
      responses:
        '204':
          description: Playback paused
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-modify-playback-state
  /me/player/next:
    post:
      tags:
      - Player
      operationId: skip-users-playback-to-next-track
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Skip To Next

        '
      description: 'Skips to next track in the user’s queue. This API only works for users who have Spotify Premium. The order of execution is not guaranteed when you use this API with other Player API endpoints.

        '
      parameters:
      - name: device_id
        required: false
        in: query
        schema:
          title: Device ID
          description: The id of the device this command is targeting. If not supplied, the user's currently active device is the target.
          example: 0d1841b0976bae2a3a310dd74c0f3df354899bc8
          type: string
      responses:
        '204':
          description: Command sent
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-modify-playback-state
  /me/player/previous:
    post:
      tags:
      - Player
      operationId: skip-users-playback-to-previous-track
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Skip To Previous

        '
      description: 'Skips to previous track in the user’s queue. This API only works for users who have Spotify Premium. The order of execution is not guaranteed when you use this API with other Player API endpoints.

        '
      parameters:
      - name: device_id
        required: false
        in: query
        schema:
          title: Device ID
          description: 'The id of the device this command is targeting. If

            not supplied, the user''s currently active device is the target.

            '
          example: 0d1841b0976bae2a3a310dd74c0f3df354899bc8
          type: string
      responses:
        '204':
          description: Command sent
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-modify-playback-state
  /me/player/seek:
    put:
      tags:
      - Player
      operationId: seek-to-position-in-currently-playing-track
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Seek To Position

        '
      description: 'Seeks to the given position in the user’s currently playing track. This API only works for users who have Spotify Premium. The order of execution is not guaranteed when you use this API with other Player API endpoints.

        '
      parameters:
      - name: position_ms
        required: true
        in: query
        schema:
          title: Position (ms)
          description: 'The position in milliseconds to seek to. Must be a

            positive number. Passing in a position that is greater than the length of

            the track will cause the player to start playing the next song.

            '
          example: 25000
          type: integer
      - name: device_id
        required: false
        in: query
        schema:
          title: Device ID
          description: 'The id of the device this command is targeting. If

            not supplied, the user''s currently active device is the target.

            '
          example: 0d1841b0976bae2a3a310dd74c0f3df354899bc8
          type: string
      responses:
        '204':
          description: Command sent
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-modify-playback-state
  /me/player/repeat:
    put:
      tags:
      - Player
      operationId: set-repeat-mode-on-users-playback
      summary: 'Set Repeat Mode

        '
      description: 'Set the repeat mode for the user''s playback. This API only works for users who have Spotify Premium. The order of execution is not guaranteed when you use this API with other Player API endpoints.

        '
      parameters:
      - name: state
        required: true
        in: query
        schema:
          title: State
          description: '**track**, **context** or **off**.<br/>

            **track** will repeat the current track.<br/>

            **context** will repeat the current context.<br/>

            **off** will turn repeat off.

            '
          example: context
          type: string
      - name: device_id
        required: false
        in: query
        schema:
          title: Device ID
          description: 'The id of the device this command is targeting. If

            not supplied, the user''s currently active device is the target.

            '
          example: 0d1841b0976bae2a3a310dd74c0f3df354899bc8
          type: string
      responses:
        '204':
          description: Command sent
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-modify-playback-state
  /me/player/volume:
    put:
      tags:
      - Player
      operationId: set-volume-for-users-playback
      summary: 'Set Playback Volume

        '
      description: 'Set the volume for the user’s current playback device. This API only works for users who have Spotify Premium. The order of execution is not guaranteed when you use this API with other Player API endpoints.

        '
      parameters:
      - name: volume_percent
        required: true
        in: query
        schema:
          title: Volume %
          description: 'The volume to set. Must be a value from 0 to 100 inclusive.

            '
          example: 50
          type: integer
      - name: device_id
        required: false
        in: query
        schema:
          title: Device ID
          description: 'The id of the device this command is targeting. If not supplied, the user''s currently active device is the target.

            '
          example: 0d1841b0976bae2a3a310dd74c0f3df354899bc8
          type: string
      responses:
        '204':
          description: Command sent
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-modify-playback-state
  /me/player/shuffle:
    put:
      tags:
      - Player
      operationId: toggle-shuffle-for-users-playback
      summary: 'Toggle Playback Shuffle

        '
      description: 'Toggle shuffle on or off for user’s playback. This API only works for users who have Spotify Premium. The order of execution is not guaranteed when you use this API with other Player API endpoints.

        '
      parameters:
      - name: state
        required: true
        in: query
        schema:
          title: State
          description: '**true** : Shuffle user''s playback.<br/>

            **false** : Do not shuffle user''s playback.

            '
          example: true
          type: boolean
      - name: device_id
        required: false
        in: query
        schema:
          title: Device ID
          description: 'The id of the device this command is targeting. If

            not supplied, the user''s currently active device is the target.

            '
          example: 0d1841b0976bae2a3a310dd74c0f3df354899bc8
          type: string
      responses:
        '204':
          description: Command sent
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-modify-playback-state
  /me/player/recently-played:
    get:
      tags:
      - Player
      operationId: get-recently-played
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Get Recently Played Tracks

        '
      description: 'Get tracks from the current user''s recently played tracks.

        _**Note**: Currently doesn''t support podcast episodes._

        '
      parameters:
      - 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
      - name: after
        required: false
        in: query
        schema:
          title: After
          description: 'A Unix timestamp in milliseconds. Returns all items

            after (but not including) this cursor position. If `after` is specified, `before`

            must not be specified.

            '
          example: 1484811043508
          type: integer
      - name: before
        required: false
        in: query
        schema:
          title: Before
          description: 'A Unix timestamp in milliseconds. Returns all items

            before (but not including) this cursor position. If `before` is specified,

            `after` must not be specified.

            '
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/CursorPagedPlayHistory'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-read-recently-played
  /me/player/queue:
    get:
      tags:
      - Player
      operationId: get-queue
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Get the User''s Queue

        '
      description: 'Get the list of objects that make up the user''s queue.

        '
      responses:
        '200':
          $ref: '#/components/responses/Queue'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-read-currently-playing
        - user-read-playback-state
    post:
      tags:
      - Player
      operationId: add-to-queue
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/playerPolicyList'
      summary: 'Add Item to Playback Queue

        '
      description: 'Add an item to be played next in the user''s current playback queue. This API only works for users who have Spotify Premium. The order of execution is not guaranteed when you use this API with other Player API endpoints.

        '
      parameters:
      - name: uri
        required: true
        in: query
        schema:
          title: Spotify URI
          description: 'The uri of the item to add to the queue. Must be a track or an episode uri.

            '
          example: spotify:track:4iV5W9uYEdYUVa79Axb7Rh
          type: string
      - name: device_id
        required: false
        in: query
        schema:
          title: Device ID
          description: 'The id of the device this command is targeting. If

            not supplied, the user''s currently active device is the target.

            '
          example: 0d1841b0976bae2a3a310dd74c0f3df354899bc8
          type: string
      responses:
        '204':
          description: Command received
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-modify-playback-state
components:
  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.

            '
    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.

            '
    EpisodeBase:
      type: object
      required:
      - audio_preview_url
      - description
      - html_description
      - duration_ms
      - explicit
      - external_urls
      - href
      - id
      - images
      - is_externally_hosted
      - is_playable
      - languages
      - name
      - release_date
      - release_date_precision
      - type
      - uri
      properties:
        audio_preview_url:
          deprecated: true
          type: string
          nullable: true
          example: https://p.scdn.co/mp3-preview/2f37da1d4221f40b9d1a98cd191f4d6f1646ad17
          description: 'A URL to a 30 second preview (MP3 format) of the episode. `null` if not available.

            '
          x-spotify-policy-list:
          - $ref: '#/components/x-spotify-policy/policies/StandalonePreview'
        description:
          type: string
          example: 'A Spotify podcast sharing fresh insights on important topics of the moment—in a way only Spotify can. You’ll hear from experts in the music, podcast and tech industries as we discover and uncover stories about our work and the world around us.

            '
          description: 'A description of the episode. HTML tags are stripped away from this field, use `html_description` field in case HTML tags are needed.

            '
        html_description:
          type: string
          example: '<p>A Spotify podcast sharing fresh insights on important topics of the moment—in a way only Spotify can. You’ll hear from experts in the music, podcast and tech industries as we discover and uncover stories about our work and the world around us.</p>

            '
          description: 'A description of the episode. This field may contain HTML tags.

            '
        duration_ms:
          type: integer
          example: 1686230
          description: 'The episode length in milliseconds.

            '
        explicit:
          type: boolean
          description: 'Whether or not the episode has explicit content (true = yes it does; false = no it does not OR unknown).

            '
        external_urls:
          allOf:
          - $ref: '#/components/schemas/ExternalUrlObject'
          description: 'External URLs for this episode.

            '
        href:
          type: string
          example: https://api.spotify.com/v1/episodes/5Xt5DXGzch68nYYamXrNxZ
          description: 'A link to the Web API endpoint providing full details of the episode.

            '
        id:
          type: string
          example: 5Xt5DXGzch68nYYamXrNxZ
          description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the episode.

            '
        images:
          type: array
          items:
            $ref: '#/components/schemas/ImageObject'
          description: 'The cover art for the episode in various sizes, widest first.

            '
        is_externally_hosted:
          type: boolean
          description: 'True if the episode is hosted outside of Spotify''s CDN.

            '
        is_playable:
          type: boolean
          description: 'True if the episode is playable in the given market. Otherwise false.

            '
        language:
          type: string
          deprecated: true
          example: en
          description: 'The language used in the episode, identified by a [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code. This field is deprecated and might be removed in the future. Please use the `languages` field instead.

            '
        languages:
          type: array
          items:
            type: string
          example:
          - fr
          - en
          description: 'A list of the languages used in the episode, identified by their [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639) code.

            '
        name:
          type: string
          example: 'Starting Your Own Podcast: Tips, Tricks, and Advice From Anchor Creators

            '
          description: 'The name of the episode.

            '
        release_date:
          type: string
          example: '1981-12-15'
          description: 'The date the episode was first released, for example `"1981-12-15"`. Depending on the precision, it might be shown as `"1981"` or `"1981-12"`.

            '
        release_date_precision:
          type: string
          example: day
          enum:
          - year
          - month
          - day
          description: 'The precision with which `release_date` value is known.

            '
        resume_point:
          allOf:
          - $ref: '#/components/schemas/ResumePointObject'
          description: 'The user''s most recent position in the episode. Set if the supplied access token is a user token and has the scope ''user-read-playback-position''.

            '
        type:
          type: string
          enum:
          - episode
          description: 'The object type.

            '
        uri:
          type: string
          example: spotify:episode:0zLhl3WsOCQHbe1BPTiHgr
          description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the episode.

            '
        restrictions:
          allOf:
          - $ref: '#/components/schemas/EpisodeRestrictionObject'
          description: 'Included in the response when a content restriction is applied.

            '
    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.

            '
    ContextObject:
      type: object
      x-spotify-docs-type: ContextObject
      properties:
        type:
          type: string
          description: 'The object type, e.g. "artist", "playlist", "album", "show".

            '
        href:
          type: string
          description: A link to the Web API endpoint providing full details of the track.
        external_urls:
          allOf:
          - $ref: '#/components/schemas/ExternalUrlObject'
          description: External URLs for this context.
        uri:
          type: string
          description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the context.

            '
    QueueObject:
      type: object
      x-spotify-docs-type: QueueObject
      properties:
        currently_playing:
          oneOf:
          - $ref: '#/components/schemas/TrackObject'
          - $ref: '#/components/schemas/EpisodeObject'
          discriminator:
            propertyName: type
          x-spotify-docs-type: TrackObject | EpisodeObject
          description: The currently playing track or episode. Can be `null`.
        queue:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/TrackObject'
            - $ref: '#/components/schemas/EpisodeObject'
   

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spotify/refs/heads/main/openapi/spotify-player-api-openapi.yml