Skip to main content

Playlists

Управление плейлистами пользователя.

Эндпоинты

МетодМаршрутAuthОписание
GET/api/v1/playlistsВсе публичные плейлисты
GET/api/v1/playlists/meUserМои плейлисты
GET/api/v1/playlists/:idПлейлист с треками
POST/api/v1/playlistsUserСоздать плейлист
PUT/api/v1/playlists/:idUser (владелец)Обновить плейлист
DELETE/api/v1/playlists/:idUser (владелец)Удалить плейлист
POST/api/v1/playlists/:id/tracksUser (владелец)Добавить треки
DELETE/api/v1/playlists/:id/tracks/:trackIdUser (владелец)Убрать трек
POST/api/v1/playlists/:id/likeUserЛайкнуть
DELETE/api/v1/playlists/:id/likeUserУбрать лайк

Создание плейлиста

POST /api/v1/playlists
Content-Type: application/json

{
"title": "My Chill Mix",
"description": "Evening vibes",
"isPublic": true
}

isPublic — по умолчанию false.

Мои плейлисты

GET /api/v1/playlists/me

Возвращает плейлисты текущего пользователя с кратким списком треков и счётчиком, отсортированные по дате обновления.

[
{
"id": "uuid",
"title": "My Chill Mix",
"cover": null,
"isPublic": true,
"tracks": [
{ "id": "uuid", "title": "Creep", "cover": "/static/covers/uuid.jpg" }
],
"_count": { "tracks": 12 }
}
]

Добавление треков

POST /api/v1/playlists/:id/tracks
Content-Type: application/json

{
"trackIds": ["uuid1", "uuid2", "uuid3"]
}

Минимум 1 трек. Возвращает обновлённый плейлист с полным списком треков.

Удаление трека

DELETE /api/v1/playlists/:id/tracks/:trackId

Права доступа

Изменять, удалять, добавлять и убирать треки может только владелец плейлиста. При попытке другого пользователя — 403 Forbidden.