Playlists Controller Documentation

The PlaylistsController handles the creation, modification, and retrieval of playlists and their associated tracks, albums, and artists. This controller manages all playlist-related functionality within the API. For more info on playlists see the Playlist Guide.

Controller Route: /api/playlists

All routes within the PlaylistsController are prefixed by /api/playlists.


Summary of Endpoints

Endpoint Method Description Authorization
/api/playlists/create POST Create a new playlist. Admin, User
/api/playlists/add-tracks POST Add tracks to an existing playlist. Admin, User
/api/playlists/remove-tracks POST Remove tracks from an existing playlist. Admin, User
/api/playlists/delete POST Delete an existing playlist. Admin, User
/api/playlists/update POST Update the details of an existing playlist. Admin, User
/api/playlists/move-track POST Move a track from one position to another within a playlist. Admin, User
/api/playlists/get GET Retrieve the details of a specific playlist by its ID. Admin, User, Pass
/api/playlists/search GET Search for playlists by name with pagination support. Admin, User, Pass
/api/playlists/get-tracks GET Retrieve a paginated list of tracks from a specific playlist. Admin, User, Pass
/api/playlists/get-albums GET Retrieve albums associated with tracks in a playlist. Admin, User, Pass
/api/playlists/get-artists GET Retrieve artists associated with tracks in a playlist. Admin, User, Pass

Create a Playlist

Create a new playlist with an optional description and initial list of track IDs.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X POST "https://your-api-url.com/api/playlists/create?name=My%20Playlist&description=This%20is%20a%20test%20playlist&ids=66bc9aafab7ba419497e7bcf&ids=66bc9aafab7ba419497e7fea" \
             -H "Authorization: Bearer <JWT-token>"
        

Add Tracks to Playlist

Add tracks to an existing playlist by providing a list of track IDs.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X POST "https://your-api-url.com/api/playlists/add-tracks?id=66dd3bd79d629bfdda4c50be&trackIds=66bc9aafab7ba419497e7fea" \
             -H "Authorization: Bearer <JWT-token>"
        

Remove Tracks from Playlist

Remove tracks from a playlist by providing their positions in the playlist.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X POST "https://your-api-url.com/api/playlists/remove-tracks?id=66dd3bd79d629bfdda4c50be&positions=5" \
             -H "Authorization: Bearer <JWT-token>"
        

Delete a Playlist

Delete an existing playlist by its ID.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X POST "https://your-api-url.com/api/playlists/delete?id=66dd3bd79d629bfdda4c50be" \
             -H "Authorization: Bearer <JWT-token>"
        

Update Playlist

Update the details of an existing playlist, such as its name, description, editors, viewers, and public access settings.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X POST "https://your-api-url.com/api/playlists/update?id=66dd3bd79d629bfdda4c50be&name=Updated%20Playlist&description=New%20description" \
             -H "Authorization: Bearer <JWT-token>"
        

Move Track in Playlist

Move a track from one position to another within a playlist.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X POST "https://your-api-url.com/api/playlists/move-track?id=playlistId&fromPos=2&toPos=4" \
             -H "Authorization: Bearer <JWT-token>"
        

Get Playlist by ID

Retrieve the details of a specific playlist by its ID.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X GET "https://your-api-url.com/api/playlists/get?id=playlistId" \
             -H "Authorization: Bearer <JWT-token>"
        

Search Playlists

Search for playlists by name, supporting pagination. Entering no search name will return all visible playlists.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X GET "https://your-api-url.com/api/playlists/search?page=0&count=10&name=My%20Playlist" \
             -H "Authorization: Bearer <JWT-token>"
        

Get Tracks from Playlist

Retrieve a paginated list of tracks from a specific playlist.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X GET "https://your-api-url.com/api/playlists/get-tracks?id=playlistId&page=0&count=10" \
             -H "Authorization: Bearer <JWT-token>"
        

Get Albums from Playlist

Retrieve albums associated with tracks in a playlist.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X GET "https://your-api-url.com/api/playlists/get-albums?id=playlistId&page=0&count=10" \
             -H "Authorization: Bearer <JWT-token>"
        

Get Artists from Playlist

Retrieve artists associated with tracks in a playlist.

Details:

Parameters:

Responses:

Example Request (using curl):

curl -X GET "https://your-api-url.com/api/playlists/get-artists?id=playlistId&page=0&count=10" \
             -H "Authorization: Bearer <JWT-token>"