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
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Playlist name |
description | string | No | Optional description |
is_public | boolean | No | Visibility status (default false) |
Update Playlist
Update playlist details.
Endpoint: PUT /api/v1/playlists/{playlist_id}
Authentication: Required
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No | New name |
description | string | No | New description |
is_public | boolean | No | New 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
| Parameter | Type | Required | Description |
|---|---|---|---|
radio_channel_id | int | Yes | ID of station to add |
position | int | No | Specific 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
| Parameter | Type | Required | Description |
|---|---|---|---|
items | array | Yes | Array of item objects |
items[].radio_channel_id | int | Yes | Station ID |
items[].position | int | Yes | New position index |