Spotify Playlists API

The Playlists API from Spotify — 10 operation(s) for playlists.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

spotify-playlists-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 Playlists 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: Playlists
paths:
  /playlists/{playlist_id}:
    get:
      tags:
      - Playlists
      operationId: get-playlist
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/metadataWithMachineLearningPolicyList'
      summary: 'Get Playlist

        '
      description: 'Get a playlist owned by a Spotify user.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      - $ref: '#/components/parameters/QueryMarket'
      - name: fields
        required: false
        in: query
        schema:
          title: Fields
          description: 'Filters for the query: a comma-separated list of the

            fields to return. If omitted, all fields are returned. For example, to get

            just the playlist''''s description and URI: `fields=description,uri`. A dot

            separator can be used to specify non-reoccurring fields, while parentheses

            can be used to specify reoccurring fields within objects. For example, to

            get just the added date and user ID of the adder: `fields=tracks.items(added_at,added_by.id)`.

            Use multiple parentheses to drill down into nested objects, for example: `fields=tracks.items(track(name,href,album(name,href)))`.

            Fields can be excluded by prefixing them with an exclamation mark, for example:

            `fields=tracks.items(track(name,href,album(!name,href)))`

            '
          example: items(added_by.id,track(name,href,album(name,href)))
          type: string
      - $ref: '#/components/parameters/QueryAdditionalTypes'
      responses:
        '200':
          $ref: '#/components/responses/OnePlaylist'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0: []
    put:
      tags:
      - Playlists
      operationId: change-playlist-details
      summary: 'Change Playlist Details

        '
      description: 'Change a playlist''s name and public/private state. (The user must, of

        course, own the playlist.)

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      requestBody:
        content:
          application/json:
            schema:
              example:
                name: Updated Playlist Name
                description: Updated playlist description
                public: false
              type: object
              additionalProperties: true
              properties:
                name:
                  type: string
                  description: 'The new name for the playlist, for example `"My New Playlist Title"`

                    '
                public:
                  type: boolean
                  description: 'The playlist''s public/private status (if it should be added to the user''s profile or not): `true` the playlist will be public, `false` the playlist will be private, `null` the playlist status is not relevant. For more about public/private status, see [Working with Playlists](/documentation/web-api/concepts/playlists)

                    '
                collaborative:
                  type: boolean
                  description: 'If `true`, the playlist will become collaborative and other users will be able to modify the playlist in their Spotify client. <br/>

                    _**Note**: You can only set `collaborative` to `true` on non-public playlists._

                    '
                description:
                  type: string
                  description: 'Value for playlist description as displayed in Spotify Clients and in the Web API.

                    '
      responses:
        '200':
          description: Playlist updated
        '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
  /playlists/{playlist_id}/tracks:
    get:
      tags:
      - Playlists
      operationId: get-playlists-tracks
      deprecated: true
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/metadataWithMachineLearningPolicyList'
      summary: 'Get Playlist Items [DEPRECATED]

        '
      description: '**Deprecated:** Use [Get Playlist Items](/documentation/web-api/reference/get-playlists-items) instead.


        Get full details of the items of a playlist owned by a Spotify user.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      - $ref: '#/components/parameters/QueryMarket'
      - name: fields
        required: false
        in: query
        schema:
          title: Fields
          description: 'Filters for the query: a comma-separated list of the

            fields to return. If omitted, all fields are returned. For example, to get

            just the total number of items and the request limit:<br/>`fields=total,limit`<br/>A

            dot separator can be used to specify non-reoccurring fields, while parentheses

            can be used to specify reoccurring fields within objects. For example, to

            get just the added date and user ID of the adder:<br/>`fields=items(added_at,added_by.id)`<br/>Use

            multiple parentheses to drill down into nested objects, for example:<br/>`fields=items(track(name,href,album(name,href)))`<br/>Fields

            can be excluded by prefixing them with an exclamation mark, for example:<br/>`fields=items.track.album(!external_urls,images)`

            '
          example: items(added_by.id,track(name,href,album(name,href)))
          type: string
      - $ref: '#/components/parameters/QueryLimit'
      - $ref: '#/components/parameters/QueryOffset'
      - $ref: '#/components/parameters/QueryAdditionalTypes'
      responses:
        '200':
          $ref: '#/components/responses/PagingPlaylistTrackObject'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - playlist-read-private
    post:
      tags:
      - Playlists
      operationId: add-tracks-to-playlist
      deprecated: true
      summary: 'Add Items to Playlist [DEPRECATED]

        '
      description: '**Deprecated:** Use [Add Items to Playlist](/documentation/web-api/reference/add-items-to-playlist) instead.


        Add one or more items to a user''s playlist.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      - name: position
        required: false
        in: query
        schema:
          title: Position (append by default)
          description: 'The position to insert the items, a zero-based index. For example, to insert the items in the first position: `position=0`; to insert the items in the third position: `position=2`. If omitted, the items will be appended to the playlist. Items are added in the order they are listed in the query string or request body.

            '
          example: 0
          type: integer
      - name: uris
        required: false
        in: query
        schema:
          title: Spotify Track URIs
          description: 'A comma-separated list of [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) to add, can be track or episode URIs. For example:<br/>`uris=spotify:track:4iV5W9uYEdYUVa79Axb7Rh, spotify:track:1301WleyT98MSxVHPZCA6M, spotify:episode:512ojhOuo1ktJprKbVcKyQ`<br/>A maximum of 100 items can be added in one request. <br/>

            _**Note**: it is likely that passing a large number of item URIs as a query parameter will exceed the maximum length of the request URI. When adding a large number of items, it is recommended to pass them in the request body, see below._

            '
          example: spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:track:1301WleyT98MSxVHPZCA6M
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              properties:
                uris:
                  description: 'A JSON array of the [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) to add. For example: `{"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZCA6M", "spotify:episode:512ojhOuo1ktJprKbVcKyQ"]}`<br/>A maximum of 100 items can be added in one request. _**Note**: if the `uris` parameter is present in the query string, any URIs listed here in the body will be ignored._

                    '
                  type: array
                  items:
                    type: string
                position:
                  description: 'The position to insert the items, a zero-based index. For example, to insert the items in the first position: `position=0` ; to insert the items in the third position: `position=2`. If omitted, the items will be appended to the playlist. Items are added in the order they appear in the uris array. For example: `{"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZCA6M"], "position": 3}`

                    '
                  type: integer
      responses:
        '201':
          $ref: '#/components/responses/PlaylistSnapshotId'
        '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
    put:
      tags:
      - Playlists
      operationId: reorder-or-replace-playlists-tracks
      deprecated: true
      summary: 'Update Playlist Items [DEPRECATED]

        '
      description: '**Deprecated:** Use [Update Playlist Items](/documentation/web-api/reference/reorder-or-replace-playlists-items) instead.


        Either reorder or replace items in a playlist depending on the request''s parameters.

        To reorder items, include `range_start`, `insert_before`, `range_length` and `snapshot_id` in the request''s body.

        To replace items, include `uris` as either a query parameter or in the request''s body.

        Replacing items in a playlist will overwrite its existing items. This operation can be used for replacing or clearing items in a playlist.

        <br/>

        **Note**: Replace and reorder are mutually exclusive operations which share the same endpoint, but have different parameters.

        These operations can''t be applied together in a single request.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      - name: uris
        required: false
        in: query
        schema:
          title: Spotify Track URIs
          description: 'A comma-separated list of [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) to set, can be track or episode URIs. For example: `uris=spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:track:1301WleyT98MSxVHPZCA6M,spotify:episode:512ojhOuo1ktJprKbVcKyQ`<br/>A maximum of 100 items can be set in one request.

            '
          type: string
      requestBody:
        content:
          application/json:
            schema:
              example:
                range_start: 1
                insert_before: 3
                range_length: 2
              type: object
              additionalProperties: true
              properties:
                uris:
                  type: array
                  items:
                    type: string
                range_start:
                  type: integer
                  description: 'The position of the first item to be reordered.

                    '
                insert_before:
                  type: integer
                  description: 'The position where the items should be inserted.<br/>To reorder the items to the end of the playlist, simply set _insert_before_ to the position after the last item.<br/>Examples:<br/>To reorder the first item to the last position in a playlist with 10 items, set _range_start_ to 0, and _insert_before_ to 10.<br/>To reorder the last item in a playlist with 10 items to the start of the playlist, set _range_start_ to 9, and _insert_before_ to 0.

                    '
                range_length:
                  type: integer
                  description: 'The amount of items to be reordered. Defaults to 1 if not set.<br/>The range of items to be reordered begins from the _range_start_ position, and includes the _range_length_ subsequent items.<br/>Example:<br/>To move the items at index 9-10 to the start of the playlist, _range_start_ is set to 9, and _range_length_ is set to 2.

                    '
                snapshot_id:
                  type: string
                  description: 'The playlist''s snapshot ID against which you want to make the changes.

                    '
      responses:
        '200':
          $ref: '#/components/responses/PlaylistSnapshotId'
        '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:
      tags:
      - Playlists
      operationId: remove-tracks-playlist
      deprecated: true
      summary: 'Remove Playlist Items [DEPRECATED]

        '
      description: '**Deprecated:** Use [Remove Playlist Items](/documentation/web-api/reference/remove-items-playlist) instead.


        Remove one or more items from a user''s playlist.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - tracks
              properties:
                tracks:
                  type: array
                  description: 'An array of objects containing [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) of the tracks or episodes to remove.

                    For example: `{ "tracks": [{ "uri": "spotify:track:4iV5W9uYEdYUVa79Axb7Rh" },{ "uri": "spotify:track:1301WleyT98MSxVHPZCA6M" }] }`. A maximum of 100 objects can be sent at once.

                    '
                  items:
                    type: object
                    properties:
                      uri:
                        type: string
                        description: Spotify URI
                snapshot_id:
                  type: string
                  description: 'The playlist''s snapshot ID against which you want to make the changes.

                    The API will validate that the specified items exist and in the specified positions and make the changes,

                    even if more recent changes have been made to the playlist.

                    '
      responses:
        '200':
          $ref: '#/components/responses/PlaylistSnapshotId'
        '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
  /playlists/{playlist_id}/items:
    get:
      tags:
      - Playlists
      operationId: get-playlists-items
      x-spotify-policy-list:
        $ref: '#/components/x-spotify-policy/metadataWithMachineLearningPolicyList'
      summary: 'Get Playlist Items

        '
      description: 'Get full details of the items of a playlist owned by a Spotify user.


        **Note**: This endpoint is only accessible for playlists owned by the current user or playlists the user is a collaborator of. A `403 Forbidden` status code will be returned if the user is neither the owner nor a collaborator of the playlist.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      - $ref: '#/components/parameters/QueryMarket'
      - name: fields
        required: false
        in: query
        schema:
          title: Fields
          description: 'Filters for the query: a comma-separated list of the

            fields to return. If omitted, all fields are returned. For example, to get

            just the total number of items and the request limit:<br/>`fields=total,limit`<br/>A

            dot separator can be used to specify non-reoccurring fields, while parentheses

            can be used to specify reoccurring fields within objects. For example, to

            get just the added date and user ID of the adder:<br/>`fields=items(added_at,added_by.id)`<br/>Use

            multiple parentheses to drill down into nested objects, for example:<br/>`fields=items(track(name,href,album(name,href)))`<br/>Fields

            can be excluded by prefixing them with an exclamation mark, for example:<br/>`fields=items.track.album(!external_urls,images)`

            '
          example: items(added_by.id,track(name,href,album(name,href)))
          type: string
      - $ref: '#/components/parameters/QueryLimit'
      - $ref: '#/components/parameters/QueryOffset'
      - $ref: '#/components/parameters/QueryAdditionalTypes'
      responses:
        '200':
          $ref: '#/components/responses/PagingPlaylistTrackObject'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - playlist-read-private
    post:
      tags:
      - Playlists
      operationId: add-items-to-playlist
      summary: 'Add Items to Playlist

        '
      description: 'Add one or more items to a user''s playlist.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      - name: position
        required: false
        in: query
        schema:
          title: Position (append by default)
          description: 'The position to insert the items, a zero-based index. For example, to insert the items in the first position: `position=0`; to insert the items in the third position: `position=2`. If omitted, the items will be appended to the playlist. Items are added in the order they are listed in the query string or request body.

            '
          example: 0
          type: integer
      - name: uris
        required: false
        in: query
        schema:
          title: Spotify Track URIs
          description: 'A comma-separated list of [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) to add, can be track or episode URIs. For example:<br/>`uris=spotify:track:4iV5W9uYEdYUVa79Axb7Rh, spotify:track:1301WleyT98MSxVHPZCA6M, spotify:episode:512ojhOuo1ktJprKbVcKyQ`<br/>A maximum of 100 items can be added in one request. <br/>

            _**Note**: it is likely that passing a large number of item URIs as a query parameter will exceed the maximum length of the request URI. When adding a large number of items, it is recommended to pass them in the request body, see below._

            '
          example: spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:track:1301WleyT98MSxVHPZCA6M
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              properties:
                uris:
                  description: 'A JSON array of the [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) to add. For example: `{"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZCA6M", "spotify:episode:512ojhOuo1ktJprKbVcKyQ"]}`<br/>A maximum of 100 items can be added in one request. _**Note**: if the `uris` parameter is present in the query string, any URIs listed here in the body will be ignored._

                    '
                  type: array
                  items:
                    type: string
                position:
                  description: 'The position to insert the items, a zero-based index. For example, to insert the items in the first position: `position=0` ; to insert the items in the third position: `position=2`. If omitted, the items will be appended to the playlist. Items are added in the order they appear in the uris array. For example: `{"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZCA6M"], "position": 3}`

                    '
                  type: integer
      responses:
        '201':
          $ref: '#/components/responses/PlaylistSnapshotId'
        '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
    put:
      tags:
      - Playlists
      operationId: reorder-or-replace-playlists-items
      summary: 'Update Playlist Items

        '
      description: 'Either reorder or replace items in a playlist depending on the request''s parameters.

        To reorder items, include `range_start`, `insert_before`, `range_length` and `snapshot_id` in the request''s body.

        To replace items, include `uris` as either a query parameter or in the request''s body.

        Replacing items in a playlist will overwrite its existing items. This operation can be used for replacing or clearing items in a playlist.

        <br/>

        **Note**: Replace and reorder are mutually exclusive operations which share the same endpoint, but have different parameters.

        These operations can''t be applied together in a single request.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      - name: uris
        required: false
        in: query
        schema:
          title: Spotify Track URIs
          description: 'A comma-separated list of [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) to set, can be track or episode URIs. For example: `uris=spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:track:1301WleyT98MSxVHPZCA6M,spotify:episode:512ojhOuo1ktJprKbVcKyQ`<br/>A maximum of 100 items can be set in one request.

            '
          type: string
      requestBody:
        content:
          application/json:
            schema:
              example:
                range_start: 1
                insert_before: 3
                range_length: 2
              type: object
              additionalProperties: true
              properties:
                uris:
                  type: array
                  items:
                    type: string
                range_start:
                  type: integer
                  description: 'The position of the first item to be reordered.

                    '
                insert_before:
                  type: integer
                  description: 'The position where the items should be inserted.<br/>To reorder the items to the end of the playlist, simply set _insert_before_ to the position after the last item.<br/>Examples:<br/>To reorder the first item to the last position in a playlist with 10 items, set _range_start_ to 0, and _insert_before_ to 10.<br/>To reorder the last item in a playlist with 10 items to the start of the playlist, set _range_start_ to 9, and _insert_before_ to 0.

                    '
                range_length:
                  type: integer
                  description: 'The amount of items to be reordered. Defaults to 1 if not set.<br/>The range of items to be reordered begins from the _range_start_ position, and includes the _range_length_ subsequent items.<br/>Example:<br/>To move the items at index 9-10 to the start of the playlist, _range_start_ is set to 9, and _range_length_ is set to 2.

                    '
                snapshot_id:
                  type: string
                  description: 'The playlist''s snapshot ID against which you want to make the changes.

                    '
      responses:
        '200':
          $ref: '#/components/responses/PlaylistSnapshotId'
        '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:
      tags:
      - Playlists
      operationId: remove-items-playlist
      summary: 'Remove Playlist Items

        '
      description: 'Remove one or more items from a user''s playlist.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - items
              properties:
                items:
                  type: array
                  description: 'An array of objects containing [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) of the tracks or episodes to remove.

                    For example: `{ "items": [{ "uri": "spotify:track:4iV5W9uYEdYUVa79Axb7Rh" },{ "uri": "spotify:track:1301WleyT98MSxVHPZCA6M" }] }`. A maximum of 100 objects can be sent at once.

                    '
                  items:
                    type: object
                    properties:
                      uri:
                        type: string
                        description: Spotify URI
                snapshot_id:
                  type: string
                  description: 'The playlist''s snapshot ID against which you want to make the changes.

                    The API will validate that the specified items exist and in the specified positions and make the changes,

                    even if more recent changes have been made to the playlist.

                    '
      responses:
        '200':
          $ref: '#/components/responses/PlaylistSnapshotId'
        '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/playlists:
    get:
      tags:
      - Playlists
      operationId: get-a-list-of-current-users-playlists
      summary: 'Get Current User''s Playlists

        '
      description: 'Get a list of the playlists owned or followed by the current Spotify

        user.

        '
      parameters:
      - $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
    post:
      tags:
      - Playlists
      operationId: create-playlist
      summary: 'Create Playlist

        '
      description: 'Create a playlist for the current Spotify user. (The playlist will be empty until

        you [add tracks](/documentation/web-api/reference/add-tracks-to-playlist).)

        Each user is generally limited to a maximum of 11000 playlists.

        '
      requestBody:
        content:
          application/json:
            schema:
              example:
                name: New Playlist
                description: New playlist description
                public: false
              type: object
              additionalProperties: true
              required:
              - name
              properties:
                name:
                  type: string
                  description: 'The name for the new playlist, for example `"Your Coolest Playlist"`. This name does not need to be unique; a user may have several playlists with the same name.

                    '
                public:
                  type: boolean
                  description: 'Defaults to `true`. The playlist''s public/private status (if it should be added to the user''s profile or not): `true` the playlist will be public, `false` the playlist will be private. To be able to create private playlists, the user must have granted the `playlist-modify-private` [scope](/documentation/web-api/concepts/scopes/#list-of-scopes). For more about public/private status, see [Working with Playlists](/documentation/web-api/concepts/playlists)

                    '
                collaborative:
                  type: boolean
                  description: 'Defaults to `false`. If `true` the playlist will be collaborative. _**Note**: to create a collaborative playlist you must also set `public` to `false`. To create collaborative playlists you must have granted `playlist-modify-private` and `playlist-modify-public` [scopes](/documentation/web-api/concepts/scopes/#list-of-scopes)._

                    '
                description:
                  type: string
                  description: 'value for playlist description as displayed in Spotify Clients and in the Web API.

                    '
      responses:
        '201':
          $ref: '#/components/responses/OnePlaylist'
        '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
  /users/{user_id}/playlists:
    get:
      deprecated: true
      tags:
      - Playlists
      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':
       

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