Playlists

Playlists API

Manage user playlists and their content.

Playlist Object

Standard playlist object structure:

{
  "id": 1,
  "name": "My Favorites",
  "description": "Best songs for driving",
  "is_public": true,
  "user_id": 5,
  "items_count": 12,
  "created_at": "2023-01-01T10:00:00Z",
  "updated_at": "2023-01-02T15:00:00Z",
  "items": [] // Only included in detail view
}

List User Playlists

Get all playlists created by the authenticated user.

Endpoint: GET /api/v1/playlists Authentication: Required

Response

{
  "success": true,
  "message": "Playlists retrieved successfully",
  "data": [
    { ...PlaylistObject },
    { ...PlaylistObject }
  ]
}

Get Playlist Details

Get a single playlist with its items (radio stations).

Endpoint: GET /api/v1/playlists/{playlist_id} Authentication: Required

Response

{
  "success": true,
  "message": "Playlist retrieved successfully",
  "data": {
    "id": 1,
    "name": "My Favorites",
    "items": [
      {
        "id": 10,
        "position": 1,
        "radio_channel": { ...RadioResource }
      }
    ]
  }
}

Create Playlist

Create a new empty playlist.

Endpoint: POST /api/v1/playlists Authentication: Required

Request Parameters

ParameterTypeRequiredDescription
namestringYesPlaylist name
descriptionstringNoOptional description
is_publicbooleanNoVisibility status (default false)

Update Playlist

Update playlist details.

Endpoint: PUT /api/v1/playlists/{playlist_id} Authentication: Required

Request Parameters

ParameterTypeRequiredDescription
namestringNoNew name
descriptionstringNoNew description
is_publicbooleanNoNew visibility status

Delete Playlist

Permanently remove a playlist.

Endpoint: DELETE /api/v1/playlists/{playlist_id} Authentication: Required


Playlist Items

Add Item

Add a radio station to a playlist.

Endpoint: POST /api/v1/playlists/{playlist_id}/items Authentication: Required

Request Parameters

ParameterTypeRequiredDescription
radio_channel_idintYesID of station to add
positionintNoSpecific position

Remove Item

Remove a station from a playlist.

Endpoint: DELETE /api/v1/playlists/{playlist_id}/items/{radio_channel_id} Authentication: Required

Reorder Items

Update the order of items in a playlist.

Endpoint: PUT /api/v1/playlists/{playlist_id}/reorder Authentication: Required

Request Parameters

ParameterTypeRequiredDescription
itemsarrayYesArray of item objects
items[].radio_channel_idintYesStation ID
items[].positionintYesNew position index