SoundHouse API — это RESTful API для управления и отслеживания пользовательских данных, событий или объектов. Ниже представлены доступные запросы, их описание и примеры использования.
👤 Пользователь (User)
GET /auth/register
Описание: Возвращает access токен зарегистрированного пользователя.
Пример:
GET /auth/register HTTP/1.1
Host: localhost:4000
Authorization: No
body:
{
"email": "[email protected]",
"username": "user1",
"password": "user123"
}
Ответ
accessToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ik1lb3cgVXNlciIsImlhdCI6MTY5Njc3MjAwMH0.4fT3x9zQvKJ7GvYbX9aZ8WvQkL2ePzF1zJk9aBvRk3xA
GET /auth/login
Описание: Возвращает access токен авторизованного пользователя.
Пример:
GET /auth/login HTTP/1.1
Host: localhost:4000
Authorization: No
body:
{
email: "[email protected]",
password: "user123"
}Ответ
accessToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ik1lb3cgVXNlciIsImlhdCI6MTY5Njc3MjAwMH0.4fT3x9zQvKJ7GvYbX9aZ8WvQkL2ePzF1zJk9aBvRk3xA
🎵 Треки (Tracks) 🔒
Публичные треки - треки, которые будет видеть пользователь при входе на страницу треков, а также по ним осуществляется поиск интересующих треков
GET /tracks
Описание: Возвращает публичные треки, по умолчанию 10
Пример:
GET /tracks HTTP/1.1
Host: localhost:4000
Authorization: Bearer <accessToken>
query:
- limit = 20
- offset = 2
- search = Fi...
url + query:
http:localhost:4000/tracks?limit=20&offset=2&search=Fi
Ответ
"id": "8da666f2-aad6-4e84-a0ec-34ded8061911", // Id трека
"name": "Тестовый трек", // Имя трека
"picture": "image/9870c5b8-3306-4293-856f-3c2e130c250d.png", // Ссылка на img трека, если имеется
"audio": "audio/c33e0119-822b-46ae-b85c-113e06a548cf.mp3", // Ссылка на audio трека
"explicit": true, // Возрастное ограничение (18+)
"time": "1:57", // Время трека
"albumId": null, // Id альбома, если имеется
"createdAt": "2025-10-09T14:36:17.093Z", // Дата создание записи в БД
"updateAt": "2025-10-09T14:36:17.093Z", // Дата обновления записи в БД
"artist": "yeheera", // Имя исполнителя (автора), берётся по username аккаунта
"availability": false // Состояние, отражающее добавлен ли трек на твоём аккаунте в favorites🔒 accessToken - обязателен
GET /tracks/{id}
Описание: Возвращает публичные треки, по умолчанию 10
Пример:
GET /tracks/8da666f2-aad6-4e84-a0ec-34ded8061911 HTTP/1.1
Host: localhost:4000
Authorization: Bearer <accessToken>
Ответ
"id": "8da666f2-aad6-4e84-a0ec-34ded8061911", // Id трека
"name": "Тестовый трек", // Имя трека
"picture": "image/9870c5b8-3306-4293-856f-3c2e130c250d.png", // Ссылка на img трека, если имеется
"audio": "audio/c33e0119-822b-46ae-b85c-113e06a548cf.mp3", // Ссылка на audio трека
"explicit": true, // Возрастное ограничение (18+)
"time": "1:57", // Время трека
"albumId": null, // Id альбома, если имеется
"createdAt": "2025-10-09T14:36:17.093Z", // Дата создание записи в БД
"updateAt": "2025-10-09T14:36:17.093Z", // Дата обновления записи в БД🔒 accessToken - обязателен