# Get user's playlists
URL: https://musicapi.com/docs/reference/list-playlists.md

`GET https://api.musicapi.com/api/{integrationUserUUID}/playlists`

Section: Read and write a user's library.
Product: MusicAPI Core.
Auth: Basic, DevToken, DocsSession (any one of them). Use Basic with your Client ID and Client Secret from your server only.

This endpoint fetches owned & followed playlists from Music Service. As Amazon & Boomplay return data in separate endpoints, we combine the data from 2 sources (owned & liked playlist). So don't expect proper sorting for those.

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `integrationUserUUID` | uuid | yes | The connected user: the `integrationUserUUID` from the sign-in callback. |

## Query parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `nextParam` | string | no | Parameter returned in the response responsible for pagination. |
| `limitParam` | number | no | Specifies the maximum number of results per request, adjusted based on the limitations of the respective music service. Ignored if the service doesn't support such a limit. |

## Response 200

ok

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `results` | Playlist[] | yes |  |
| `results[].name` | string | yes |  |
| `results[].id` | string | yes |  |
| `results[].totalItems` | number \| null | yes |  |
| `results[].imageUrl` | string \| null | yes |  |
| `results[].dateAdded` | string \| null | no |  |
| `results[].isOwner` | boolean | yes |  |
| `nextParam` | string \| null | yes |  |
| `totalItems` | number \| null | yes |  |

```json
{
  "results": [
    {
      "name": "Viva Playlist",
      "id": "1",
      "totalItems": 25,
      "imageUrl": "https://www.example-image.com/978263478234",
      "dateAdded": "2024-10-16T07:52:07.000Z",
      "isOwner": true
    }
  ],
  "nextParam": "eyJvZmZzZXQiOjEwfQ==",
  "totalItems": 25
}
```

## Errors

- 404: Your account has no connected user with this uuid, or the item does not exist.
- 412: The user must sign in again (`IntegrationUserNotAuthenticated`).
- 429: Too many requests. Wait for the seconds in `Retry-After`.

## Example

```bash
curl https://api.musicapi.com/api/{integrationUserUUID}/playlists \
  -u "$MUSICAPI_CLIENT_ID:$MUSICAPI_CLIENT_SECRET"
```
