Introduction
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your API token by sending POST request to v1/auth/login (See docs).
Few tokens to use:
Admin: 1|4AI27ybFZZg0G1GARE65HdvJqoLtMXSSaoVXGc1G
Author: 2|Uwdd4odgSa6QXbMQCy7U6xxKGGw9R5wkflicHnpA
Fan: 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty
Authentication
Check email
Check if email is available for the registration
Example request:
curl --request GET \
--get "http://localhost:8083/v1/auth/check/email?email=joe%40example.com" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/auth/check/email"
);
const params = {
"email": "joe@example.com",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/auth/check/email';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'email' => 'joe@example.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
x-ratelimit-limit: 300
x-ratelimit-remaining: 299
access-control-allow-origin: *
set-cookie: qplet_core_service_session=NWJFxlbWt2AyxZ2HGJQKoo7BmvljNsE28NdmEpbn; expires=Fri, 08 Aug 2025 12:54:41 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"is_available": false
}
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Register
Endpoint for registering new users
Example request:
curl --request POST \
"http://localhost:8083/v1/auth/register" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"Joe Shmoe\",
\"email\": \"another.joe@example.com\",
\"type\": \"fan\",
\"password\": \"Ye4oKoEa3Ro9ll\",
\"password_repeat\": \"Ye4oKoEa3Ro9ll\"
}"
const url = new URL(
"http://localhost:8083/v1/auth/register"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "Joe Shmoe",
"email": "another.joe@example.com",
"type": "fan",
"password": "Ye4oKoEa3Ro9ll",
"password_repeat": "Ye4oKoEa3Ro9ll"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/auth/register';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'Joe Shmoe',
'email' => 'another.joe@example.com',
'type' => 'fan',
'password' => 'Ye4oKoEa3Ro9ll',
'password_repeat' => 'Ye4oKoEa3Ro9ll',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
x-ratelimit-limit: 300
x-ratelimit-remaining: 298
access-control-allow-origin: *
set-cookie: qplet_core_service_session=G0AMIwJLVsh7R9jtemXxZPFKQ7qeK3rX45glLSeg; expires=Fri, 08 Aug 2025 12:54:43 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"name": "Joe Shmoe",
"email": "another.joe@example.com",
"type": "fan"
}
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Authenticate
Authenticate user
Example request:
curl --request POST \
"http://localhost:8083/v1/auth/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"email\": \"joe@example.com\",
\"password\": \"Ye4oKoEa3Ro9ll\",
\"device\": \"IPhone 14\"
}"
const url = new URL(
"http://localhost:8083/v1/auth/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"email": "joe@example.com",
"password": "Ye4oKoEa3Ro9ll",
"device": "IPhone 14"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/auth/login';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'email' => 'joe@example.com',
'password' => 'Ye4oKoEa3Ro9ll',
'device' => 'IPhone 14',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
x-ratelimit-limit: 300
x-ratelimit-remaining: 297
access-control-allow-origin: *
set-cookie: qplet_core_service_session=KG3SWRQytO86rl1q5agKfolb7S7b0XxwTQeyVUX5; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"token": "191|qR9AhLybjLNWyyR7bK8nXwuinmw6jTdLeddYicghbd7cbbe0"
}
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Request password reset
Request a password reset mail
Example request:
curl --request POST \
"http://localhost:8083/v1/auth/password-reset?email=joe%40example.com" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/auth/password-reset"
);
const params = {
"email": "joe@example.com",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/auth/password-reset';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'email' => 'joe@example.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reset password
Set new password for the account
Example request:
curl --request PUT \
"http://localhost:8083/v1/auth/password-reset/illo" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"email\": \"joe@example.com\",
\"password\": \"Ye4oKoEa3Ro9ll\",
\"password_repeat\": \"Ye4oKoEa3Ro9ll\"
}"
const url = new URL(
"http://localhost:8083/v1/auth/password-reset/illo"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"email": "joe@example.com",
"password": "Ye4oKoEa3Ro9ll",
"password_repeat": "Ye4oKoEa3Ro9ll"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/auth/password-reset/illo';
$response = $client->put(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'email' => 'joe@example.com',
'password' => 'Ye4oKoEa3Ro9ll',
'password_repeat' => 'Ye4oKoEa3Ro9ll',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Example response (404):
{
"type": "PasswordReset",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Validate password request code
Check validation code before asking for filling in the password
Example request:
curl --request POST \
"http://localhost:8083/v1/auth/password-reset/hic/validate?email=joe%40example.com" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/auth/password-reset/hic/validate"
);
const params = {
"email": "joe@example.com",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/auth/password-reset/hic/validate';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'email' => 'joe@example.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
x-ratelimit-limit: 300
x-ratelimit-remaining: 296
access-control-allow-origin: *
set-cookie: qplet_core_service_session=q10Lp5ZTW5z0j9mQG7oiP3Ll7fzBkZQhvydEbEPA; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"is_valid": false
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Users
Show
Current user
requires authentication
Endpoint for fetching details about logged in user
Example request:
curl --request GET \
--get "http://localhost:8083/v1/users/me" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/me"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=5WNNqYEeZ4m6O8QPkzUWq5Xd5oGb4VtA8s4gGKMF; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-df85-4307-a069-68612c4471e3",
"name": "Admin Test Country",
"email": "admin@qplet.ru",
"is_subscribed": false,
"analytics": {
"tracks": 42,
"albums": 3,
"subscribers": 192
},
"type": "admin"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
By ID
Endpoint for fetching user details
Example request:
curl --request GET \
--get "http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=byEH4xSI8nWPqT4DMfaCD6WXylHH4kAac1lF5fxv; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"is_subscribed": false,
"analytics": {
"tracks": 98,
"albums": 3,
"subscribers": 420
}
}
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Soft deletes own account
Example request:
curl --request DELETE \
"http://localhost:8083/v1/users/me" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/me"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update currently logged in user
Example request:
curl --request PATCH \
"http://localhost:8083/v1/users/me" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"Joe Shmoe\",
\"password\": \"Ye4oKoEa3Ro9ll\",
\"password_repeat\": \"Ye4oKoEa3Ro9ll\",
\"profile\": {
\"gender\": \"male\",
\"nickname\": \"joe_shmoe\",
\"website\": \"https:\\/\\/qplet.ru\",
\"about\": \"I`m Joe Shmoe\\n\\n I love singing and dancing.\",
\"avatar_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"birthdate\": \"2000-01-01\"
}
}"
const url = new URL(
"http://localhost:8083/v1/users/me"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "Joe Shmoe",
"password": "Ye4oKoEa3Ro9ll",
"password_repeat": "Ye4oKoEa3Ro9ll",
"profile": {
"gender": "male",
"nickname": "joe_shmoe",
"website": "https:\/\/qplet.ru",
"about": "I`m Joe Shmoe\n\n I love singing and dancing.",
"avatar_id": "00000000-422e-41ff-a266-2b0a093307e6",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6",
"birthdate": "2000-01-01"
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'Joe Shmoe',
'password' => 'Ye4oKoEa3Ro9ll',
'password_repeat' => 'Ye4oKoEa3Ro9ll',
'profile' => [
'gender' => 'male',
'nickname' => 'joe_shmoe',
'website' => 'https://qplet.ru',
'about' => 'I`m Joe Shmoe'."\n"
."\n"
.' I love singing and dancing.',
'avatar_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'birthdate' => '2000-01-01',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Validation Exception"
}
Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=5cypfGPHW0SUuXkJZravYXTw3HO5e9zPB0KJRpGc; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
Endpoint for fetching list of users
Example request:
curl --request GET \
--get "http://localhost:8083/v1/users?filters[name]=Joe+Shmoe&filters[type]=author&filters[genres]=%5B%229f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12%22%2C%229f95986e-f2d8-434d-b282-8c39b9996cdb%22%5D&filters[subscribed]=&per_page=20&page=1&pagination_type=page" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users"
);
const params = {
"filters[name]": "Joe Shmoe",
"filters[type]": "author",
"filters[genres]": "["9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12","9f95986e-f2d8-434d-b282-8c39b9996cdb"]",
"filters[subscribed]": "",
"per_page": "20",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[name]' => 'Joe Shmoe',
'filters[type]' => 'author',
'filters[genres]' => '["9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12","9f95986e-f2d8-434d-b282-8c39b9996cdb"]',
'filters[subscribed]' => '',
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=EJ5bzQFZ3PAiYCJMXpbSShz01zTcrWp6kiL0MKOr; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [],
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "http://localhost:8083/v1/users",
"per_page": 20,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Access
Blocked users
requires authentication
Users being blocked by the currently logged-in user
Example request:
curl --request POST \
"http://localhost:8083/v1/users/me/blocked?per_page=20&page=1&pagination_type=page&sort[by]=created_at&sort[order]=asc" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/me/blocked"
);
const params = {
"per_page": "20",
"page": "1",
"pagination_type": "page",
"sort[by]": "created_at",
"sort[order]": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me/blocked';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
'sort[by]' => 'created_at',
'sort[order]' => 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Block
requires authentication
Block a user
Example request:
curl --request POST \
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/block" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/block"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/block';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Unblock
requires authentication
Unblock a user
Example request:
curl --request DELETE \
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/block" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/block"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/block';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Subscriptions
Subscribe
requires authentication
Subscribe to a user
Example request:
curl --request POST \
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscribe" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscribe"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscribe';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Unsubscribe
requires authentication
Unsubscribe from a user
Example request:
curl --request DELETE \
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscribe" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscribe"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscribe';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Subscriptions
requires authentication
List of users that the user is subscribed to
Example request:
curl --request GET \
--get "http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscriptions?per_page=20&page=1&pagination_type=page&sort[by]=created_at&sort[order]=asc" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscriptions"
);
const params = {
"per_page": "20",
"page": "1",
"pagination_type": "page",
"sort[by]": "created_at",
"sort[order]": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscriptions';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
'sort[by]' => 'created_at',
'sort[order]' => 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Subscribers
requires authentication
List of users that are subscribed to the user
Example request:
curl --request GET \
--get "http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscribers?per_page=20&page=1&pagination_type=page&sort[by]=created_at&sort[order]=asc" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscribers"
);
const params = {
"per_page": "20",
"page": "1",
"pagination_type": "page",
"sort[by]": "created_at",
"sort[order]": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/subscribers';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
'sort[by]' => 'created_at',
'sort[order]' => 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Posts
Store
requires authentication
Create a post with optionally shared entity
- another post
- album
- event
- playlist
- track
Example request:
curl --request POST \
"http://localhost:8083/v1/posts" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"content\": \"My Post content\",
\"share\": {
\"entity\": \"post\",
\"id\": \"00000000-fdb0-43ce-b555-e0a26ed563ac\"
}
}"
const url = new URL(
"http://localhost:8083/v1/posts"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"content": "My Post content",
"share": {
"entity": "post",
"id": "00000000-fdb0-43ce-b555-e0a26ed563ac"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/posts';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'content' => 'My Post content',
'share' => [
'entity' => 'post',
'id' => '00000000-fdb0-43ce-b555-e0a26ed563ac',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=iYNzgi4IpjGuzvRNPPfimX5NbmbqulzoZXEURMAn; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95a3dc-5b1c-41a8-97aa-9ad8a7f4c734",
"author": {
"id": "00000000-df85-4307-a069-68612c4471e3",
"name": "Admin Test Country",
"avatar_url": null
},
"content": "My Post content",
"created_at": 1754650480,
"share": {
"id": "00000000-fdb0-43ce-b555-e0a26ed563ac",
"type": "post"
},
"analytics": {
"views": 0,
"likes": 0,
"comments": 0,
"shares": 0
},
"is_liked": 0
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update own post
Example request:
curl --request PATCH \
"http://localhost:8083/v1/posts/00000000-fdb0-43ce-b555-e0a26ed563ac" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"content\": \"My Post content updated\"
}"
const url = new URL(
"http://localhost:8083/v1/posts/00000000-fdb0-43ce-b555-e0a26ed563ac"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"content": "My Post content updated"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/posts/00000000-fdb0-43ce-b555-e0a26ed563ac';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'content' => 'My Post content updated',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=QWGzKGcQBoNjqT9FWtk6SWm3gAZdkTkepr1wnwpQ; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-fdb0-43ce-b555-e0a26ed563ac",
"author": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"content": "My Post content updated",
"created_at": 1754648587,
"updated_at": 1754650480,
"analytics": {
"views": 0,
"likes": 0,
"comments": 0,
"shares": 0
},
"is_liked": 0
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Post",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete own post
Admin can remove any post
Example request:
curl --request DELETE \
"http://localhost:8083/v1/posts/00000000-fdb0-43ce-b555-e0a26ed563ac" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/posts/00000000-fdb0-43ce-b555-e0a26ed563ac"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/posts/00000000-fdb0-43ce-b555-e0a26ed563ac';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=D9BcKOHq1H3pHb7TnOdMibjHnF9p8D2ntXU6CYUR; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Post",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
Endpoint for fetching list of posts
Example request:
curl --request GET \
--get "http://localhost:8083/v1/posts?filters[author_id]=00000000-df85-4307-a069-68612c4471e2&filters[subscribed]=1&per_page=20&page=1&pagination_type=page&sort[by]=created_at&sort[order]=asc" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/posts"
);
const params = {
"filters[author_id]": "00000000-df85-4307-a069-68612c4471e2",
"filters[subscribed]": "1",
"per_page": "20",
"page": "1",
"pagination_type": "page",
"sort[by]": "created_at",
"sort[order]": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/posts';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[author_id]' => '00000000-df85-4307-a069-68612c4471e2',
'filters[subscribed]' => '1',
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
'sort[by]' => 'created_at',
'sort[order]' => 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=xH0fPfxEyO51CkEoIZ1PIYa5Iw15tM2pc2hhXWG6; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [],
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "http://localhost:8083/v1/posts",
"per_page": 20,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
Returns single post
Example request:
curl --request GET \
--get "http://localhost:8083/v1/posts/00000000-fdb0-43ce-b555-e0a26ed563ac" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/posts/00000000-fdb0-43ce-b555-e0a26ed563ac"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/posts/00000000-fdb0-43ce-b555-e0a26ed563ac';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=zl2x37sRJaCylsaz7KCRkE0iHwvuAwLTYamTctLk; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-fdb0-43ce-b555-e0a26ed563ac",
"author": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"content": "Eaque dolore facilis illo sint. Aut corrupti qui mollitia officia. Nihil nemo corporis consequatur id quia exercitationem illum.",
"created_at": 1754648587,
"analytics": {
"views": 0,
"likes": 0,
"comments": 0,
"shares": 0
},
"is_liked": 0
}
}
Example response (404):
{
"type": "Post",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Comments
Store
requires authentication
Create a comment in association to an entity
Example request:
curl --request POST \
"http://localhost:8083/v1/comments" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"entity\": {
\"type\": \"post\",
\"id\": \"00000000-53f7-4a5b-8c34-e171172c8ba8\"
},
\"content\": \"My comment to the post\"
}"
const url = new URL(
"http://localhost:8083/v1/comments"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"entity": {
"type": "post",
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8"
},
"content": "My comment to the post"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/comments';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'entity' => [
'type' => 'post',
'id' => '00000000-53f7-4a5b-8c34-e171172c8ba8',
],
'content' => 'My comment to the post',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=0DSHQSoRT2rFTAzpwAFtc1YVYpGyuDRAU8J40AMu; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95a3d7-ac94-4990-8079-0f66379d2606",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "My comment to the post",
"created_at": 1754650477
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update own comment
Example request:
curl --request PATCH \
"http://localhost:8083/v1/comments/00000000-4113-4f04-bf25-cbca8546be74" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"content\": \"My comment to the post\"
}"
const url = new URL(
"http://localhost:8083/v1/comments/00000000-4113-4f04-bf25-cbca8546be74"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"content": "My comment to the post"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/comments/00000000-4113-4f04-bf25-cbca8546be74';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'content' => 'My comment to the post',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=xKAZwrWYLMsSB3KmTz1Lvd3KP3m81H2DGR7HqgFb; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-4113-4f04-bf25-cbca8546be74",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [
null
],
"content": "My comment to the post",
"created_at": 1754648586,
"updated_at": 1754650477
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Comment",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete own comment
Admin can remove any comment
Example request:
curl --request DELETE \
"http://localhost:8083/v1/comments/00000000-4113-4f04-bf25-cbca8546be74" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/comments/00000000-4113-4f04-bf25-cbca8546be74"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/comments/00000000-4113-4f04-bf25-cbca8546be74';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=AwgBGPOEQCeC5wgHhqEfwXJBLJWJlz4TjBHmIZbX; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Comment",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
Endpoint for fetching list of comments
Example request:
curl --request GET \
--get "http://localhost:8083/v1/comments?filters[entity_type]=post&filters[entity_id]=00000000-53f7-4a5b-8c34-e171172c8ba8&per_page=20&page=1&pagination_type=page" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/comments"
);
const params = {
"filters[entity_type]": "post",
"filters[entity_id]": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"per_page": "20",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/comments';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[entity_type]' => 'post',
'filters[entity_id]' => '00000000-53f7-4a5b-8c34-e171172c8ba8',
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=noF9dTK6VGZJwHC5rfbk8BAMB4DtXCWxs6EAZ1IM; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [
{
"id": "00000000-4113-4f04-bf25-cbca8546be74",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [
null
],
"content": "Sed asperiores voluptatem sapiente suscipit odio. Molestias officia architecto et vel magnam ut. Voluptatem laboriosam ipsa quis dolorem velit. Qui vel eaque sint enim aut quam in.",
"created_at": 1754648586
},
{
"id": "9f959892-5066-4285-82dd-caba53be84da",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Dignissimos perspiciatis vero reiciendis. Deserunt voluptatem saepe quam rem veritatis qui deserunt. Aut animi dolorem aut ullam officiis culpa dolor itaque.",
"created_at": 1754648586
},
{
"id": "9f959892-5146-4d0d-bc12-8484a297bb0f",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Ex nisi dicta enim dicta. Sed soluta nostrum praesentium deleniti error eos beatae. Soluta a earum quia accusamus laborum. Fuga non sit nam maiores magni est.",
"created_at": 1754648586
},
{
"id": "9f959892-5320-4ad5-9404-95f5e428aa04",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Expedita iste beatae nesciunt et vel sed. Incidunt dolores praesentium accusamus provident. Ut rerum labore sit voluptatem. Deleniti quis repellat voluptas accusamus occaecati in.",
"created_at": 1754648586
},
{
"id": "9f959892-553d-4b51-bf4a-49a1fcc171e2",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Cupiditate illum quas et eligendi atque accusantium reprehenderit. Architecto est ut natus minus impedit. Explicabo quos facilis et.",
"created_at": 1754648586
},
{
"id": "9f959892-56ca-4f2a-ad58-2761fa7ea5df",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Tempora ut voluptas labore eum nam. In qui ipsum ad tempore illo ullam. Illo quam earum vitae aspernatur.",
"created_at": 1754648586
},
{
"id": "9f959892-581e-4884-a265-13c7c7bc6a7d",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Est quidem labore laboriosam molestiae laboriosam. Animi qui quia et qui dignissimos cupiditate debitis. Error dolor nam quam. Et rerum sit illum.",
"created_at": 1754648586
},
{
"id": "9f959892-59de-4180-85ae-d994a15cc73d",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Rerum animi inventore sit odit earum voluptatum. Magnam incidunt ut laudantium. Ea eveniet ab maiores rem sunt nobis quasi.",
"created_at": 1754648586
},
{
"id": "9f959892-5b68-4874-bae8-6c6f3a47484e",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Voluptatem et quis ut quia cumque deleniti. Ullam nemo non similique. Qui soluta in enim nemo error. Explicabo quaerat officiis necessitatibus quis.",
"created_at": 1754648586
},
{
"id": "9f959892-5ce4-4c17-933d-2795d9d09df7",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Quaerat sit delectus et porro. Necessitatibus facere iure tenetur delectus placeat. Aspernatur ut non est impedit. Dolor aut dolores explicabo et et minus.",
"created_at": 1754648586
},
{
"id": "9f959892-5e69-47f7-80d5-a10a5fe1e809",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Voluptas ex non aut in adipisci beatae est corrupti. Nihil voluptatem architecto ullam qui qui quam velit. Vel laboriosam vel in.",
"created_at": 1754648586
},
{
"id": "9f959892-5f68-4fb4-bd27-d6750a8155bf",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Cupiditate amet ut odit saepe. Delectus in est tempora aut nisi. Voluptate neque et id quidem.",
"created_at": 1754648586
},
{
"id": "9f959892-611f-4a7e-b0b2-cedcfccdaa9c",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Qui voluptate omnis quidem id. Ducimus perspiciatis reprehenderit pariatur corporis necessitatibus. Aut pariatur sed molestiae suscipit similique et qui.",
"created_at": 1754648586
},
{
"id": "9f959892-62c3-480d-98f4-88ab3657eb10",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Vel fugit architecto quo optio. Est debitis explicabo qui distinctio doloremque id. Debitis non sunt dolores officia eaque labore magnam. Quaerat culpa et est error maiores nihil natus recusandae.",
"created_at": 1754648586
},
{
"id": "9f959892-64f9-48e5-96e3-0435d4022345",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Qui dignissimos error nulla laudantium eos. Aut dicta iste suscipit. Accusamus voluptate facilis esse laborum expedita qui.",
"created_at": 1754648586
},
{
"id": "9f959892-6701-4a37-bb63-d7d77ec89f92",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Repudiandae molestiae in consequatur ut ut eum laboriosam. Suscipit reprehenderit voluptas quo animi vel. Voluptatem animi impedit qui velit quas. Eos labore vel quod magni.",
"created_at": 1754648586
},
{
"id": "9f959892-68c1-47d4-a0e4-27d5668c746b",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Cumque rerum culpa commodi voluptatem voluptas. Perspiciatis provident incidunt cum. Ut velit repudiandae et qui. Doloribus quis amet asperiores et esse.",
"created_at": 1754648586
},
{
"id": "9f959892-6aaa-4864-a6e8-16b5a4d31e0f",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Nam cumque perferendis et. Eaque qui tenetur et est nemo. Quaerat qui ipsam eveniet rerum et.",
"created_at": 1754648586
},
{
"id": "9f959892-6c39-48cf-a547-4c2a251e1d3a",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Dicta nostrum a quidem ullam. Eveniet sit sed hic voluptatem tempore consequuntur. Unde sed deleniti porro doloremque cupiditate aliquid assumenda.",
"created_at": 1754648586
},
{
"id": "9f959892-6dff-4c88-b768-7f5a857d9978",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [],
"content": "Corporis voluptas iusto nesciunt ut soluta ea. Ut sit assumenda ea nulla sit sit. Nihil autem laudantium dolor dolorum quos.",
"created_at": 1754648586
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 3,
"path": "http://localhost:8083/v1/comments",
"per_page": 20,
"to": 20,
"total": 51
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
Returns single comment
Example request:
curl --request GET \
--get "http://localhost:8083/v1/comments/00000000-4113-4f04-bf25-cbca8546be74" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/comments/00000000-4113-4f04-bf25-cbca8546be74"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/comments/00000000-4113-4f04-bf25-cbca8546be74';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=yRA0JHldHZYBVwRwMjBq7vrlZrMImwV87XG8kngH; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-4113-4f04-bf25-cbca8546be74",
"entity": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"type": "post"
},
"attachments": [
{
"type": "image",
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"filename": "libero-etsilo",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo",
"extension": "silo",
"created_at": "2025-08-08T10:23:05.000000Z"
}
],
"content": "Sed asperiores voluptatem sapiente suscipit odio. Molestias officia architecto et vel magnam ut. Voluptatem laboriosam ipsa quis dolorem velit. Qui vel eaque sint enim aut quam in.",
"created_at": 1754648586
}
}
Example response (404):
{
"type": "Comment",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Albums
Create
requires authentication
Add new Album
Example request:
curl --request POST \
"http://localhost:8083/v1/albums" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"My favourite\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"description\": \"Write short or long description about your album in here ...\",
\"tracks\": [
\"00000000-a791-4783-9845-4b571a9e579f\"
]
}"
const url = new URL(
"http://localhost:8083/v1/albums"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "My favourite",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6",
"description": "Write short or long description about your album in here ...",
"tracks": [
"00000000-a791-4783-9845-4b571a9e579f"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/albums';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'My favourite',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'description' => 'Write short or long description about your album in here ...',
'tracks' => [
'00000000-a791-4783-9845-4b571a9e579f',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=6fCBKU9FDmCNBlgTrX2YKKf79fPPLAYZs0K5a4YN; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95a3dc-302a-40c5-890a-3d244691a1cc",
"name": "My favourite",
"description": "Write short or long description about your album in here ...",
"cover": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo",
"filename": "libero-etsilo",
"created_at": "2025-08-08T10:23:05+00:00",
"type": "image",
"analytics": {
"views": 1479,
"likes": 0,
"comments": 0,
"shares": 11
}
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e3",
"name": "Admin Test Country",
"avatar_url": null
},
"tracks_count": 1,
"tracks": [
{
"id": "00000000-a791-4783-9845-4b571a9e579f",
"title": "Rolling in the Deep",
"media_asset": {
"id": "9f959894-3151-46c4-89fa-b5ce57247988",
"url": "http://localhost:8083/v1/media-assets/9f959894-3151-46c4-89fa-b5ce57247988.wm"
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 0,
"likes": 0,
"comments": 0,
"shares": 2
},
"is_liked": 0
}
],
"created_at": 1754650480
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a Album
Example request:
curl --request PATCH \
"http://localhost:8083/v1/albums/00000000-b7fa-4324-b250-a3c6c78b65c4" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"My favourite\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"description\": \"Write short or long description about your album in here ...\",
\"tracks\": [
\"00000000-a791-4783-9845-4b571a9e579f\"
]
}"
const url = new URL(
"http://localhost:8083/v1/albums/00000000-b7fa-4324-b250-a3c6c78b65c4"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "My favourite",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6",
"description": "Write short or long description about your album in here ...",
"tracks": [
"00000000-a791-4783-9845-4b571a9e579f"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/albums/00000000-b7fa-4324-b250-a3c6c78b65c4';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'My favourite',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'description' => 'Write short or long description about your album in here ...',
'tracks' => [
'00000000-a791-4783-9845-4b571a9e579f',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=zXIh4hUeSGGIJGrel1n3elwLehzsifLOGha9ihEo; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-b7fa-4324-b250-a3c6c78b65c4",
"name": "My favourite",
"description": "Write short or long description about your album in here ...",
"cover": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo",
"filename": "libero-etsilo",
"created_at": "2025-08-08T10:23:05+00:00",
"type": "image",
"analytics": {
"views": 1927,
"likes": 0,
"comments": 0,
"shares": 10
}
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"tracks_count": 1,
"tracks": [
{
"id": "00000000-a791-4783-9845-4b571a9e579f",
"title": "Rolling in the Deep",
"media_asset": {
"id": "9f959894-3151-46c4-89fa-b5ce57247988",
"url": "http://localhost:8083/v1/media-assets/9f959894-3151-46c4-89fa-b5ce57247988.wm"
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 4,
"likes": 0,
"comments": 0,
"shares": 12
},
"is_liked": 0
}
],
"created_at": 1754648641
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Album",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete a Album
Example request:
curl --request DELETE \
"http://localhost:8083/v1/albums/00000000-b7fa-4324-b250-a3c6c78b65c4" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/albums/00000000-b7fa-4324-b250-a3c6c78b65c4"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/albums/00000000-b7fa-4324-b250-a3c6c78b65c4';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=2zjGc3F78LahTq5hrkRpzeEBPEpP8bdZIgUpDqm6; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Album",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
Endpoint for fetching all available albums.
Example request:
curl --request GET \
--get "http://localhost:8083/v1/albums?filters[name]=&filters[owner]=&per_page=5&page=68&cursor=labore&pagination_type=cursor&sort[by]=name&sort[order]=asc" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/albums"
);
const params = {
"filters[name]": "",
"filters[owner]": "",
"per_page": "5",
"page": "68",
"cursor": "labore",
"pagination_type": "cursor",
"sort[by]": "name",
"sort[order]": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/albums';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[name]' => '',
'filters[owner]' => '',
'per_page' => '5',
'page' => '68',
'cursor' => 'labore',
'pagination_type' => 'cursor',
'sort[by]' => 'name',
'sort[order]' => 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=aj9zv9leFXxOlpnNtuQZgGSwxnrWdizxoNCQfOBU; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [
{
"id": "9f9598e5-45fd-49db-b869-77c85bee671b",
"name": "Accusamus",
"description": null,
"tracks_count": 0,
"tracks": [],
"created_at": 1754648641
},
{
"id": "9f9598e5-428c-4e8a-b7f3-cefc034bf029",
"name": "Adipisci",
"description": null,
"tracks_count": 0,
"tracks": [],
"created_at": 1754648641
},
{
"id": "9f9598e5-433b-4493-8dd4-abbeb2a0da86",
"name": "Aliquid",
"description": null,
"tracks_count": 0,
"tracks": [],
"created_at": 1754648641
},
{
"id": "9f9598e5-55da-4650-8716-b2a88460ed0b",
"name": "Amet",
"description": null,
"tracks_count": 0,
"tracks": [],
"created_at": 1754648641
},
{
"id": "9f9598e5-5793-4d34-892e-f76864e1804d",
"name": "Animi",
"description": null,
"tracks_count": 0,
"tracks": [],
"created_at": 1754648641
}
],
"meta": {
"path": "http://localhost:8083/v1/albums",
"per_page": 5,
"next_cursor": "eyJuYW1lIjoiQW5pbWkiLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
"prev_cursor": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Endpoint for fetching album details
When album is private it can only be viewed by admin
Example request:
curl --request GET \
--get "http://localhost:8083/v1/albums/00000000-b7fa-4324-b250-a3c6c78b65c4" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/albums/00000000-b7fa-4324-b250-a3c6c78b65c4"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/albums/00000000-b7fa-4324-b250-a3c6c78b65c4';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=iW1dhBi6mzz27Ol6EHDoAxaREJgUwgJ0IOQcm694; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-b7fa-4324-b250-a3c6c78b65c4",
"name": "My favourite",
"description": null,
"cover": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo",
"filename": "libero-etsilo",
"created_at": "2025-08-08T10:23:05+00:00",
"type": "image",
"analytics": {
"views": 2325,
"likes": 0,
"comments": 0,
"shares": 6
}
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"tracks_count": 21,
"tracks": [
{
"id": "00000000-a791-4783-9845-4b571a9e579f",
"title": "Rolling in the Deep",
"media_asset": {
"id": "9f959894-3151-46c4-89fa-b5ce57247988",
"url": "http://localhost:8083/v1/media-assets/9f959894-3151-46c4-89fa-b5ce57247988.wm"
},
"cover": {
"id": "9f959894-3598-41dd-916e-705f73fff6d6",
"url": "https://via.placeholder.com/640x480.png/00cc33?text=aliquam"
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 6,
"likes": 0,
"comments": 8,
"shares": 4
},
"is_liked": 0
},
{
"id": "9f9598e7-5390-4d7b-a4a6-1a77166e73ca",
"title": "Ut aspernatur nihil repellat earum dolor praesentium.",
"media_asset": {
"id": "9f9598e6-c64e-49d0-829d-fa9f7a2ada3f",
"url": "http://localhost:8083/v1/media-assets/9f9598e6-c64e-49d0-829d-fa9f7a2ada3f.class"
},
"cover": {
"id": "9f9598e6-c93b-41f2-9438-96f6d2564a1e",
"url": "https://via.placeholder.com/640x480.png/0099dd?text=cum"
},
"owner": {
"id": "9f9598e6-c3c4-4659-aa56-6e774a6f2fc1",
"name": "Leonora Weimann DVM",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 5,
"likes": 0,
"comments": 12,
"shares": 4
},
"is_liked": 0
},
{
"id": "9f9598e7-5499-43cc-94eb-4956dc917669",
"title": "Aperiam eum adipisci praesentium quam illum.",
"media_asset": {
"id": "9f9598e6-cde0-498e-9cbc-ee0f5ec1d9f1",
"url": "http://localhost:8083/v1/media-assets/9f9598e6-cde0-498e-9cbc-ee0f5ec1d9f1.xlf"
},
"cover": {
"id": "9f9598e6-cffa-4df6-9959-5be3d245478a",
"url": "https://via.placeholder.com/640x480.png/002266?text=labore"
},
"owner": {
"id": "9f9598e6-cbc3-4154-bd60-722a4ee2fa32",
"name": "Isabell Greenholt",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 12,
"likes": 0,
"comments": 7,
"shares": 11
},
"is_liked": 0
},
{
"id": "9f9598e7-55c1-4234-802e-18f636144070",
"title": "Dolorum numquam quae velit ut.",
"media_asset": {
"id": "9f9598e6-d44e-43fe-bf73-0806fd0e8a9a",
"url": "http://localhost:8083/v1/media-assets/9f9598e6-d44e-43fe-bf73-0806fd0e8a9a.wav"
},
"cover": {
"id": "9f9598e6-d62f-46e2-ba12-ef2b7928447b",
"url": "https://via.placeholder.com/640x480.png/00cc11?text=omnis"
},
"owner": {
"id": "9f9598e6-d27e-45a8-a37b-c976311b480d",
"name": "Claud Rath",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 0,
"likes": 0,
"comments": 1,
"shares": 7
},
"is_liked": 0
},
{
"id": "9f9598e7-56f8-44dd-adc9-ba0d6093b8de",
"title": "Est inventore ipsa alias facilis nemo.",
"media_asset": {
"id": "9f9598e6-da8d-48b9-9204-01c97fbb057c",
"url": "http://localhost:8083/v1/media-assets/9f9598e6-da8d-48b9-9204-01c97fbb057c.wma"
},
"cover": {
"id": "9f9598e6-dcb3-400a-9f26-d654b78346e5",
"url": "https://via.placeholder.com/640x480.png/00ffbb?text=vel"
},
"owner": {
"id": "9f9598e6-d875-48b4-ab93-3d9fcd517ef7",
"name": "Nelle Bradtke",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 6,
"likes": 0,
"comments": 14,
"shares": 0
},
"is_liked": 0
},
{
"id": "9f9598e7-5821-4431-9c2f-a2b15557cd53",
"title": "Sunt nihil facere eum.",
"media_asset": {
"id": "9f9598e6-e097-4b9e-99ff-53861fe33ad2",
"url": "http://localhost:8083/v1/media-assets/9f9598e6-e097-4b9e-99ff-53861fe33ad2.npx"
},
"cover": {
"id": "9f9598e6-e223-4482-94eb-55438f71fd71",
"url": "https://via.placeholder.com/640x480.png/005599?text=sed"
},
"owner": {
"id": "9f9598e6-dee3-4cf4-bfdf-d74d34a6dc3b",
"name": "Sven Bartoletti",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 12,
"likes": 0,
"comments": 13,
"shares": 10
},
"is_liked": 0
},
{
"id": "9f9598e7-5918-457a-8245-6a5bc1567c1f",
"title": "Aperiam earum sint ex quam sed labore in.",
"media_asset": {
"id": "9f9598e6-e54e-4e7a-9987-6aefdcf3348c",
"url": "http://localhost:8083/v1/media-assets/9f9598e6-e54e-4e7a-9987-6aefdcf3348c.jpgv"
},
"cover": {
"id": "9f9598e6-e6c6-4c9f-ad9e-007f8157ca81",
"url": "https://via.placeholder.com/640x480.png/00dd33?text=debitis"
},
"owner": {
"id": "9f9598e6-e3d6-4aa3-94f6-fc9ff3448f00",
"name": "Andreanne Larkin",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 9,
"likes": 0,
"comments": 6,
"shares": 8
},
"is_liked": 0
},
{
"id": "9f9598e7-5a07-4392-afc7-feeaa51a11a2",
"title": "Aut eos reprehenderit hic et.",
"media_asset": {
"id": "9f9598e6-eaf1-4b74-8520-95b3f8c9a809",
"url": "http://localhost:8083/v1/media-assets/9f9598e6-eaf1-4b74-8520-95b3f8c9a809.movie"
},
"cover": {
"id": "9f9598e6-ee06-4584-bed1-2817ee8a03d9",
"url": "https://via.placeholder.com/640x480.png/00ee00?text=quidem"
},
"owner": {
"id": "9f9598e6-e87c-4f33-8724-9c5c5ffc6f87",
"name": "Prof. Sterling Little III",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 13,
"likes": 0,
"comments": 5,
"shares": 3
},
"is_liked": 0
},
{
"id": "9f9598e7-5b92-44a9-80d1-036f21b57a72",
"title": "At vero quae adipisci nulla illo natus blanditiis.",
"media_asset": {
"id": "9f9598e6-f34e-4c82-b320-8bc1045acdd7",
"url": "http://localhost:8083/v1/media-assets/9f9598e6-f34e-4c82-b320-8bc1045acdd7.pdf"
},
"cover": {
"id": "9f9598e6-f5a8-4cac-a16a-fa7f75aaed3b",
"url": "https://via.placeholder.com/640x480.png/008844?text=occaecati"
},
"owner": {
"id": "9f9598e6-f0e2-4508-8f2d-c3b1ece66556",
"name": "Dr. Maci Erdman DVM",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 8,
"likes": 0,
"comments": 12,
"shares": 2
},
"is_liked": 0
},
{
"id": "9f9598e7-5c80-4afd-9520-50a7c833e270",
"title": "Sint provident est porro et fugiat.",
"media_asset": {
"id": "9f9598e6-fa8e-422d-a69c-aa04238ebd37",
"url": "http://localhost:8083/v1/media-assets/9f9598e6-fa8e-422d-a69c-aa04238ebd37.x3db"
},
"cover": {
"id": "9f9598e6-fc8f-4e29-b88b-4ffbdc1d1e8c",
"url": "https://via.placeholder.com/640x480.png/00bbee?text=dignissimos"
},
"owner": {
"id": "9f9598e6-f821-4370-9142-438d642cb4e3",
"name": "Dr. Kamren DuBuque",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 1,
"likes": 0,
"comments": 3,
"shares": 13
},
"is_liked": 0
},
{
"id": "9f9598e7-5d94-4e5e-be9e-49ef867f0ce7",
"title": "Consequatur occaecati illo illo voluptatem officiis eum.",
"media_asset": {
"id": "9f9598e7-01b4-4ad2-9958-0d3894c193d6",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-01b4-4ad2-9958-0d3894c193d6.ssf"
},
"cover": {
"id": "9f9598e7-0467-4b3a-9165-2dcad273fba4",
"url": "https://via.placeholder.com/640x480.png/003344?text=nesciunt"
},
"owner": {
"id": "9f9598e6-ff69-4803-b370-b2e7b3223735",
"name": "Lila Bins III",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 8,
"likes": 0,
"comments": 9,
"shares": 1
},
"is_liked": 0
},
{
"id": "9f9598e7-5eff-413c-a936-2c15594d865e",
"title": "Ut aut nostrum vero aut quia qui suscipit.",
"media_asset": {
"id": "9f9598e7-0968-412f-a97f-80fc5ddaa6f7",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-0968-412f-a97f-80fc5ddaa6f7.3ds"
},
"cover": {
"id": "9f9598e7-0c24-4eb7-9949-a2702393e01f",
"url": "https://via.placeholder.com/640x480.png/00eeaa?text=quia"
},
"owner": {
"id": "9f9598e7-0716-4a94-a43f-009c33efcf53",
"name": "Libbie Medhurst",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 10,
"likes": 0,
"comments": 3,
"shares": 10
},
"is_liked": 0
},
{
"id": "9f9598e7-602a-4783-b573-5c2a02d90ad1",
"title": "Consequatur qui et dolorum cupiditate.",
"media_asset": {
"id": "9f9598e7-0fe7-495b-888f-f2a15b59bdaa",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-0fe7-495b-888f-f2a15b59bdaa.srt"
},
"cover": {
"id": "9f9598e7-1238-4817-9775-c87c826b428b",
"url": "https://via.placeholder.com/640x480.png/0033ee?text=ut"
},
"owner": {
"id": "9f9598e7-0e47-4509-9843-7a4b299c9e92",
"name": "Molly O'Kon",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 7,
"likes": 0,
"comments": 14,
"shares": 4
},
"is_liked": 0
},
{
"id": "9f9598e7-612b-4f54-b857-83dc73ff7ea6",
"title": "Ad expedita a quasi reprehenderit.",
"media_asset": {
"id": "9f9598e7-1727-47ce-bd6f-4a831f457e0e",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-1727-47ce-bd6f-4a831f457e0e.vcf"
},
"cover": {
"id": "9f9598e7-1988-47d2-b2c0-80d42869c2e4",
"url": "https://via.placeholder.com/640x480.png/0033ff?text=qui"
},
"owner": {
"id": "9f9598e7-14ee-441c-b0b9-7e3495a203e0",
"name": "Angelita Renner",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 15,
"likes": 0,
"comments": 0,
"shares": 14
},
"is_liked": 0
},
{
"id": "9f9598e7-6257-44b6-a1b8-5e281d834661",
"title": "Qui expedita et et et soluta ea ipsam reprehenderit.",
"media_asset": {
"id": "9f9598e7-1ea2-438a-b95e-0ee210922a50",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-1ea2-438a-b95e-0ee210922a50.x3db"
},
"cover": {
"id": "9f9598e7-20ff-4899-918a-9db5c7dc5392",
"url": "https://via.placeholder.com/640x480.png/0077dd?text=rem"
},
"owner": {
"id": "9f9598e7-1bf1-4fa7-a177-9705c82d7ed0",
"name": "Dr. Demetris Spencer",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 13,
"likes": 0,
"comments": 12,
"shares": 7
},
"is_liked": 0
},
{
"id": "9f9598e7-6343-4550-bf18-e0e1f9341de5",
"title": "Maxime in dicta recusandae nisi laudantium consectetur ab.",
"media_asset": {
"id": "9f9598e7-25c7-43b1-a151-7b22172eab24",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-25c7-43b1-a151-7b22172eab24.sxg"
},
"cover": {
"id": "9f9598e7-2830-45a2-bdba-bdb836910416",
"url": "https://via.placeholder.com/640x480.png/00bbdd?text=ipsam"
},
"owner": {
"id": "9f9598e7-237e-45e7-a8d1-6406a538c190",
"name": "Hubert Fahey Jr.",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 2,
"likes": 0,
"comments": 9,
"shares": 2
},
"is_liked": 0
},
{
"id": "9f9598e7-6468-4072-80a6-11aa7bdcd561",
"title": "Ut quae modi sed nemo officia sint.",
"media_asset": {
"id": "9f9598e7-2d84-4ea5-b092-3f40f8f6ec6d",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-2d84-4ea5-b092-3f40f8f6ec6d.icc"
},
"cover": {
"id": "9f9598e7-2fe7-4b8e-a907-c8332ff79794",
"url": "https://via.placeholder.com/640x480.png/00dd44?text=eum"
},
"owner": {
"id": "9f9598e7-2b08-478e-8537-73767256d56e",
"name": "Pete Johns",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 13,
"likes": 0,
"comments": 2,
"shares": 13
},
"is_liked": 0
},
{
"id": "9f9598e7-659c-4186-8239-25c193a21e95",
"title": "Aliquid ab labore suscipit maxime excepturi consequatur.",
"media_asset": {
"id": "9f9598e7-3564-4db4-98b8-04975a2a5189",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-3564-4db4-98b8-04975a2a5189.uri"
},
"cover": {
"id": "9f9598e7-37f0-4264-be45-f6a91b026e6f",
"url": "https://via.placeholder.com/640x480.png/0000cc?text=quis"
},
"owner": {
"id": "9f9598e7-32f3-4ef5-b0d0-1c90664a335b",
"name": "Erich Cummings I",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 1,
"likes": 0,
"comments": 8,
"shares": 15
},
"is_liked": 0
},
{
"id": "9f9598e7-6748-4c18-96cd-4e2a7242fa0f",
"title": "Exercitationem necessitatibus aliquid sit a exercitationem at.",
"media_asset": {
"id": "9f9598e7-3d2e-4962-b880-82599e42b074",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-3d2e-4962-b880-82599e42b074.sti"
},
"cover": {
"id": "9f9598e7-3fa4-4eab-a9e6-bdad713364a0",
"url": "https://via.placeholder.com/640x480.png/00bb77?text=ab"
},
"owner": {
"id": "9f9598e7-3acf-4ebc-a6f4-997675bf8566",
"name": "Alessia Sporer",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 0,
"likes": 0,
"comments": 9,
"shares": 4
},
"is_liked": 0
},
{
"id": "9f9598e7-6865-45e5-9db7-03acfc978903",
"title": "Sunt aliquam qui et nam quo ut.",
"media_asset": {
"id": "9f9598e7-44e2-4e34-a3d1-4ea636d972f3",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-44e2-4e34-a3d1-4ea636d972f3.sxm"
},
"cover": {
"id": "9f9598e7-4872-4d75-8c5b-3fe867a4d8ce",
"url": "https://via.placeholder.com/640x480.png/00eedd?text=incidunt"
},
"owner": {
"id": "9f9598e7-4256-4f05-8363-c3294dccdc8a",
"name": "Mrs. Chelsie Dare",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 6,
"likes": 0,
"comments": 14,
"shares": 0
},
"is_liked": 0
},
{
"id": "9f9598e7-694e-4813-a566-beeba4bda32f",
"title": "Aliquam facere libero omnis consectetur cumque ea dicta qui.",
"media_asset": {
"id": "9f9598e7-4eff-4643-b36a-b0dfec1ea033",
"url": "http://localhost:8083/v1/media-assets/9f9598e7-4eff-4643-b36a-b0dfec1ea033.webp"
},
"cover": {
"id": "9f9598e7-5123-472c-b85f-e007d4e50005",
"url": "https://via.placeholder.com/640x480.png/00ffee?text=ipsum"
},
"owner": {
"id": "9f9598e7-4c35-42eb-9ff0-b9d5805a1ea1",
"name": "Ms. Lupe Price",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 3,
"likes": 0,
"comments": 9,
"shares": 9
},
"is_liked": 0
}
],
"created_at": 1754648641
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Album",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Playlists
System
New tracks
Example request:
curl --request GET \
--get "http://localhost:8083/v1/playlists/new" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/playlists/new"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists/new';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=KBpv6FwVpoMLEsMCGfqoqu0OgCl1Mm7ngeeMEzyA; expires=Fri, 08 Aug 2025 12:54:36 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Popular tracks
Example request:
curl --request GET \
--get "http://localhost:8083/v1/playlists/popular" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/playlists/popular"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists/popular';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=0BvKEgU42TbXsCYXSghWfhvGrPOvZieoHSCnkVnG; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Recommended tracks
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8083/v1/playlists/recommended" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/playlists/recommended"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists/recommended';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=hYiIthEWVvxdGgltqE04XlNyl0vfl19tGN8T9btF; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Endpoint for fetching playlist details
When playlist is private it can only be viewed by admin
Example request:
curl --request GET \
--get "http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=SB2VCwCH96eXVn5oBTBsxXllaSAA2RrObrBAjysZ; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-b7fa-4324-b250-a3c6c78b65c4",
"name": "My favourite",
"description": null,
"cover": null,
"tracks_count": 21,
"tracks": [
{
"id": "00000000-a791-4783-9845-4b571a9e579f",
"title": "Rolling in the Deep",
"media_asset": {
"id": "9f959894-3151-46c4-89fa-b5ce57247988",
"url": "http://localhost:8083/v1/media-assets/9f959894-3151-46c4-89fa-b5ce57247988.wm"
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 5,
"likes": 0,
"comments": 15,
"shares": 3
},
"is_liked": 0
},
{
"id": "9f9598e1-86a2-4a07-9aec-1e0ad641d0a6",
"title": "Nihil ut et fugiat voluptatum.",
"media_asset": {
"id": "9f9598e1-0a23-4736-9acf-c16c4178dd78",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-0a23-4736-9acf-c16c4178dd78.xaml"
},
"owner": {
"id": "9f9598e1-0893-4583-9b92-a37c18a7bbad",
"name": "Mrs. Gerry Koch II",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 9,
"likes": 0,
"comments": 11,
"shares": 8
},
"is_liked": 0
},
{
"id": "9f9598e1-8786-4e2d-b02e-3c53d40d17b0",
"title": "Nemo corrupti fugiat quisquam modi neque rerum.",
"media_asset": {
"id": "9f9598e1-0e95-487a-82bf-66d239d5aaff",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-0e95-487a-82bf-66d239d5aaff.xul"
},
"owner": {
"id": "9f9598e1-0d13-45ae-b66a-8ae1b66e6fc5",
"name": "Bo Hodkiewicz",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 10,
"likes": 0,
"comments": 7,
"shares": 1
},
"is_liked": 0
},
{
"id": "9f9598e1-8876-417d-b700-6a4102cb6a11",
"title": "Magni velit eius exercitationem distinctio dolorum aut.",
"media_asset": {
"id": "9f9598e1-14ff-4225-8a34-1450bdf77219",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-14ff-4225-8a34-1450bdf77219.m2v"
},
"owner": {
"id": "9f9598e1-131c-4fb5-988d-b1c82067ba22",
"name": "Maci Tremblay",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 13,
"likes": 0,
"comments": 4,
"shares": 13
},
"is_liked": 0
},
{
"id": "9f9598e1-8985-437e-9edb-aa71781fb61e",
"title": "Enim non soluta vero repellat laboriosam deleniti odio.",
"media_asset": {
"id": "9f9598e1-1afe-4a47-abdd-1033e1e9b31b",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-1afe-4a47-abdd-1033e1e9b31b.odp"
},
"owner": {
"id": "9f9598e1-196f-417e-a617-dd6b49698694",
"name": "Mrs. Sallie Barrows DDS",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 2,
"likes": 0,
"comments": 1,
"shares": 1
},
"is_liked": 0
},
{
"id": "9f9598e1-8aa0-4089-939c-4b3525f07437",
"title": "Possimus quod non optio fugit minima quo quae voluptatem.",
"media_asset": {
"id": "9f9598e1-20bb-4f47-af75-fa1709ab0564",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-20bb-4f47-af75-fa1709ab0564.wml"
},
"owner": {
"id": "9f9598e1-1f07-4932-ae0b-c5b9a77dacb7",
"name": "Burley Krajcik",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 5,
"likes": 0,
"comments": 4,
"shares": 12
},
"is_liked": 0
},
{
"id": "9f9598e1-8ba3-4ce1-9613-1c738dd28e20",
"title": "Exercitationem veniam nesciunt pariatur impedit.",
"media_asset": {
"id": "9f9598e1-2712-4fcf-8c4a-0c353836d7fc",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-2712-4fcf-8c4a-0c353836d7fc.pfm"
},
"owner": {
"id": "9f9598e1-2567-48ae-bfde-5a92e12d04b8",
"name": "Ms. Otilia Toy I",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 15,
"likes": 0,
"comments": 3,
"shares": 4
},
"is_liked": 0
},
{
"id": "9f9598e1-8c74-4159-b31c-7c28b2707404",
"title": "Quia praesentium ipsum repellendus.",
"media_asset": {
"id": "9f9598e1-2bcf-4e05-852c-1c8947fe1e92",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-2bcf-4e05-852c-1c8947fe1e92.icm"
},
"owner": {
"id": "9f9598e1-2a33-419b-8887-c590d3a9dc68",
"name": "Prof. Demetris Halvorson V",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 7,
"likes": 0,
"comments": 1,
"shares": 0
},
"is_liked": 0
},
{
"id": "9f9598e1-8d1f-44e0-a3f2-499969180d35",
"title": "Et beatae neque blanditiis error aperiam ipsam et.",
"media_asset": {
"id": "9f9598e1-3221-40f7-a7da-7c6efb49cd84",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-3221-40f7-a7da-7c6efb49cd84.tao"
},
"owner": {
"id": "9f9598e1-2feb-4608-a6f9-d4e849b99fc3",
"name": "Emmie Bartoletti",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 3,
"likes": 0,
"comments": 15,
"shares": 14
},
"is_liked": 0
},
{
"id": "9f9598e1-8e51-4fd8-a052-8f6805068905",
"title": "Quis sed doloremque dolor tenetur vero quibusdam quibusdam quos.",
"media_asset": {
"id": "9f9598e1-3909-4db8-91a1-b80b4b2e6476",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-3909-4db8-91a1-b80b4b2e6476.mods"
},
"owner": {
"id": "9f9598e1-36bf-4515-9085-2eeb001d6acf",
"name": "Lillie Sauer III",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 10,
"likes": 0,
"comments": 5,
"shares": 9
},
"is_liked": 0
},
{
"id": "9f9598e1-8f2f-4c23-8591-e1a51db64429",
"title": "Doloribus et porro nam enim adipisci architecto.",
"media_asset": {
"id": "9f9598e1-4000-444f-8a49-7c2d22ee6b11",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-4000-444f-8a49-7c2d22ee6b11.jsonml"
},
"owner": {
"id": "9f9598e1-3dd8-4ebe-b9c0-c2b994a16430",
"name": "Claudie Wolff II",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 14,
"likes": 0,
"comments": 8,
"shares": 6
},
"is_liked": 0
},
{
"id": "9f9598e1-8ff0-4eed-a7c0-6792a9669118",
"title": "Rem fugit consequatur temporibus non qui natus molestiae repudiandae.",
"media_asset": {
"id": "9f9598e1-4709-458d-b818-1606f3ab8fd7",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-4709-458d-b818-1606f3ab8fd7.pki"
},
"owner": {
"id": "9f9598e1-44c3-4317-af4a-68e64ee554c4",
"name": "Adaline Schamberger",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 2,
"likes": 0,
"comments": 12,
"shares": 3
},
"is_liked": 0
},
{
"id": "9f9598e1-90a2-4ac2-87db-c25f5a419466",
"title": "Corrupti dolor alias quae minima quis veritatis perspiciatis.",
"media_asset": {
"id": "9f9598e1-4cf2-46ea-b029-9520c7688ecb",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-4cf2-46ea-b029-9520c7688ecb.wav"
},
"owner": {
"id": "9f9598e1-4b1a-4249-bfea-194d0b75c1b4",
"name": "Gracie Kunze IV",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 12,
"likes": 0,
"comments": 6,
"shares": 8
},
"is_liked": 0
},
{
"id": "9f9598e1-9170-4fb7-8c1b-95a20d5a06e6",
"title": "Qui ea voluptatem et perspiciatis ut et aut.",
"media_asset": {
"id": "9f9598e1-53d8-4fca-9ccc-2c8765bd50de",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-53d8-4fca-9ccc-2c8765bd50de.blorb"
},
"owner": {
"id": "9f9598e1-516d-4243-96e9-1ecdc89d0724",
"name": "Ms. Johanna Bechtelar",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 15,
"likes": 0,
"comments": 7,
"shares": 4
},
"is_liked": 0
},
{
"id": "9f9598e1-929a-4574-9c93-239e2881fc25",
"title": "Temporibus dignissimos expedita aperiam placeat harum.",
"media_asset": {
"id": "9f9598e1-5a86-4c5f-a4bc-13ae86489a1a",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-5a86-4c5f-a4bc-13ae86489a1a.vis"
},
"owner": {
"id": "9f9598e1-5888-46c2-9be8-fb9c3eddc74d",
"name": "Israel Huel",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 3,
"likes": 0,
"comments": 5,
"shares": 12
},
"is_liked": 0
},
{
"id": "9f9598e1-93ba-4095-8c05-ea3b77617245",
"title": "Amet incidunt aliquam saepe inventore rem dolorum voluptatum numquam.",
"media_asset": {
"id": "9f9598e1-6020-4472-a988-b6c3e2269fd3",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-6020-4472-a988-b6c3e2269fd3.pskcxml"
},
"owner": {
"id": "9f9598e1-5e11-4d26-bb90-1857f82e9f67",
"name": "Hettie Rippin I",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 10,
"likes": 0,
"comments": 13,
"shares": 7
},
"is_liked": 0
},
{
"id": "9f9598e1-94e9-4dfc-bc7a-c66917c83d8c",
"title": "Omnis veniam temporibus et non sint dolorem.",
"media_asset": {
"id": "9f9598e1-673e-4877-aeb7-beca8282ef09",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-673e-4877-aeb7-beca8282ef09.tmo"
},
"owner": {
"id": "9f9598e1-64f4-4da3-8fe0-7e87875d5d97",
"name": "Mr. Brennon Durgan",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 2,
"likes": 0,
"comments": 14,
"shares": 13
},
"is_liked": 0
},
{
"id": "9f9598e1-95d5-470f-aa4b-48e835cca9b7",
"title": "Dolor rerum quibusdam illo quaerat molestiae.",
"media_asset": {
"id": "9f9598e1-6cf5-4ca4-a2d5-9a30e66d4903",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-6cf5-4ca4-a2d5-9a30e66d4903.so"
},
"owner": {
"id": "9f9598e1-6b34-467d-96dd-e5ce69e72fff",
"name": "Janiya Emmerich",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 2,
"likes": 0,
"comments": 11,
"shares": 3
},
"is_liked": 0
},
{
"id": "9f9598e1-9693-4b71-905b-89978dd8d8d4",
"title": "Ullam quod quos exercitationem error ad voluptatibus vel ea.",
"media_asset": {
"id": "9f9598e1-743b-4fe0-942c-66a1ffd4be64",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-743b-4fe0-942c-66a1ffd4be64.knp"
},
"owner": {
"id": "9f9598e1-718e-40c0-836f-0502c8290859",
"name": "Dr. Michael McKenzie",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 7,
"likes": 0,
"comments": 14,
"shares": 0
},
"is_liked": 0
},
{
"id": "9f9598e1-975e-440b-9e68-40a97205114b",
"title": "Impedit qui non culpa.",
"media_asset": {
"id": "9f9598e1-7b3b-4d86-ac14-aab7551118ea",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-7b3b-4d86-ac14-aab7551118ea.xpm"
},
"owner": {
"id": "9f9598e1-78f6-4bbe-8183-bc7777ae33b4",
"name": "Jerrod Satterfield",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 15,
"likes": 0,
"comments": 0,
"shares": 10
},
"is_liked": 0
},
{
"id": "9f9598e1-9850-4f33-b7e1-65a17581b7e2",
"title": "Non doloremque minima et illo sequi.",
"media_asset": {
"id": "9f9598e1-8218-4f5e-bd93-6dd2d91b280f",
"url": "http://localhost:8083/v1/media-assets/9f9598e1-8218-4f5e-bd93-6dd2d91b280f.djvu"
},
"owner": {
"id": "9f9598e1-7fea-4aea-ab2f-b1b8de246344",
"name": "Bobby Wilderman",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 9,
"likes": 0,
"comments": 12,
"shares": 5
},
"is_liked": 0
}
],
"is_editable": true
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Playlist",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create
requires authentication
Add new Playlist
Example request:
curl --request POST \
"http://localhost:8083/v1/playlists" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"My favourite\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"description\": \"Write short or long description about your album in here ...\",
\"tracks\": [
\"00000000-a791-4783-9845-4b571a9e579f\"
]
}"
const url = new URL(
"http://localhost:8083/v1/playlists"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "My favourite",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6",
"description": "Write short or long description about your album in here ...",
"tracks": [
"00000000-a791-4783-9845-4b571a9e579f"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'My favourite',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'description' => 'Write short or long description about your album in here ...',
'tracks' => [
'00000000-a791-4783-9845-4b571a9e579f',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=a8yUkxGae6a3WjluzMhMIcVlgC2Z9ZcOoJcZ5RTT; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95a3da-8392-49b0-935f-95fe77307aa6",
"name": "My favourite",
"description": "Write short or long description about your album in here ...",
"cover": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo",
"filename": "libero-etsilo",
"created_at": "2025-08-08T10:23:05+00:00",
"type": "image",
"analytics": {
"views": 1304,
"likes": 0,
"comments": 0,
"shares": 15
}
},
"tracks_count": 1,
"tracks": [
{
"id": "00000000-a791-4783-9845-4b571a9e579f",
"title": "Rolling in the Deep",
"media_asset": {
"id": "9f959894-3151-46c4-89fa-b5ce57247988",
"url": "http://localhost:8083/v1/media-assets/9f959894-3151-46c4-89fa-b5ce57247988.wm"
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 6,
"likes": 0,
"comments": 3,
"shares": 15
},
"is_liked": 0
}
],
"is_editable": true
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a Playlist
Example request:
curl --request PATCH \
"http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"My favourite\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"description\": \"Write short or long description about your album in here ...\",
\"tracks\": [
\"00000000-a791-4783-9845-4b571a9e579f\"
]
}"
const url = new URL(
"http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "My favourite",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6",
"description": "Write short or long description about your album in here ...",
"tracks": [
"00000000-a791-4783-9845-4b571a9e579f"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'My favourite',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'description' => 'Write short or long description about your album in here ...',
'tracks' => [
'00000000-a791-4783-9845-4b571a9e579f',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Z389GuIj2X6ETdvYDDgJ1BSGePl98BxO29XmTu07; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-b7fa-4324-b250-a3c6c78b65c4",
"name": "My favourite",
"description": "Write short or long description about your album in here ...",
"cover": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo",
"filename": "libero-etsilo",
"created_at": "2025-08-08T10:23:05+00:00",
"type": "image",
"analytics": {
"views": 671,
"likes": 0,
"comments": 0,
"shares": 14
}
},
"tracks_count": 1,
"tracks": [
{
"id": "00000000-a791-4783-9845-4b571a9e579f",
"title": "Rolling in the Deep",
"media_asset": {
"id": "9f959894-3151-46c4-89fa-b5ce57247988",
"url": "http://localhost:8083/v1/media-assets/9f959894-3151-46c4-89fa-b5ce57247988.wm"
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 7,
"likes": 0,
"comments": 5,
"shares": 8
},
"is_liked": 0
}
],
"is_editable": true
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Playlist",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete a Playlist
Example request:
curl --request DELETE \
"http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=HBsphtJt8ByrPkbo35vEId5du5yTx1LgixkWIHwK; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Playlist",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
Endpoint for fetching all available playlists.
Example request:
curl --request GET \
--get "http://localhost:8083/v1/playlists?filters[name]=" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/playlists"
);
const params = {
"filters[name]": "",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[name]' => '',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Uw3OlUIYvWGq7cUwQVQ9a6iLrqomFWanMVhtAV1S; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [
{
"id": "a5bd1de4-1bee-427b-9288-e832f254bd8a",
"name": "New",
"description": null,
"cover": null,
"tracks_count": 0,
"tracks": [],
"is_editable": false
},
{
"id": "a5bd1de4-1bee-427b-9288-e832f254bd8b",
"name": "Popular",
"description": null,
"cover": null,
"tracks_count": 0,
"tracks": [],
"is_editable": false
},
{
"id": "a5bd1de4-1bee-427b-9288-e832f254bd8c",
"name": "Recommended",
"description": null,
"cover": null,
"tracks_count": 0,
"tracks": [],
"is_editable": false
},
{
"id": "9f9598df-8545-4cbe-a969-ea0036a5995e",
"name": "Est",
"description": null,
"cover": null,
"tracks_count": 0,
"tracks": [],
"is_editable": true
},
{
"id": "9f9598df-84ad-4044-bc4e-7f7256394221",
"name": "Id",
"description": null,
"cover": null,
"tracks_count": 0,
"tracks": [],
"is_editable": true
},
{
"id": "9f9598df-8402-4804-9c95-92959ea58bd7",
"name": "Quidem",
"description": null,
"cover": null,
"tracks_count": 0,
"tracks": [],
"is_editable": true
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tracks
Add track
requires authentication
Add track to the playlist
Example request:
curl --request POST \
"http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4/00000000-a791-4783-9845-4b571a9e579f" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4/00000000-a791-4783-9845-4b571a9e579f"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4/00000000-a791-4783-9845-4b571a9e579f';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=4GB0j52FZw7AIgkPxrvCtHGbeue6JvfAITPpycpy; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Playlist",
"message": "No query results"
}
Example response (404):
{
"type": "Track",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove track
requires authentication
Remove track from the playlist
Example request:
curl --request DELETE \
"http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4/00000000-a791-4783-9845-4b571a9e579f" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4/00000000-a791-4783-9845-4b571a9e579f"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4/00000000-a791-4783-9845-4b571a9e579f';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=38FFXypbUMWsb1S4V82BvFzOV3qz4Q2p4nUZCuYv; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Playlist",
"message": "No query results"
}
Example response (404):
{
"type": "Track",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tracks
Store
requires authentication
Create a track in association to an entity
Example request:
curl --request POST \
"http://localhost:8083/v1/tracks" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"media_asset_id\": \"00000000-422e-41ff-a266-2b0a093307e7\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"album_id\": \"00000000-b7fa-4324-b250-a3c6c78b65c4\",
\"title\": \"Rolling in the Deep\",
\"genres\": [
\"cf61fb7c-7681-3569-a52f-b82f3a8e301d\"
],
\"lyrics\": {
\"is_own\": false,
\"author\": \"Hubby Bobby\",
\"content\": \"Lorem ipsum dolor sit amet\\\\nconsectetur adipiscing elit\\\\nPhasellus consectetur\\\\nfelis eu pretium accumsan\"
},
\"music\": {
\"is_own\": false,
\"author\": \"Bobby Hubby\"
}
}"
const url = new URL(
"http://localhost:8083/v1/tracks"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"media_asset_id": "00000000-422e-41ff-a266-2b0a093307e7",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6",
"album_id": "00000000-b7fa-4324-b250-a3c6c78b65c4",
"title": "Rolling in the Deep",
"genres": [
"cf61fb7c-7681-3569-a52f-b82f3a8e301d"
],
"lyrics": {
"is_own": false,
"author": "Hubby Bobby",
"content": "Lorem ipsum dolor sit amet\\nconsectetur adipiscing elit\\nPhasellus consectetur\\nfelis eu pretium accumsan"
},
"music": {
"is_own": false,
"author": "Bobby Hubby"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/tracks';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'media_asset_id' => '00000000-422e-41ff-a266-2b0a093307e7',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'album_id' => '00000000-b7fa-4324-b250-a3c6c78b65c4',
'title' => 'Rolling in the Deep',
'genres' => [
'cf61fb7c-7681-3569-a52f-b82f3a8e301d',
],
'lyrics' => [
'is_own' => false,
'author' => 'Hubby Bobby',
'content' => 'Lorem ipsum dolor sit amet\\nconsectetur adipiscing elit\\nPhasellus consectetur\\nfelis eu pretium accumsan',
],
'music' => [
'is_own' => false,
'author' => 'Bobby Hubby',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=FTXU8hYTc3JyZUwvl7ZUKQmPTzhtgjACNYb8EoXU; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95a3dc-49d5-4f14-8575-0d8294d7734b",
"title": "Rolling in the Deep",
"media_asset": {
"id": "00000000-422e-41ff-a266-2b0a093307e7",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e7.sh"
},
"cover": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "https://via.placeholder.com/640x480.png/0044cc?text=rerum"
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e3",
"name": "Admin Test Country",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 10,
"likes": 0,
"comments": 7,
"shares": 2
},
"is_liked": 0,
"lyrics": {
"is_own": false,
"author": "Hubby Bobby",
"content": "Lorem ipsum dolor sit amet\\nconsectetur adipiscing elit\\nPhasellus consectetur\\nfelis eu pretium accumsan"
},
"music": {
"is_own": false,
"author": "Bobby Hubby"
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update own track
Example request:
curl --request PATCH \
"http://localhost:8083/v1/tracks/00000000-a791-4783-9845-4b571a9e579f" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"media_asset_id\": \"00000000-422e-41ff-a266-2b0a093307e7\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"album_id\": \"00000000-b7fa-4324-b250-a3c6c78b65c4\",
\"title\": \"Rolling in the Deep (Updated)\",
\"genres\": [
\"90229558-a7a3-355b-846f-ac0e83533e32\"
],
\"lyrics\": {
\"is_own\": false,
\"author\": \"Hubby Bobby\",
\"content\": \"Lorem ipsum dolor sit amet\\\\nconsectetur adipiscing elit\\\\nPhasellus consectetur\\\\nfelis eu pretium accumsan\"
},
\"music\": {
\"is_own\": false,
\"author\": \"Bobby Hubby\"
}
}"
const url = new URL(
"http://localhost:8083/v1/tracks/00000000-a791-4783-9845-4b571a9e579f"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"media_asset_id": "00000000-422e-41ff-a266-2b0a093307e7",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6",
"album_id": "00000000-b7fa-4324-b250-a3c6c78b65c4",
"title": "Rolling in the Deep (Updated)",
"genres": [
"90229558-a7a3-355b-846f-ac0e83533e32"
],
"lyrics": {
"is_own": false,
"author": "Hubby Bobby",
"content": "Lorem ipsum dolor sit amet\\nconsectetur adipiscing elit\\nPhasellus consectetur\\nfelis eu pretium accumsan"
},
"music": {
"is_own": false,
"author": "Bobby Hubby"
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/tracks/00000000-a791-4783-9845-4b571a9e579f';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'media_asset_id' => '00000000-422e-41ff-a266-2b0a093307e7',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'album_id' => '00000000-b7fa-4324-b250-a3c6c78b65c4',
'title' => 'Rolling in the Deep (Updated)',
'genres' => [
'90229558-a7a3-355b-846f-ac0e83533e32',
],
'lyrics' => [
'is_own' => false,
'author' => 'Hubby Bobby',
'content' => 'Lorem ipsum dolor sit amet\\nconsectetur adipiscing elit\\nPhasellus consectetur\\nfelis eu pretium accumsan',
],
'music' => [
'is_own' => false,
'author' => 'Bobby Hubby',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=jde6QyX7HQQLBMwCOI9OuYl3W62jZoyf9f2eH8HI; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-a791-4783-9845-4b571a9e579f",
"title": "Rolling in the Deep (Updated)",
"media_asset": {
"id": "9f959894-3151-46c4-89fa-b5ce57247988",
"url": "http://localhost:8083/v1/media-assets/9f959894-3151-46c4-89fa-b5ce57247988.wm"
},
"cover": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "https://via.placeholder.com/640x480.png/0044cc?text=rerum"
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 4,
"likes": 0,
"comments": 7,
"shares": 7
},
"is_liked": 0,
"lyrics": {
"is_own": false,
"author": "Hubby Bobby",
"content": "Lorem ipsum dolor sit amet\\nconsectetur adipiscing elit\\nPhasellus consectetur\\nfelis eu pretium accumsan"
},
"music": {
"is_own": false,
"author": "Bobby Hubby"
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Track",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete own track
Admin can remove any track
Example request:
curl --request DELETE \
"http://localhost:8083/v1/tracks/00000000-a791-4783-9845-4b571a9e579f" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/tracks/00000000-a791-4783-9845-4b571a9e579f"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/tracks/00000000-a791-4783-9845-4b571a9e579f';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=4dMlBYWfOwOxxa0dzEnAwnhVQljsYr9uDwnkB4rd; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Track",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
Endpoint for fetching list of tracks
Example request:
curl --request GET \
--get "http://localhost:8083/v1/tracks?filters[title]=Rolling+in+the+Deep&filters[owner]=Joe+Shmoe&filters[owner_id]=00000000-df85-4307-a069-68612c4471e2&filters[genres]=%5B%229f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12%22%2C%229f95986e-f2d8-434d-b282-8c39b9996cdb%22%5D&filters[subscribed]=&per_page=20&page=1&pagination_type=page" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/tracks"
);
const params = {
"filters[title]": "Rolling in the Deep",
"filters[owner]": "Joe Shmoe",
"filters[owner_id]": "00000000-df85-4307-a069-68612c4471e2",
"filters[genres]": "["9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12","9f95986e-f2d8-434d-b282-8c39b9996cdb"]",
"filters[subscribed]": "",
"per_page": "20",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/tracks';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[title]' => 'Rolling in the Deep',
'filters[owner]' => 'Joe Shmoe',
'filters[owner_id]' => '00000000-df85-4307-a069-68612c4471e2',
'filters[genres]' => '["9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12","9f95986e-f2d8-434d-b282-8c39b9996cdb"]',
'filters[subscribed]' => '',
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=XIVOAIHL2yavheVstoQD7q8ADb7HKEQ4SiWM2jla; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [],
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "http://localhost:8083/v1/tracks",
"per_page": 20,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
Returns single track
Example request:
curl --request GET \
--get "http://localhost:8083/v1/tracks/00000000-a791-4783-9845-4b571a9e579f" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/tracks/00000000-a791-4783-9845-4b571a9e579f"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/tracks/00000000-a791-4783-9845-4b571a9e579f';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Fidztzz9yBSYorr1aSB2EsPYCW8Gid677sV6yAfT; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-a791-4783-9845-4b571a9e579f",
"title": "Rolling in the Deep",
"media_asset": {
"id": "9f959894-3151-46c4-89fa-b5ce57247988",
"url": "http://localhost:8083/v1/media-assets/9f959894-3151-46c4-89fa-b5ce57247988.wm"
},
"cover": {
"id": "9f959894-3598-41dd-916e-705f73fff6d6",
"url": "https://via.placeholder.com/640x480.png/00cc33?text=aliquam"
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 10,
"likes": 0,
"comments": 15,
"shares": 3
},
"is_liked": 0,
"lyrics": {
"is_own": 1,
"author": null,
"content": "Est sed dolores inventore aut. Est fugit voluptatem tenetur quae laborum repellat. Nobis qui dolore dolores. Hic ut occaecati consequatur amet."
},
"music": {
"is_own": 0,
"author": "Lempi Ankunding"
}
}
}
Example response (404):
{
"type": "Track",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Data
MediaAssets
Own assets
requires authentication
Endpoint for fetching own MediaAssets.
Example request:
curl --request GET \
--get "http://localhost:8083/v1/media-assets/my?filters[type]=image&per_page=100&page=1&pagination_type=page" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/media-assets/my"
);
const params = {
"filters[type]": "image",
"per_page": "100",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/media-assets/my';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[type]' => 'image',
'per_page' => '100',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=UObFGLYnuuam8djDwdVIbeEuZlAymECnMUYEW9Pm; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [],
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "http://localhost:8083/v1/media-assets/my",
"per_page": 100,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create
requires authentication
Add new MediaAsset
Example request:
curl --request POST \
"http://localhost:8083/v1/media-assets" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--form "is_public="\
--form "file=@/Users/andvla/Projects/Private/Qplet/Api/storage/app/public/logo.png" const url = new URL(
"http://localhost:8083/v1/media-assets"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
"Accept-Language": "en-US",
};
const body = new FormData();
body.append('is_public', '');
body.append('file', document.querySelector('input[name="file"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/media-assets';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'multipart' => [
[
'name' => 'is_public',
'contents' => ''
],
[
'name' => 'file',
'contents' => fopen('/Users/andvla/Projects/Private/Qplet/Api/storage/app/public/logo.png', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=7Fg9nDuFnyiA0H6B15sNcd94AuaEFyLgu4vsv4JE; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "91229172-76c5-42b6-bfec-d0d0e65da62b",
"url": "http://localhost:8083/v1/media-assets/91229172-76c5-42b6-bfec-d0d0e65da62b.png",
"filename": "logo.png",
"created_at": "2025-08-08T10:54:40+00:00",
"type": "image",
"analytics": {
"views": 2041,
"likes": 0,
"comments": 0,
"shares": 7
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete a MediaAsset
Example request:
curl --request DELETE \
"http://localhost:8083/v1/media-assets/eligendi" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/media-assets/eligendi"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/media-assets/eligendi';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "MediaAsset",
"message": "No query results"
}
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=bLbbrDOwxOjNJXns2s2mRs6v3cfWlNC9DYFudVkT; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Unable to find the media asset you requested."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
Endpoint for fetching all available MediaAssets.
In order to list non-public MediaAssets { filters.is_public: false } you'll need an Admin role.
Example request:
curl --request GET \
--get "http://localhost:8083/v1/media-assets?filters[type]=image&filters[is_public]=1&filters[owner_id]=00000000-df85-4307-a069-68612c4471e2&per_page=100&page=1&pagination_type=page" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/media-assets"
);
const params = {
"filters[type]": "image",
"filters[is_public]": "1",
"filters[owner_id]": "00000000-df85-4307-a069-68612c4471e2",
"per_page": "100",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/media-assets';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[type]' => 'image',
'filters[is_public]' => '1',
'filters[owner_id]' => '00000000-df85-4307-a069-68612c4471e2',
'per_page' => '100',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=8uhH7CflNWEVfRat2SXo3nyMo4eLCGqc9F7Wwn75; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [],
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "http://localhost:8083/v1/media-assets",
"per_page": 100,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get file
Example request:
curl --request GET \
--get "http://localhost:8083/v1/media-assets/perspiciatis.illo" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/media-assets/perspiciatis.illo"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/media-assets/perspiciatis.illo';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "File",
"message": "No query results"
}
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=UAlC67CJotFY3MIpZFNrnpSlyaeni2pcPFQ97Rhi; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Unable to find the media asset you requested."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get file
Example request:
curl --request GET \
--get "http://localhost:8083/v1/media-assets/download/voluptatum.consequatur" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/media-assets/download/voluptatum.consequatur"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/media-assets/download/voluptatum.consequatur';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "File",
"message": "No query results"
}
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=YEgqqbvo9SkPRpMhiOthRDqFRSHuwaFmBYi9GbTC; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Unable to find the media asset you requested."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
Endpoint for fetching MediaAsset details
When MediaAsset is private it can only be viewed by admin or owner
Example request:
curl --request GET \
--get "http://localhost:8083/v1/media-assets/sunt" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/media-assets/sunt"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/media-assets/sunt';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "MediaAsset",
"message": "No query results"
}
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=xJ2tFeJwA9vBAMMu46LZk0EniHjiazvgkCwsUBsm; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Unable to find the media asset you requested."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Genres
List
Endpoint for fetching all available genres.
In order to list non-public genres { filters.is_public: false } you'll need an Admin role.
Example request:
curl --request GET \
--get "http://localhost:8083/v1/data/genres?filters[name]=Alternative&filters[is_public]=1&per_page=100&page=1&pagination_type=page" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/data/genres"
);
const params = {
"filters[name]": "Alternative",
"filters[is_public]": "1",
"per_page": "100",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/data/genres';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[name]' => 'Alternative',
'filters[is_public]' => '1',
'per_page' => '100',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=fsXuq3KT6530ATzA0cVOblY2cPLvsZvHBWe3mcqG; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [
{
"id": "9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12",
"name": "Alternative",
"tracks": 789093
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8083/v1/data/genres",
"per_page": 100,
"to": 1,
"total": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
Endpoint for fetching genre details
When genre is private it can only be viewed by admin
Example request:
curl --request GET \
--get "http://localhost:8083/v1/data/genres/9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/data/genres/9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/data/genres/9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Rz819bPc7y66bkXGyN7cQ9bljnlPJRm7IowQgpnE; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12",
"name": "Alternative",
"tracks": 789093
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Genre",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Countries
Endpoint for fetching list of countries
Example request:
curl --request GET \
--get "http://localhost:8083/v1/data/countries" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/data/countries"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/data/countries';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=FAYtDNPJ9nmapIexZsMIgp4ROjieiv7tQ5IOWmKb; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [
{
"id": "AF",
"name": "Afghanistan"
},
{
"id": "AX",
"name": "Åland Islands"
},
{
"id": "AL",
"name": "Albania"
},
{
"id": "DZ",
"name": "Algeria"
},
{
"id": "AS",
"name": "American Samoa"
},
{
"id": "AD",
"name": "Andorra"
},
{
"id": "AO",
"name": "Angola"
},
{
"id": "AI",
"name": "Anguilla"
},
{
"id": "AQ",
"name": "Antarctica"
},
{
"id": "AG",
"name": "Antigua and Barbuda"
},
{
"id": "AR",
"name": "Argentina"
},
{
"id": "AM",
"name": "Armenia"
},
{
"id": "AW",
"name": "Aruba"
},
{
"id": "AU",
"name": "Australia"
},
{
"id": "AT",
"name": "Austria"
},
{
"id": "AZ",
"name": "Azerbaijan"
},
{
"id": "BS",
"name": "Bahamas"
},
{
"id": "BH",
"name": "Bahrain"
},
{
"id": "BD",
"name": "Bangladesh"
},
{
"id": "BB",
"name": "Barbados"
},
{
"id": "BY",
"name": "Belarus"
},
{
"id": "BE",
"name": "Belgium"
},
{
"id": "BZ",
"name": "Belize"
},
{
"id": "BJ",
"name": "Benin"
},
{
"id": "BM",
"name": "Bermuda"
},
{
"id": "BT",
"name": "Bhutan"
},
{
"id": "BO",
"name": "Bolivia, Plurinational State of"
},
{
"id": "BQ",
"name": "Bonaire, Sint Eustatius and Saba"
},
{
"id": "BA",
"name": "Bosnia and Herzegovina"
},
{
"id": "BW",
"name": "Botswana"
},
{
"id": "BV",
"name": "Bouvet Island"
},
{
"id": "BR",
"name": "Brazil"
},
{
"id": "IO",
"name": "British Indian Ocean Territory"
},
{
"id": "BN",
"name": "Brunei Darussalam"
},
{
"id": "BG",
"name": "Bulgaria"
},
{
"id": "BF",
"name": "Burkina Faso"
},
{
"id": "BI",
"name": "Burundi"
},
{
"id": "KH",
"name": "Cambodia"
},
{
"id": "CM",
"name": "Cameroon"
},
{
"id": "CA",
"name": "Canada"
},
{
"id": "CV",
"name": "Cape Verde"
},
{
"id": "KY",
"name": "Cayman Islands"
},
{
"id": "CF",
"name": "Central African Republic"
},
{
"id": "TD",
"name": "Chad"
},
{
"id": "CL",
"name": "Chile"
},
{
"id": "CN",
"name": "China"
},
{
"id": "CX",
"name": "Christmas Island"
},
{
"id": "CC",
"name": "Cocos (Keeling) Islands"
},
{
"id": "CO",
"name": "Colombia"
},
{
"id": "KM",
"name": "Comoros"
},
{
"id": "CG",
"name": "Congo"
},
{
"id": "CD",
"name": "Congo, the Democratic Republic of the"
},
{
"id": "CK",
"name": "Cook Islands"
},
{
"id": "CR",
"name": "Costa Rica"
},
{
"id": "CI",
"name": "Côte d'Ivoire"
},
{
"id": "HR",
"name": "Croatia"
},
{
"id": "CU",
"name": "Cuba"
},
{
"id": "CW",
"name": "Curaçao"
},
{
"id": "CY",
"name": "Cyprus"
},
{
"id": "CZ",
"name": "Czech Republic"
},
{
"id": "DK",
"name": "Denmark"
},
{
"id": "DJ",
"name": "Djibouti"
},
{
"id": "DM",
"name": "Dominica"
},
{
"id": "DO",
"name": "Dominican Republic"
},
{
"id": "EC",
"name": "Ecuador"
},
{
"id": "EG",
"name": "Egypt"
},
{
"id": "SV",
"name": "El Salvador"
},
{
"id": "GQ",
"name": "Equatorial Guinea"
},
{
"id": "ER",
"name": "Eritrea"
},
{
"id": "EE",
"name": "Estonia"
},
{
"id": "ET",
"name": "Ethiopia"
},
{
"id": "FK",
"name": "Falkland Islands (Malvinas)"
},
{
"id": "FO",
"name": "Faroe Islands"
},
{
"id": "FJ",
"name": "Fiji"
},
{
"id": "FI",
"name": "Finland"
},
{
"id": "FR",
"name": "France"
},
{
"id": "GF",
"name": "French Guiana"
},
{
"id": "PF",
"name": "French Polynesia"
},
{
"id": "TF",
"name": "French Southern Territories"
},
{
"id": "GA",
"name": "Gabon"
},
{
"id": "GM",
"name": "Gambia"
},
{
"id": "GE",
"name": "Georgia"
},
{
"id": "DE",
"name": "Germany"
},
{
"id": "GH",
"name": "Ghana"
},
{
"id": "GI",
"name": "Gibraltar"
},
{
"id": "GR",
"name": "Greece"
},
{
"id": "GL",
"name": "Greenland"
},
{
"id": "GD",
"name": "Grenada"
},
{
"id": "GP",
"name": "Guadeloupe"
},
{
"id": "GU",
"name": "Guam"
},
{
"id": "GT",
"name": "Guatemala"
},
{
"id": "GG",
"name": "Guernsey"
},
{
"id": "GN",
"name": "Guinea"
},
{
"id": "GW",
"name": "Guinea-Bissau"
},
{
"id": "GY",
"name": "Guyana"
},
{
"id": "HT",
"name": "Haiti"
},
{
"id": "HM",
"name": "Heard Island and McDonald Mcdonald Islands"
},
{
"id": "VA",
"name": "Holy See (Vatican City State)"
},
{
"id": "HN",
"name": "Honduras"
},
{
"id": "HK",
"name": "Hong Kong"
},
{
"id": "HU",
"name": "Hungary"
},
{
"id": "IS",
"name": "Iceland"
},
{
"id": "IN",
"name": "India"
},
{
"id": "ID",
"name": "Indonesia"
},
{
"id": "IR",
"name": "Iran, Islamic Republic of"
},
{
"id": "IQ",
"name": "Iraq"
},
{
"id": "IE",
"name": "Ireland"
},
{
"id": "IM",
"name": "Isle of Man"
},
{
"id": "IL",
"name": "Israel"
},
{
"id": "IT",
"name": "Italy"
},
{
"id": "JM",
"name": "Jamaica"
},
{
"id": "JP",
"name": "Japan"
},
{
"id": "JE",
"name": "Jersey"
},
{
"id": "JO",
"name": "Jordan"
},
{
"id": "KZ",
"name": "Kazakhstan"
},
{
"id": "KE",
"name": "Kenya"
},
{
"id": "KI",
"name": "Kiribati"
},
{
"id": "KP",
"name": "Korea, Democratic People's Republic of"
},
{
"id": "KR",
"name": "Korea, Republic of"
},
{
"id": "KW",
"name": "Kuwait"
},
{
"id": "KG",
"name": "Kyrgyzstan"
},
{
"id": "LA",
"name": "Lao People's Democratic Republic"
},
{
"id": "LV",
"name": "Latvia"
},
{
"id": "LB",
"name": "Lebanon"
},
{
"id": "LS",
"name": "Lesotho"
},
{
"id": "LR",
"name": "Liberia"
},
{
"id": "LY",
"name": "Libya"
},
{
"id": "LI",
"name": "Liechtenstein"
},
{
"id": "LT",
"name": "Lithuania"
},
{
"id": "LU",
"name": "Luxembourg"
},
{
"id": "MO",
"name": "Macao"
},
{
"id": "MK",
"name": "Macedonia, the Former Yugoslav Republic of"
},
{
"id": "MG",
"name": "Madagascar"
},
{
"id": "MW",
"name": "Malawi"
},
{
"id": "MY",
"name": "Malaysia"
},
{
"id": "MV",
"name": "Maldives"
},
{
"id": "ML",
"name": "Mali"
},
{
"id": "MT",
"name": "Malta"
},
{
"id": "MH",
"name": "Marshall Islands"
},
{
"id": "MQ",
"name": "Martinique"
},
{
"id": "MR",
"name": "Mauritania"
},
{
"id": "MU",
"name": "Mauritius"
},
{
"id": "YT",
"name": "Mayotte"
},
{
"id": "MX",
"name": "Mexico"
},
{
"id": "FM",
"name": "Micronesia, Federated States of"
},
{
"id": "MD",
"name": "Moldova, Republic of"
},
{
"id": "MC",
"name": "Monaco"
},
{
"id": "MN",
"name": "Mongolia"
},
{
"id": "ME",
"name": "Montenegro"
},
{
"id": "MS",
"name": "Montserrat"
},
{
"id": "MA",
"name": "Morocco"
},
{
"id": "MZ",
"name": "Mozambique"
},
{
"id": "MM",
"name": "Myanmar"
},
{
"id": "NA",
"name": "Namibia"
},
{
"id": "NR",
"name": "Nauru"
},
{
"id": "NP",
"name": "Nepal"
},
{
"id": "NL",
"name": "Netherlands"
},
{
"id": "NC",
"name": "New Caledonia"
},
{
"id": "NZ",
"name": "New Zealand"
},
{
"id": "NI",
"name": "Nicaragua"
},
{
"id": "NE",
"name": "Niger"
},
{
"id": "NG",
"name": "Nigeria"
},
{
"id": "NU",
"name": "Niue"
},
{
"id": "NF",
"name": "Norfolk Island"
},
{
"id": "MP",
"name": "Northern Mariana Islands"
},
{
"id": "NO",
"name": "Norway"
},
{
"id": "OM",
"name": "Oman"
},
{
"id": "PK",
"name": "Pakistan"
},
{
"id": "PW",
"name": "Palau"
},
{
"id": "PS",
"name": "Palestine, State of"
},
{
"id": "PA",
"name": "Panama"
},
{
"id": "PG",
"name": "Papua New Guinea"
},
{
"id": "PY",
"name": "Paraguay"
},
{
"id": "PE",
"name": "Peru"
},
{
"id": "PH",
"name": "Philippines"
},
{
"id": "PN",
"name": "Pitcairn"
},
{
"id": "PL",
"name": "Poland"
},
{
"id": "PT",
"name": "Portugal"
},
{
"id": "PR",
"name": "Puerto Rico"
},
{
"id": "QA",
"name": "Qatar"
},
{
"id": "RE",
"name": "Réunion"
},
{
"id": "RO",
"name": "Romania"
},
{
"id": "RU",
"name": "Russian Federation"
},
{
"id": "RW",
"name": "Rwanda"
},
{
"id": "BL",
"name": "Saint Barthélemy"
},
{
"id": "SH",
"name": "Saint Helena, Ascension and Tristan da Cunha"
},
{
"id": "KN",
"name": "Saint Kitts and Nevis"
},
{
"id": "LC",
"name": "Saint Lucia"
},
{
"id": "MF",
"name": "Saint Martin (French part)"
},
{
"id": "PM",
"name": "Saint Pierre and Miquelon"
},
{
"id": "VC",
"name": "Saint Vincent and the Grenadines"
},
{
"id": "WS",
"name": "Samoa"
},
{
"id": "SM",
"name": "San Marino"
},
{
"id": "ST",
"name": "Sao Tome and Principe"
},
{
"id": "SA",
"name": "Saudi Arabia"
},
{
"id": "SN",
"name": "Senegal"
},
{
"id": "RS",
"name": "Serbia"
},
{
"id": "SC",
"name": "Seychelles"
},
{
"id": "SL",
"name": "Sierra Leone"
},
{
"id": "SG",
"name": "Singapore"
},
{
"id": "SX",
"name": "Sint Maarten (Dutch part)"
},
{
"id": "SK",
"name": "Slovakia"
},
{
"id": "SI",
"name": "Slovenia"
},
{
"id": "SB",
"name": "Solomon Islands"
},
{
"id": "SO",
"name": "Somalia"
},
{
"id": "ZA",
"name": "South Africa"
},
{
"id": "GS",
"name": "South Georgia and the South Sandwich Islands"
},
{
"id": "SS",
"name": "South Sudan"
},
{
"id": "ES",
"name": "Spain"
},
{
"id": "LK",
"name": "Sri Lanka"
},
{
"id": "SD",
"name": "Sudan"
},
{
"id": "SR",
"name": "Suriname"
},
{
"id": "SJ",
"name": "Svalbard and Jan Mayen"
},
{
"id": "SZ",
"name": "Swaziland"
},
{
"id": "SE",
"name": "Sweden"
},
{
"id": "CH",
"name": "Switzerland"
},
{
"id": "SY",
"name": "Syrian Arab Republic"
},
{
"id": "TW",
"name": "Taiwan"
},
{
"id": "TJ",
"name": "Tajikistan"
},
{
"id": "TZ",
"name": "Tanzania, United Republic of"
},
{
"id": "TH",
"name": "Thailand"
},
{
"id": "TL",
"name": "Timor-Leste"
},
{
"id": "TG",
"name": "Togo"
},
{
"id": "TK",
"name": "Tokelau"
},
{
"id": "TO",
"name": "Tonga"
},
{
"id": "TT",
"name": "Trinidad and Tobago"
},
{
"id": "TN",
"name": "Tunisia"
},
{
"id": "TR",
"name": "Turkey"
},
{
"id": "TM",
"name": "Turkmenistan"
},
{
"id": "TC",
"name": "Turks and Caicos Islands"
},
{
"id": "TV",
"name": "Tuvalu"
},
{
"id": "UG",
"name": "Uganda"
},
{
"id": "UA",
"name": "Ukraine"
},
{
"id": "AE",
"name": "United Arab Emirates"
},
{
"id": "GB",
"name": "United Kingdom"
},
{
"id": "US",
"name": "United States"
},
{
"id": "UM",
"name": "United States Minor Outlying Islands"
},
{
"id": "UY",
"name": "Uruguay"
},
{
"id": "UZ",
"name": "Uzbekistan"
},
{
"id": "VU",
"name": "Vanuatu"
},
{
"id": "VE",
"name": "Venezuela, Bolivarian Republic of"
},
{
"id": "VN",
"name": "Viet Nam"
},
{
"id": "VG",
"name": "Virgin Islands, British"
},
{
"id": "VI",
"name": "Virgin Islands, U.S."
},
{
"id": "WF",
"name": "Wallis and Futuna"
},
{
"id": "EH",
"name": "Western Sahara"
},
{
"id": "YE",
"name": "Yemen"
},
{
"id": "ZM",
"name": "Zambia"
},
{
"id": "ZW",
"name": "Zimbabwe"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
WIP
Routes that are still in progress
Missing Implementation
POST v1/playlists/{playlist}/{media}
requires authentication
Example request:
curl --request POST \
"http://localhost:8083/v1/playlists/aperiam/maxime" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/playlists/aperiam/maxime"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists/aperiam/maxime';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=MWK9i6L8FAwpGELByYPOw5y2b3KdVHBFTII0FJVf; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Unable to find the playlist you requested."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE v1/playlists/{playlist}/{media}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8083/v1/playlists/dolores/et" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/playlists/dolores/et"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/playlists/dolores/et';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=obp39UPakcV9mQUnnnBiz2jeK8Ktg7DLO7kvaAhZ; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Unable to find the playlist you requested."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST v1/interest/{entity}/{id}
requires authentication
Example request:
curl --request POST \
"http://localhost:8083/v1/interest/eligendi/voluptatem" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/interest/eligendi/voluptatem"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/interest/eligendi/voluptatem';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=DYggipzN30p4WzZIuHcHI0nPrsc4opXO2QqC4NFU; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE v1/interest/{entity}/{id}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8083/v1/interest/repudiandae/quo" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/interest/repudiandae/quo"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/interest/repudiandae/quo';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=S4Jc9QSzLk2052CoyxxFUQHnawswb7WZYJkekOhX; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET v1/notifications
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8083/v1/notifications" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/notifications"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/notifications';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=5IaH14zfVhJiRg7ePtuXftXyhTRGEZn4PwggBocH; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET v1/notifications/{notification}/read
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8083/v1/notifications/a/read" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/notifications/a/read"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/notifications/a/read';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=2kyWavc33NcSmoZnGBZJejm0vScTLQML1jUvB9y5; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET v1/settings
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8083/v1/settings" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/settings"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/settings';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=WQPziE6mGRApHJ5sTBvqRzobZX3EM8X4L0FLfory; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH v1/settings
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8083/v1/settings" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/settings"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/settings';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=WREkbiv3P0mvyMntJACmfQNX6V9KG4JZ7o81OKF9; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Development
Refresh DB
Runs the migrations from scratch + runs dev seeders after
Equal to: php artisan migrate:fresh --seed
Example request:
curl --request POST \
"http://localhost:8083/v1/dev/db/fresh" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/dev/db/fresh"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/dev/db/fresh';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin
Contains all the routes that are supposed to be used for managing the application from Admin-panel
Health
Show
requires authentication
Provides the most basic details about the health of the services
Example request:
curl --request GET \
--get "http://localhost:8083/v1/health" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/health"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/health';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=CDcRipy4Tw7sTSdDzj4RESCmMRhJ74Ev3smbvikY; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"api": {
"version": 1
},
"statuses": {
"database": "healthy"
},
"env": "docs",
"debug": false
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Genres
Create
requires authentication
Add new Genre
Example request:
curl --request POST \
"http://localhost:8083/v1/genres" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"animi\",
\"is_public\": false
}"
const url = new URL(
"http://localhost:8083/v1/genres"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "animi",
"is_public": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/genres';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'animi',
'is_public' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Zv5ZPrV4sikqs1AorGOijS4SqbjZwpsqOxbadwpj; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95a3d7-c481-4ea8-90dd-22519280cb22",
"name": "animi",
"tracks": 0
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a Genre
Example request:
curl --request PATCH \
"http://localhost:8083/v1/genres/9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"quaerat\",
\"is_public\": false
}"
const url = new URL(
"http://localhost:8083/v1/genres/9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "quaerat",
"is_public": false
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/genres/9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'quaerat',
'is_public' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=3QNMtSZJnN06UcW3o6tagX3VW8z73IFbv7SOf25j; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12",
"name": "quaerat",
"tracks": 789093
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Genre",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete a Genre
Example request:
curl --request DELETE \
"http://localhost:8083/v1/genres/9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/genres/9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/genres/9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=HnrNldeqKrEJKQh2fxnrmNQkCXtZUDQs67JYwkEM; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Genre",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User
Update user
requires authentication
Update user details using user ID
Example request:
curl --request PATCH \
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"Joe Shmoe\",
\"password\": \"Ye4oKoEa3Ro9ll\",
\"password_repeat\": \"Ye4oKoEa3Ro9ll\",
\"profile\": {
\"gender\": \"male\",
\"nickname\": \"joe_shmoe\",
\"website\": \"https:\\/\\/qplet.ru\",
\"about\": \"I`m Joe Shmoe\\n\\n I love singing and dancing.\",
\"avatar_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"birthdate\": \"2000-01-01\"
}
}"
const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "Joe Shmoe",
"password": "Ye4oKoEa3Ro9ll",
"password_repeat": "Ye4oKoEa3Ro9ll",
"profile": {
"gender": "male",
"nickname": "joe_shmoe",
"website": "https:\/\/qplet.ru",
"about": "I`m Joe Shmoe\n\n I love singing and dancing.",
"avatar_id": "00000000-422e-41ff-a266-2b0a093307e6",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6",
"birthdate": "2000-01-01"
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'Joe Shmoe',
'password' => 'Ye4oKoEa3Ro9ll',
'password_repeat' => 'Ye4oKoEa3Ro9ll',
'profile' => [
'gender' => 'male',
'nickname' => 'joe_shmoe',
'website' => 'https://qplet.ru',
'about' => 'I`m Joe Shmoe'."\n"
."\n"
.' I love singing and dancing.',
'avatar_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'birthdate' => '2000-01-01',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Ban
requires authentication
Disable user account
Example request:
curl --request POST \
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/ban" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"until\": \"2025-09-08T10:54:38+00:00\"
}"
const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/ban"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"until": "2025-09-08T10:54:38+00:00"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/ban';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'until' => '2025-09-08T10:54:38+00:00',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Unban
requires authentication
Activate user account
Example request:
curl --request DELETE \
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/ban" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/ban"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1/ban';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Soft delete user from database
Example request:
curl --request DELETE \
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/00000000-df85-4307-a069-68612c4471e1';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "User",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Complaints
Show
requires authentication
Returns single Complaint
Example request:
curl --request GET \
--get "http://localhost:8083/v1/complaints/rem" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/complaints/rem"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/complaints/rem';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
{
"type": "Complaint",
"message": "No query results"
}
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=UxUN71Nq8lIeYnm1CqWzXoBgO5R5AJpYPoD7rcBY; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Unable to find the complaint you requested."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
requires authentication
Endpoint for fetching list of complaints
Example request:
curl --request GET \
--get "http://localhost:8083/v1/complaints?filters[author_id]=00000000-df85-4307-a069-68612c4471e1&per_page=20&page=1&pagination_type=page" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/complaints"
);
const params = {
"filters[author_id]": "00000000-df85-4307-a069-68612c4471e1",
"per_page": "20",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/complaints';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[author_id]' => '00000000-df85-4307-a069-68612c4471e1',
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=O27NjXATUuaS9rxEOowd6oWy9lSwMnEQoKUerrD2; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [],
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "http://localhost:8083/v1/complaints",
"per_page": 20,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Analytics
Country
Example request:
curl --request GET \
--get "http://localhost:8083/v1/analytics/users/00000000-df85-4307-a069-68612c4471e1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/analytics/users/00000000-df85-4307-a069-68612c4471e1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/analytics/users/00000000-df85-4307-a069-68612c4471e1';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=uxJOFheHzAYmKWdhu0VDRY5Wshlrkkfn1lZtQkHr; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"views": 618,
"subscriptions": 909,
"subscribers": 776,
"events": 163,
"tracks": 664,
"playlists": 843,
"albums": 355
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Playlist
Example request:
curl --request GET \
--get "http://localhost:8083/v1/analytics/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/analytics/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/analytics/playlists/00000000-b7fa-4324-b250-a3c6c78b65c4';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=R5OZumGLZQZ9ggH3p1qchJyeXW5tf6TxmvcJMyBz; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Album
Example request:
curl --request GET \
--get "http://localhost:8083/v1/analytics/albums/00000000-b7fa-4324-b250-a3c6c78b65c4" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/analytics/albums/00000000-b7fa-4324-b250-a3c6c78b65c4"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/analytics/albums/00000000-b7fa-4324-b250-a3c6c78b65c4';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=RomXv0RCkxicCf9GPFdDkmgw8CQT30HlxNtgwN60; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"tracks": 0,
"likes": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Track
Example request:
curl --request GET \
--get "http://localhost:8083/v1/analytics/tracks/00000000-a791-4783-9845-4b571a9e579f" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/analytics/tracks/00000000-a791-4783-9845-4b571a9e579f"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/analytics/tracks/00000000-a791-4783-9845-4b571a9e579f';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=qh45fxKhFPE46fh1pjQ1VUgFhNK8GhiavmyHz0uL; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"likes": 0,
"playbacks": 221,
"playlists": 863
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Post
Example request:
curl --request GET \
--get "http://localhost:8083/v1/analytics/posts/00000000-fdb0-43ce-b555-e0a26ed563ac" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/analytics/posts/00000000-fdb0-43ce-b555-e0a26ed563ac"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/analytics/posts/00000000-fdb0-43ce-b555-e0a26ed563ac';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=0uCExWO0JfB6RlRQV9z5wl2rs1BNie0SDLlmt29B; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"likes": 0,
"comments": 0,
"views": 95
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Complaints
List types
Endpoint for fetching list of complaint types
Example request:
curl --request GET \
--get "http://localhost:8083/v1/complaints/types" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/complaints/types"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/complaints/types';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=zzz9acdguN91HlEblszushCqCy36ytGlnm5JQJXq; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [
{
"name": "album"
},
{
"name": "event"
},
{
"name": "comment"
},
{
"name": "playlist"
},
{
"name": "post"
},
{
"name": "track"
},
{
"name": "user"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List reasons
Endpoint for fetching list of complaint types
Example request:
curl --request GET \
--get "http://localhost:8083/v1/complaints/types/laudantium/reasons" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/complaints/types/laudantium/reasons"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/complaints/types/laudantium/reasons';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=9pbiJNNeibDc1yRW3riWBHsfE0pC9JOqVBWNEMMG; expires=Fri, 08 Aug 2025 12:54:37 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Create a Complaint
Example request:
curl --request POST \
"http://localhost:8083/v1/complaints" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"reason_id\": \"00000000-a24e-421f-94b4-c12974b3a0d9\",
\"entity\": \"post\",
\"entity_id\": \"00000000-fdb0-43ce-b555-e0a26ed563ac\",
\"message\": \"Post contains inappropriate wording.\"
}"
const url = new URL(
"http://localhost:8083/v1/complaints"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"reason_id": "00000000-a24e-421f-94b4-c12974b3a0d9",
"entity": "post",
"entity_id": "00000000-fdb0-43ce-b555-e0a26ed563ac",
"message": "Post contains inappropriate wording."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/complaints';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'reason_id' => '00000000-a24e-421f-94b4-c12974b3a0d9',
'entity' => 'post',
'entity_id' => '00000000-fdb0-43ce-b555-e0a26ed563ac',
'message' => 'Post contains inappropriate wording.',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Nsp0e2odQskivtwp2CASPG20Gzf2fpoTtDfN4P7H; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95a3dc-0f64-4b59-9095-52269649f244",
"author": {
"id": "00000000-df85-4307-a069-68612c4471e3",
"name": "Admin Test Country",
"avatar_url": null
},
"message": "Post contains inappropriate wording.",
"type": "post",
"entity_id": "00000000-fdb0-43ce-b555-e0a26ed563ac",
"reason": {
"id": "00000000-a24e-421f-94b4-c12974b3a0d9",
"title": "Other",
"description": "Iste possimus fuga deleniti harum natus nostrum consequatur. Odio velit et quaerat dolorem error omnis culpa sunt. Accusantium dolore explicabo est."
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete own Complaint
Admin can remove any Complaint
Example request:
curl --request DELETE \
"http://localhost:8083/v1/complaints/aliquam" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/complaints/aliquam"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/complaints/aliquam';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Complaint",
"message": "No query results"
}
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=lrzhp3c4pWw7Ue6uYcNa1QMUiIrIBRzAvVPvgrEU; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Unable to find the complaint you requested."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Contacts
Show
requires authentication
Returns single contact
Example request:
curl --request GET \
--get "http://localhost:8083/v1/contact/commodi" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/contact/commodi"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/contact/commodi';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=94RiJSgrWs37Y6Bf5qJYRYYyBDojgXIPhDiq86kw; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": null,
"name": null,
"email": null,
"message": null
}
}
Example response (404):
{
"type": "Contact",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
requires authentication
Endpoint for fetching list of contacts
Example request:
curl --request GET \
--get "http://localhost:8083/v1/contact?per_page=20&page=1&pagination_type=page" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/contact"
);
const params = {
"per_page": "20",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/contact';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=GAyKWqdruC5S7Epj87wvKJBH2SloyfzhC6gxWJK1; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [],
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "http://localhost:8083/v1/contact",
"per_page": 20,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete own contact
Admin can remove any contact
Example request:
curl --request DELETE \
"http://localhost:8083/v1/contact/placeat" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/contact/placeat"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/contact/placeat';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=NCDVLxbtCkZS64MvRlOLzVNSLffr7tmHrtRihKGO; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Contact",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
Create a contact with optionally shared entity
- another contact
- album
- contact
- playlist
- track
Example request:
curl --request POST \
"http://localhost:8083/v1/contact" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"Domenica Emard\",
\"email\": \"weimann.keshawn@yahoo.com\",
\"message\": \"Debitis rerum sed labore ut dolorem voluptas. Consequatur quia minus eius rerum qui voluptatum aspernatur. Inventore harum atque et aut sit qui.\"
}"
const url = new URL(
"http://localhost:8083/v1/contact"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "Domenica Emard",
"email": "weimann.keshawn@yahoo.com",
"message": "Debitis rerum sed labore ut dolorem voluptas. Consequatur quia minus eius rerum qui voluptatum aspernatur. Inventore harum atque et aut sit qui."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/contact';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'Domenica Emard',
'email' => 'weimann.keshawn@yahoo.com',
'message' => 'Debitis rerum sed labore ut dolorem voluptas. Consequatur quia minus eius rerum qui voluptatum aspernatur. Inventore harum atque et aut sit qui.',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=WXy4OaNJP3ul5ZBCIjVtoun7HInwOxtpI93Sge3s; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95a3e2-c2be-46dc-9cf5-9bac54b61c27",
"name": "Domenica Emard",
"email": "weimann.keshawn@yahoo.com",
"message": "Debitis rerum sed labore ut dolorem voluptas. Consequatur quia minus eius rerum qui voluptatum aspernatur. Inventore harum atque et aut sit qui."
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Conversations
Chats
List
requires authentication
Endpoint for fetching a list of conversations
Example request:
curl --request GET \
--get "http://localhost:8083/v1/conversations?per_page=20&page=1&pagination_type=page" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/conversations"
);
const params = {
"per_page": "20",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/conversations';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Rw316J6uR3QOWqzQyZzF8wxzo0Wi2DsbspIFXonm; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [
{
"id": "9f9598e3-d803-4afc-93e9-24e8e9abf8a2",
"name": null,
"latest_message_at": null
},
{
"id": "9f9598e4-6787-4945-9ea8-956a097221f8",
"name": null,
"latest_message_at": null
},
{
"id": "9f9598e4-ca78-4948-9794-7bd08e4abdd8",
"name": null,
"latest_message_at": null
},
{
"id": "9f9598e2-db2b-4ab3-9db7-ec9f40390f19",
"name": null,
"latest_message_at": null
},
{
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"name": "Fan Test Country, Author Test Country",
"latest_message_at": null
}
],
"meta": {
"path": "http://localhost:8083/v1/conversations",
"per_page": 20,
"next_cursor": null,
"prev_cursor": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Returns single conversation with a list of recent messages
Example request:
curl --request GET \
--get "http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
{
"type": "Conversation",
"message": "No query results"
}
Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=IZ0OACikIcVbb0xmeGV04CYehnLOagpLyjd7tnLi; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Create a conversation in association to an entity
Example request:
curl --request POST \
"http://localhost:8083/v1/conversations" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"Name\",
\"type\": \"private\",
\"participants\": [
[
\"00000000-df85-4307-a069-68612c4471e3\",
\"00000000-df85-4307-a069-68612c4471e2\"
]
]
}"
const url = new URL(
"http://localhost:8083/v1/conversations"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "Name",
"type": "private",
"participants": [
[
"00000000-df85-4307-a069-68612c4471e3",
"00000000-df85-4307-a069-68612c4471e2"
]
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/conversations';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'Name',
'type' => 'private',
'participants' => [
[
'00000000-df85-4307-a069-68612c4471e3',
'00000000-df85-4307-a069-68612c4471e2',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Validation Exception"
}
Example response (422):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=HWEhXu89bMfc1d4WL0SDgP3EovAqsEjUVfiW0bo2; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "The participants must have at least 2 items. (and 1 more error)",
"errors": {
"participants": [
"The participants must have at least 2 items."
],
"participants.0": [
"The participants.0 must be a valid UUID."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update own conversation
Example request:
curl --request PATCH \
"http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"New name\"
}"
const url = new URL(
"http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "New name"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'New name',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=YAi6tMIZjRY3ijGxoOE38tfZ1dNy9oDGYE0oULXd; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
"name": "Fan Test Country, Author Test Country",
"latest_message_at": null
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Conversation",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete own conversation
Admin can remove any conversation
Example request:
curl --request DELETE \
"http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=dW6jaFTc0gxS84kpbmScV73ddVIIu5maI9UyQhdc; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Conversation",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Messages
Store
requires authentication
Send a message to user or conversation
Example request:
curl --request POST \
"http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"content\": \"My message to the private chat\"
}"
const url = new URL(
"http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"content": "My message to the private chat"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'content' => 'My message to the private chat',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=nvZvBSrFgahkprXSalhrPp6sAos9gJyMFehQNkZj; expires=Fri, 08 Aug 2025 12:54:39 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95a3db-3b83-4c88-9645-bfac016caeae",
"author": {
"id": "00000000-df85-4307-a069-68612c4471e3",
"name": "Admin Test Country",
"avatar_url": null
},
"content": "My message to the private chat"
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update own message
Example request:
curl --request PATCH \
"http://localhost:8083/v1/conversations/magnam/9f9598e2-53a7-4691-a4ee-5a51ea1cd81e" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"content\": \"My conversation to the private\"
}"
const url = new URL(
"http://localhost:8083/v1/conversations/magnam/9f9598e2-53a7-4691-a4ee-5a51ea1cd81e"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"content": "My conversation to the private"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/conversations/magnam/9f9598e2-53a7-4691-a4ee-5a51ea1cd81e';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'content' => 'My conversation to the private',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Message",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=VpHCG2B1pwhJsBwwtgEkmFcnAnpb2xUwzMcZn4Fx; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete own message
Admin can remove any message
Example request:
curl --request DELETE \
"http://localhost:8083/v1/conversations/ratione/9f9598e2-53a7-4691-a4ee-5a51ea1cd81e" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/conversations/ratione/9f9598e2-53a7-4691-a4ee-5a51ea1cd81e"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/conversations/ratione/9f9598e2-53a7-4691-a4ee-5a51ea1cd81e';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Message",
"message": "No query results"
}
Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Zd8G1UQhXoEQx3RsoQgncvonTg5z7CM7Ke8fwqEE; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Participants
Delete
requires authentication
Delete own message
Admin can remove any message
Example request:
curl --request DELETE \
"http://localhost:8083/v1/conversations/aperiam/participants" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/conversations/aperiam/participants"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/conversations/aperiam/participants';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Message",
"message": "No query results"
}
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=68faDQOmARWJKTQKHZdEBz3itMFBuuqqwlfUGdvT; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Unable to find the message you requested."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Events
Store
requires authentication
Create a event with optionally shared entity
- another event
- album
- event
- playlist
- track
Example request:
curl --request POST \
"http://localhost:8083/v1/events" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"title\": \"My Event content\",
\"date\": \"2025-09-07\",
\"time\": \"18:00\",
\"type\": \"online\",
\"location\": \"Metro Manila\",
\"seats\": 500,
\"website\": \"https:\\/\\/www.example.com\",
\"content\": \"Some information about My Event. So this is the content.\",
\"banner_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\"
}"
const url = new URL(
"http://localhost:8083/v1/events"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"title": "My Event content",
"date": "2025-09-07",
"time": "18:00",
"type": "online",
"location": "Metro Manila",
"seats": 500,
"website": "https:\/\/www.example.com",
"content": "Some information about My Event. So this is the content.",
"banner_id": "00000000-422e-41ff-a266-2b0a093307e6",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'title' => 'My Event content',
'date' => '2025-09-07',
'time' => '18:00',
'type' => 'online',
'location' => 'Metro Manila',
'seats' => 500,
'website' => 'https://www.example.com',
'content' => 'Some information about My Event. So this is the content.',
'banner_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=pN7Z1tg9wVbqn71fdv9jkA76O9qiltkOxzgpfq7c; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "9f95a3d9-61b0-46ea-861d-0ce9c480c306",
"author": {
"id": "00000000-df85-4307-a069-68612c4471e3",
"name": "Admin Test Country",
"avatar_url": null
},
"title": "My Event content",
"content": "Some information about My Event. So this is the content.",
"date": "2025-09-07",
"time": "18:00:00",
"type": "online",
"location": "Metro Manila",
"seats": 500,
"free_seats": 500,
"website": "https://www.example.com",
"banner": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo"
},
"cover": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo"
},
"media": null,
"tags": null,
"created_at": 1754650478,
"analytics": {
"interested": 0,
"subscribed": 0,
"views": 0,
"likes": 0,
"comments": 0,
"shares": 0
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update own event
Example request:
curl --request PATCH \
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"title\": \"My Event content\",
\"date\": \"2025-09-07\",
\"time\": \"18:00\",
\"type\": \"online\",
\"location\": \"Metro Manila\",
\"seats\": 500,
\"website\": \"https:\\/\\/www.example.com\",
\"content\": \"Some information about My Event. So this is the content.\",
\"banner_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\"
}"
const url = new URL(
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"title": "My Event content",
"date": "2025-09-07",
"time": "18:00",
"type": "online",
"location": "Metro Manila",
"seats": 500,
"website": "https:\/\/www.example.com",
"content": "Some information about My Event. So this is the content.",
"banner_id": "00000000-422e-41ff-a266-2b0a093307e6",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'title' => 'My Event content',
'date' => '2025-09-07',
'time' => '18:00',
'type' => 'online',
'location' => 'Metro Manila',
'seats' => 500,
'website' => 'https://www.example.com',
'content' => 'Some information about My Event. So this is the content.',
'banner_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=FNkaJ5NsUUyKMebcFsy1AMBxZ3MSWaTxwhEltrQU; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-fdb0-43ce-b555-e0a26ed563ac",
"author": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"title": "My Event content",
"content": "Some information about My Event. So this is the content.",
"date": "2025-09-07",
"time": "18:00:00",
"type": "online",
"location": "Metro Manila",
"seats": 500,
"free_seats": 497,
"website": "https://www.example.com",
"banner": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo"
},
"cover": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo"
},
"media": null,
"tags": null,
"created_at": 1754648638,
"updated_at": 1754650478,
"analytics": {
"interested": 0,
"subscribed": 3,
"views": 3,
"likes": 0,
"comments": 0,
"shares": 0
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Event",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete own event
Admin can remove any event
Example request:
curl --request DELETE \
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=DaFhe6Dpt4wcbSWS6HjELFFUKM332ceQd6hjEvGx; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Event",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
Endpoint for fetching list of events
Example request:
curl --request GET \
--get "http://localhost:8083/v1/events?filters[title]=party&filters[author_id]=00000000-df85-4307-a069-68612c4471e1&filters[is_available]=1&filters[participant][id]=00000000-df85-4307-a069-68612c4471e1&filters[participant][inclusive]=&filters[subscribed_to_organiser]=&filters[date][from]=2025-08-18&filters[date][to]=2025-09-07&per_page=20&page=1&pagination_type=page" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/events"
);
const params = {
"filters[title]": "party",
"filters[author_id]": "00000000-df85-4307-a069-68612c4471e1",
"filters[is_available]": "1",
"filters[participant][id]": "00000000-df85-4307-a069-68612c4471e1",
"filters[participant][inclusive]": "",
"filters[subscribed_to_organiser]": "",
"filters[date][from]": "2025-08-18",
"filters[date][to]": "2025-09-07",
"per_page": "20",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'filters[title]' => 'party',
'filters[author_id]' => '00000000-df85-4307-a069-68612c4471e1',
'filters[is_available]' => '1',
'filters[participant][id]' => '00000000-df85-4307-a069-68612c4471e1',
'filters[participant][inclusive]' => '',
'filters[subscribed_to_organiser]' => '',
'filters[date][from]' => '2025-08-18',
'filters[date][to]' => '2025-09-07',
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=JiBSTGXo2ypiDuxqJnL5nujPjJ4pea5zqsborvBe; expires=Fri, 08 Aug 2025 12:54:41 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [],
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "http://localhost:8083/v1/events",
"per_page": 20,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
Returns single event
Example request:
curl --request GET \
--get "http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=3hhBl9oD8HtH6FTKmSsfXAxDm5GU5M018OEHfPeZ; expires=Fri, 08 Aug 2025 12:54:41 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-fdb0-43ce-b555-e0a26ed563ac",
"author": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"title": "Sit autem qui eum corrupti eaque.",
"content": "Harum saepe rerum rerum voluptatem voluptatum. Commodi ullam quia et perferendis a consequatur. Provident reprehenderit eum eaque expedita quia. Itaque occaecati quia est quo.",
"date": "1994-10-03",
"time": "16:59:55",
"type": "online",
"location": "https://www.mann.com/odit-et-dolorem-itaque-ut-id-natus-est-debitis",
"seats": "40",
"free_seats": 37,
"website": "http://www.larson.com/omnis-et-consequatur-similique-qui-omnis-quo-qui",
"media": null,
"tags": null,
"is_subscribed": true,
"created_at": 1754648638,
"analytics": {
"interested": 0,
"subscribed": 3,
"views": 3,
"likes": 0,
"comments": 0,
"shares": 0
}
}
}
Example response (404):
{
"type": "Event",
"message": "No query results"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List user subscriptions
Endpoint for fetching list of events user is subscribed to
Example request:
curl --request GET \
--get "http://localhost:8083/v1/events/subscribed/00000000-df85-4307-a069-68612c4471e3?per_page=20&page=1&pagination_type=page" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/events/subscribed/00000000-df85-4307-a069-68612c4471e3"
);
const params = {
"per_page": "20",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events/subscribed/00000000-df85-4307-a069-68612c4471e3';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=yKRM8AVblDeqgX2AFkFer9t5HDgsGllu54owJpOp; expires=Fri, 08 Aug 2025 12:54:41 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [
{
"id": "00000000-fdb0-43ce-b555-e0a26ed563ac",
"author": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"title": "Sit autem qui eum corrupti eaque.",
"content": "Harum saepe rerum rerum voluptatem voluptatum. Commodi ullam quia et perferendis a consequatur. Provident reprehenderit eum eaque expedita quia. Itaque occaecati quia est quo.",
"date": "1994-10-03",
"time": "16:59:55",
"type": "online",
"location": "https://www.mann.com/odit-et-dolorem-itaque-ut-id-natus-est-debitis",
"seats": "40",
"free_seats": 37,
"website": "http://www.larson.com/omnis-et-consequatur-similique-qui-omnis-quo-qui",
"media": null,
"tags": null,
"is_subscribed": true,
"created_at": 1754648638,
"analytics": {
"interested": 0,
"subscribed": 3,
"views": 3,
"likes": 0,
"comments": 0,
"shares": 0
}
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8083/v1/events/subscribed/00000000-df85-4307-a069-68612c4471e3",
"per_page": 20,
"to": 1,
"total": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Subscriptions
Subscribe
requires authentication
Subscribe signed in user to an event
Example request:
curl --request POST \
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/subscribe" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/subscribe"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/subscribe';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=oKBcvwKE4GDWqbzugscrKyGsie76TcCEUY1l67FC; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"type": "Event",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Unsubscribe
requires authentication
Unsubscribe signed in user from an event
Example request:
curl --request DELETE \
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/subscribe" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/subscribe"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/subscribe';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=hkNGMIeSTBe4rYndTHV8BSa42I9Eq4AgFNrGiQj2; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"type": "Event",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show interest
requires authentication
Show interest of signed in user to an event
Example request:
curl --request POST \
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/show-interest" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/show-interest"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/show-interest';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=RNTnRAPoax4eTl2BdI0PzmrrMkTRpBNgrefQbCaU; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"type": "Event",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove interest
requires authentication
Remove interest of the signed in user from an event
Example request:
curl --request DELETE \
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/show-interest" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/show-interest"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events/00000000-fdb0-43ce-b555-e0a26ed563ac/show-interest';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
Show headers
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=5yQgoT3b1v78IWfb9z5gVAU3nojU1LyOaAnRtcwl; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
Empty response
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"type": "Event",
"message": "No query results"
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Own
Created by me
requires authentication
List of events created by currently logged-in user
Example request:
curl --request GET \
--get "http://localhost:8083/v1/events/my?per_page=20&page=1&pagination_type=page" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/events/my"
);
const params = {
"per_page": "20",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events/my';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=TBppZPmnyW8wqRUgAopaA1GInJmO3X3IoQMZJhRS; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [],
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "http://localhost:8083/v1/events/my",
"per_page": 20,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
My subscriptions
requires authentication
List of events currently logged-in user is subscribed to
Example request:
curl --request GET \
--get "http://localhost:8083/v1/events/my/subscriptions?per_page=20&page=1&pagination_type=page" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/events/my/subscriptions"
);
const params = {
"per_page": "20",
"page": "1",
"pagination_type": "page",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/events/my/subscriptions';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'query' => [
'per_page' => '20',
'page' => '1',
'pagination_type' => 'page',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=I9P6k81I26967SjGqfoOq8kjHwqbQ8TLAuKysGzh; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [
{
"id": "00000000-fdb0-43ce-b555-e0a26ed563ac",
"author": {
"id": "00000000-df85-4307-a069-68612c4471e1",
"name": "Fan Test Country",
"avatar_url": null
},
"title": "Sit autem qui eum corrupti eaque.",
"content": "Harum saepe rerum rerum voluptatem voluptatum. Commodi ullam quia et perferendis a consequatur. Provident reprehenderit eum eaque expedita quia. Itaque occaecati quia est quo.",
"date": "1994-10-03",
"time": "16:59:55",
"type": "online",
"location": "https://www.mann.com/odit-et-dolorem-itaque-ut-id-natus-est-debitis",
"seats": "40",
"free_seats": 37,
"website": "http://www.larson.com/omnis-et-consequatur-similique-qui-omnis-quo-qui",
"media": null,
"tags": null,
"is_subscribed": true,
"created_at": 1754648638,
"analytics": {
"interested": 0,
"subscribed": 3,
"views": 3,
"likes": 0,
"comments": 0,
"shares": 0
}
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8083/v1/events/my/subscriptions",
"per_page": 20,
"to": 1,
"total": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Likes
Store
requires authentication
Add like to an entity
- post
- album
- event
- playlist
- track
Example request:
curl --request POST \
"http://localhost:8083/v1/like/post/numquam" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/like/post/numquam"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/like/post/numquam';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=IEI5pVLI8RnJhm4ovdVWFyTi5S35yjHTQz9PQCyu; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"likes": 1
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
requires authentication
Delete own like
Example request:
curl --request DELETE \
"http://localhost:8083/v1/like/earum/ducimus" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/like/earum/ducimus"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/like/earum/ducimus';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"message": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (404):
{
"type": "Like",
"message": "No query results"
}
Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=wvTV6GRzvjhU3xazYbC59yugWeQzAcxSpQALs4Xm; expires=Fri, 08 Aug 2025 12:54:40 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Other
GET v1/deploy
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8083/v1/deploy" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/deploy"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/deploy';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=hDX18Cmy5FECT6lmH2NGgI29gv61Hf24Gu5BHU94; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
<pre>
All done!
</pre>
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Search
Search
Find relevant entities of type: albums, talents and tracks
Example request:
curl --request POST \
"http://localhost:8083/v1/search/dolorem" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/search/dolorem"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/search/dolorem';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=6e0ocZ9rcqtuXxRUGw1VnmoHFiP6nrOmgAoAmrDC; expires=Fri, 08 Aug 2025 12:54:44 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": [
{
"id": "9f9598b0-428a-4e60-8d15-fc1b62571a22",
"title": "Voluptas quam harum nobis repellendus.",
"media_asset": {
"id": "9f9598b0-19e1-4e81-8f74-78524190b78f",
"url": "http://localhost:8083/v1/media-assets/9f9598b0-19e1-4e81-8f74-78524190b78f.dpg"
},
"owner": {
"id": "9f959870-5c6f-4b8f-9bd6-5261ff2e43c3",
"name": "Vance Lindgren",
"avatar_url": null
},
"genres": [
{
"id": "9f95986f-0688-475d-8db4-1432e129cea5",
"name": "Instrumental",
"tracks": 458963
}
],
"analytics": {
"playbacks": 1,
"likes": 0,
"comments": 1,
"shares": 10
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f959897-aa03-4dbe-8850-b9ec7f48f602",
"title": "Commodi hic est iure.",
"media_asset": {
"id": "9f959897-9418-424c-aa39-68f92bbb5b78",
"url": "http://localhost:8083/v1/media-assets/9f959897-9418-424c-aa39-68f92bbb5b78.fpx"
},
"owner": {
"id": "9f95986f-ad2d-401a-ba15-3574766a42e4",
"name": "Soledad Stroman",
"avatar_url": null
},
"genres": [
{
"id": "9f95986f-1487-447c-8307-9fcfd0ec2c72",
"name": "Tex-Mex",
"tracks": 421442
}
],
"analytics": {
"playbacks": 4,
"likes": 0,
"comments": 12,
"shares": 3
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598e5-5cb8-48c6-8802-198614b4fbc3",
"name": "Ipsam",
"description": null,
"is_liked": 0,
"entity": "album"
},
{
"id": "9f9598d0-a3c5-4cd7-bbea-9ae8c357ebc6",
"name": "Eli Cremin",
"avatar_url": null,
"entity": "user"
},
{
"id": "9f9598ae-9b15-4119-9ae9-3d86515b0dca",
"title": "Ut non rerum voluptas ut sunt corrupti quisquam.",
"media_asset": {
"id": "9f9598ae-577d-4108-a0ec-7e7ba4ef7e78",
"url": "http://localhost:8083/v1/media-assets/9f9598ae-577d-4108-a0ec-7e7ba4ef7e78.arc"
},
"owner": {
"id": "9f959870-4997-4a23-9d82-28caefab2c34",
"name": "Kale Johnston",
"avatar_url": null
},
"genres": [
{
"id": "9f95986f-00d9-49d4-a9c4-31badf977e97",
"name": "Electronic",
"tracks": 437486
}
],
"analytics": {
"playbacks": 0,
"likes": 0,
"comments": 7,
"shares": 3
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598a8-1857-44c1-967c-b3db8b313b74",
"title": "Voluptatem ipsum sit aut assumenda.",
"media_asset": {
"id": "9f9598a8-0f4d-4124-9006-376b6a4bca48",
"url": "http://localhost:8083/v1/media-assets/9f9598a8-0f4d-4124-9006-376b6a4bca48.pas"
},
"owner": {
"id": "9f959870-14dc-4602-b7ee-a32a602e7b6a",
"name": "Fatima Streich",
"avatar_url": null
},
"genres": [
{
"id": "9f95986e-ffb7-474d-b96d-3e6956d321f4",
"name": "Dance",
"tracks": 196248
},
{
"id": "9f95986f-0bc5-4c55-8aee-7e4b506ddec9",
"name": "Latin",
"tracks": 292211
},
{
"id": "9f95986f-1142-4f70-a5bc-8dbe062a9397",
"name": "R&B",
"tracks": 148544
}
],
"analytics": {
"playbacks": 7,
"likes": 0,
"comments": 14,
"shares": 8
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598e5-449b-46e5-830e-114d3d3fe136",
"name": "Vitae",
"description": null,
"is_liked": 0,
"entity": "album"
},
{
"id": "9f9598b5-27bd-459b-8c10-41d6415ed729",
"name": "Muriel Mills",
"avatar_url": null,
"entity": "user"
},
{
"id": "9f9598b1-f496-44c2-b7b3-957ef0f22cdf",
"title": "Sint minima dolores quidem asperiores voluptate.",
"media_asset": {
"id": "9f9598b1-c902-4c13-ad6a-fc07284917a9",
"url": "http://localhost:8083/v1/media-assets/9f9598b1-c902-4c13-ad6a-fc07284917a9.dcurl"
},
"owner": {
"id": "9f959870-6c65-45e1-ac97-ddfc9df80d20",
"name": "Nick Stracke Sr.",
"avatar_url": null
},
"genres": [
{
"id": "9f95986e-fae3-4f3a-ace5-05321d6c94cb",
"name": "Commercial",
"tracks": 932968
},
{
"id": "9f95986e-ffb7-474d-b96d-3e6956d321f4",
"name": "Dance",
"tracks": 196248
},
{
"id": "9f95986f-0b0f-4bee-ad31-cad67faf6fa3",
"name": "Kayokyoku",
"tracks": 583486
}
],
"analytics": {
"playbacks": 12,
"likes": 0,
"comments": 14,
"shares": 4
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598e5-ee21-4e49-ad19-3f45886ad5b5",
"title": "Assumenda mollitia nam molestiae.",
"media_asset": {
"id": "9f9598e5-721a-4a21-815f-a895dae0619d",
"url": "http://localhost:8083/v1/media-assets/9f9598e5-721a-4a21-815f-a895dae0619d.for"
},
"owner": {
"id": "9f9598e5-6fcb-4e27-bc85-475bcbe1037a",
"name": "Sebastian Koelpin",
"avatar_url": null
},
"genres": [],
"analytics": {
"playbacks": 5,
"likes": 0,
"comments": 11,
"shares": 9
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598dc-a00d-4609-8729-94f3d26bb28a",
"title": "Quas excepturi ab tenetur.",
"media_asset": {
"id": "9f9598dc-7f8b-4a50-8927-8a81312341e0",
"url": "http://localhost:8083/v1/media-assets/9f9598dc-7f8b-4a50-8927-8a81312341e0.ico"
},
"owner": {
"id": "9f959893-c4eb-4be5-aef0-986d809eb9b6",
"name": "Armand Ortiz",
"avatar_url": null
},
"genres": [
{
"id": "9f95986f-0c7f-4b9b-b083-11836b23583b",
"name": "Metal",
"tracks": 499015
},
{
"id": "9f95986f-1142-4f70-a5bc-8dbe062a9397",
"name": "R&B",
"tracks": 148544
}
],
"analytics": {
"playbacks": 5,
"likes": 0,
"comments": 9,
"shares": 4
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598d3-2619-4d78-8153-5852a81cec57",
"title": "Veniam nam laudantium nobis.",
"media_asset": {
"id": "9f9598d3-1b90-455b-9c97-faa72143cb70",
"url": "http://localhost:8083/v1/media-assets/9f9598d3-1b90-455b-9c97-faa72143cb70.yin"
},
"owner": {
"id": "9f959892-cc37-4670-bc99-7d6df739b93e",
"name": "Marcos Hettinger",
"avatar_url": null
},
"genres": [
{
"id": "9f95986e-ee7c-4fcf-a4bc-6c2ab3de4b12",
"name": "Alternative",
"tracks": 789093
},
{
"id": "9f95986f-05b8-4cbb-81bc-5e9f0d8cf2df",
"name": "Industrial",
"tracks": 381927
},
{
"id": "9f95986f-0b0f-4bee-ad31-cad67faf6fa3",
"name": "Kayokyoku",
"tracks": 583486
}
],
"analytics": {
"playbacks": 0,
"likes": 0,
"comments": 0,
"shares": 1
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598bd-6c89-4841-ba49-48a86f7e117d",
"title": "Cum et atque eos dolor nobis aut dolores.",
"media_asset": {
"id": "9f9598bd-5d0c-4002-a28b-a083812a88d7",
"url": "http://localhost:8083/v1/media-assets/9f9598bd-5d0c-4002-a28b-a083812a88d7.docx"
},
"owner": {
"id": "9f959870-fdcc-4203-9e09-558d4686a37e",
"name": "Teresa Stokes PhD",
"avatar_url": null
},
"genres": [
{
"id": "9f95986e-f2d8-434d-b282-8c39b9996cdb",
"name": "Anime",
"tracks": 146020
},
{
"id": "9f95986f-103e-485b-9261-4338db6cf87e",
"name": "Progressive",
"tracks": 818485
}
],
"analytics": {
"playbacks": 14,
"likes": 0,
"comments": 9,
"shares": 13
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598e5-3d25-4bf1-ae20-92369c7bd46d",
"name": "Impedit",
"description": null,
"is_liked": 0,
"entity": "album"
},
{
"id": "9f9598c0-2836-4619-bb5c-ea6dd952c822",
"name": "Mr. Ismael Kreiger",
"avatar_url": null,
"entity": "user"
},
{
"id": "9f9598c4-36ee-4c0a-8393-fb7604000450",
"name": "Mr. Anderson Hamill PhD",
"avatar_url": null,
"entity": "user"
},
{
"id": "9f9598b5-8ba8-4e00-8fb1-58e56429a2e8",
"title": "Libero eum harum corporis et.",
"media_asset": {
"id": "9f9598b5-61c6-433b-a57d-e8262aee9887",
"url": "http://localhost:8083/v1/media-assets/9f9598b5-61c6-433b-a57d-e8262aee9887.omdoc"
},
"owner": {
"id": "9f959870-9d16-4b84-a4f2-b96f558a23b9",
"name": "Abigail Walsh",
"avatar_url": null
},
"genres": [
{
"id": "9f95986e-ffb7-474d-b96d-3e6956d321f4",
"name": "Dance",
"tracks": 196248
},
{
"id": "9f95986f-02db-4c17-a9ff-03a791adacf6",
"name": "Folk",
"tracks": 691830
},
{
"id": "9f95986f-0ee9-449b-86fa-d415457520ad",
"name": "Pop",
"tracks": 2093
}
],
"analytics": {
"playbacks": 1,
"likes": 0,
"comments": 8,
"shares": 3
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598da-85a2-4c79-8b41-a41591358d9e",
"title": "Molestiae fugiat rerum consectetur earum similique quo.",
"media_asset": {
"id": "9f9598da-38ce-4133-9a3f-3b08318d08b1",
"url": "http://localhost:8083/v1/media-assets/9f9598da-38ce-4133-9a3f-3b08318d08b1.ez2"
},
"owner": {
"id": "9f959893-b964-4365-8434-0674d8478f84",
"name": "Miss Jena Bayer II",
"avatar_url": null
},
"genres": [
{
"id": "9f95986f-02db-4c17-a9ff-03a791adacf6",
"name": "Folk",
"tracks": 691830
},
{
"id": "9f95986f-0bc5-4c55-8aee-7e4b506ddec9",
"name": "Latin",
"tracks": 292211
}
],
"analytics": {
"playbacks": 1,
"likes": 0,
"comments": 12,
"shares": 3
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f95989e-1836-4823-b179-d93637d1026b",
"title": "Ut illo ipsum distinctio accusantium dignissimos quidem culpa consequatur.",
"media_asset": {
"id": "9f95989d-e6f2-4f54-a3e3-1bcdeb2b7351",
"url": "http://localhost:8083/v1/media-assets/9f95989d-e6f2-4f54-a3e3-1bcdeb2b7351.wax"
},
"owner": {
"id": "9f95986f-cbcf-4e46-aec5-9c4168876924",
"name": "Casper Lehner",
"avatar_url": null
},
"genres": [
{
"id": "9f95986f-0688-475d-8db4-1432e129cea5",
"name": "Instrumental",
"tracks": 458963
},
{
"id": "9f95986f-0ee9-449b-86fa-d415457520ad",
"name": "Pop",
"tracks": 2093
}
],
"analytics": {
"playbacks": 5,
"likes": 0,
"comments": 9,
"shares": 12
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f95989c-29a1-4190-a263-005b16bb931b",
"title": "Minima sit aspernatur nostrum possimus.",
"media_asset": {
"id": "9f95989c-0850-4fc8-93a8-2e8c523530fd",
"url": "http://localhost:8083/v1/media-assets/9f95989c-0850-4fc8-93a8-2e8c523530fd.fdf"
},
"owner": {
"id": "9f95986f-c556-42d1-ae9e-785132c0193d",
"name": "Hans Durgan",
"avatar_url": null
},
"genres": [
{
"id": "9f95986e-f2d8-434d-b282-8c39b9996cdb",
"name": "Anime",
"tracks": 146020
},
{
"id": "9f95986f-0d33-458e-9f60-8a90d493d1eb",
"name": "New Age",
"tracks": 896116
}
],
"analytics": {
"playbacks": 8,
"likes": 0,
"comments": 8,
"shares": 7
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598b9-1f84-4fe7-bebe-511494a8c86a",
"name": "Reyes Kuphal IV",
"avatar_url": null,
"entity": "user"
},
{
"id": "9f9598bd-c5dc-4566-a877-8bebfa2f441f",
"title": "Nulla et aut aliquam veniam ipsa suscipit.",
"media_asset": {
"id": "9f9598bd-b7ef-46bd-9ff2-4427492149a2",
"url": "http://localhost:8083/v1/media-assets/9f9598bd-b7ef-46bd-9ff2-4427492149a2.rmvb"
},
"owner": {
"id": "9f959871-0152-46b3-80bd-a563d88b60ec",
"name": "Mr. Damien Kovacek MD",
"avatar_url": null
},
"genres": [
{
"id": "9f95986f-0450-4a58-8321-6db67e258297",
"name": "Hip-Hop",
"tracks": 699479
},
{
"id": "9f95986f-05b8-4cbb-81bc-5e9f0d8cf2df",
"name": "Industrial",
"tracks": 381927
},
{
"id": "9f95986f-1517-4873-8a67-ea86a0f62e0a",
"name": "Vocal",
"tracks": 681957
}
],
"analytics": {
"playbacks": 9,
"likes": 0,
"comments": 7,
"shares": 5
},
"is_liked": 0,
"entity": "track"
},
{
"id": "9f9598e5-3054-4c69-bc60-036a924e9a55",
"name": "Dicta",
"description": null,
"cover": {
"id": "00000000-422e-41ff-a266-2b0a093307e6",
"url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.silo",
"filename": "libero-etsilo",
"created_at": "2025-08-08T10:23:05+00:00",
"type": "image",
"analytics": {
"views": 2787,
"likes": 0,
"comments": 0,
"shares": 5
}
},
"is_liked": 0,
"entity": "album"
},
{
"id": "9f9598e3-7858-4629-9f73-08d749c51d8d",
"name": "Maggie Treutel Sr.",
"avatar_url": null,
"entity": "user"
},
{
"id": "9f9598e5-45fd-49db-b869-77c85bee671b",
"name": "Accusamus",
"description": null,
"is_liked": 0,
"entity": "album"
},
{
"id": "9f9598ae-012c-48e8-9f22-4a8735e0deb7",
"name": "Prof. Maximus Ryan Jr.",
"avatar_url": null,
"entity": "user"
},
{
"id": "9f959894-bc4c-489a-a23a-00a6b544176d",
"title": "Eum consequatur eligendi ipsa voluptate et.",
"media_asset": {
"id": "9f959894-9d5f-474b-96b0-be2ff9d40db3",
"url": "http://localhost:8083/v1/media-assets/9f959894-9d5f-474b-96b0-be2ff9d40db3.vcf"
},
"owner": {
"id": "00000000-df85-4307-a069-68612c4471e2",
"name": "Author Test Country",
"avatar_url": null
},
"genres": [
{
"id": "9f95986e-f6fc-410f-b49f-41e5c58244fd",
"name": "Classical",
"tracks": 180716
}
],
"analytics": {
"playbacks": 10,
"likes": 0,
"comments": 0,
"shares": 3
},
"is_liked": 0,
"entity": "track"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User Settings
List
requires authentication
Endpoint for all the user settings
Example request:
curl --request GET \
--get "http://localhost:8083/v1/users/me/settings" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/me/settings"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me/settings';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=a34jx4vsItdnneD1CBtl17qwQYTYLHZHs1dtlcNC; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"profile": null,
"contact": null,
"social": null,
"notifications": null,
"system": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Profile
Show
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8083/v1/users/me/settings/profile" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/me/settings/profile"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me/settings/profile';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=ocmJsCxbn6p4a3q1yfSbiSske8uhyxVYfPeJHUAV; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"id": "00000000-df85-4307-a069-68612c4471e3",
"name": "Joe Shmoe",
"email": "admin@qplet.ru",
"is_subscribed": false,
"analytics": {
"tracks": 28,
"albums": 4,
"subscribers": 493
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Example request:
curl --request PUT \
"http://localhost:8083/v1/users/me/settings/profile" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"name\": \"Joe Shmoe\",
\"password\": \"Ye4oKoEa3Ro9ll\",
\"password_repeat\": \"Ye4oKoEa3Ro9ll\",
\"profile\": {
\"gender\": \"male\",
\"nickname\": \"joe_shmoe\",
\"website\": \"https:\\/\\/qplet.ru\",
\"about\": \"I`m Joe Shmoe\\n\\n I love singing and dancing.\",
\"avatar_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"cover_id\": \"00000000-422e-41ff-a266-2b0a093307e6\",
\"birthdate\": \"2000-01-01\"
}
}"
const url = new URL(
"http://localhost:8083/v1/users/me/settings/profile"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"name": "Joe Shmoe",
"password": "Ye4oKoEa3Ro9ll",
"password_repeat": "Ye4oKoEa3Ro9ll",
"profile": {
"gender": "male",
"nickname": "joe_shmoe",
"website": "https:\/\/qplet.ru",
"about": "I`m Joe Shmoe\n\n I love singing and dancing.",
"avatar_id": "00000000-422e-41ff-a266-2b0a093307e6",
"cover_id": "00000000-422e-41ff-a266-2b0a093307e6",
"birthdate": "2000-01-01"
}
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me/settings/profile';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'name' => 'Joe Shmoe',
'password' => 'Ye4oKoEa3Ro9ll',
'password_repeat' => 'Ye4oKoEa3Ro9ll',
'profile' => [
'gender' => 'male',
'nickname' => 'joe_shmoe',
'website' => 'https://qplet.ru',
'about' => 'I`m Joe Shmoe'."\n"
."\n"
.' I love singing and dancing.',
'avatar_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'cover_id' => '00000000-422e-41ff-a266-2b0a093307e6',
'birthdate' => '2000-01-01',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (403):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "Validation Exception"
}
Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=izlHGklnIAZKdpcMCxV3oIQyC3EmPt8tF5KsaI2U; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Contact
Show
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8083/v1/users/me/settings/contact" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/me/settings/contact"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me/settings/contact';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=JCX1c23aoRo1l452DhUIsfssSD6oXHIWB0PQ2Wd7; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"country": {
"id": null,
"name": null
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Example request:
curl --request PUT \
"http://localhost:8083/v1/users/me/settings/contact" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"email\": \"another.joe@example.com\",
\"phone\": \"+7911 123456\",
\"country_id\": \"ru\",
\"city\": \"Moscow\",
\"zipcode\": \"101000\",
\"address\": \"Leninstreet 18\",
\"address_additional\": \"corporis\"
}"
const url = new URL(
"http://localhost:8083/v1/users/me/settings/contact"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"email": "another.joe@example.com",
"phone": "+7911 123456",
"country_id": "ru",
"city": "Moscow",
"zipcode": "101000",
"address": "Leninstreet 18",
"address_additional": "corporis"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me/settings/contact';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'email' => 'another.joe@example.com',
'phone' => '+7911 123456',
'country_id' => 'ru',
'city' => 'Moscow',
'zipcode' => '101000',
'address' => 'Leninstreet 18',
'address_additional' => 'corporis',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=ymzNLBsYkDx1qfeTkz5CfYXRCqkVNDqqUlT0f5po; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"phone": "+7911 123456",
"country": {
"id": "ru",
"name": "Russian Federation"
},
"city": "Moscow",
"zipcode": "101000",
"address": "Leninstreet 18",
"address_additional": "corporis"
}
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Social
Show
requires authentication
Update
requires authentication
System
Show
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8083/v1/users/me/settings/system" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/me/settings/system"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me/settings/system';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Leb5S2d4Bu1ZSuVBUbBYtXK91EFc5rie3vX6uNZ9; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"language": null,
"first_screen": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Example request:
curl --request PUT \
"http://localhost:8083/v1/users/me/settings/system" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"language\": \"ru\",
\"first_screen\": \"profile\"
}"
const url = new URL(
"http://localhost:8083/v1/users/me/settings/system"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"language": "ru",
"first_screen": "profile"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me/settings/system';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'language' => 'ru',
'first_screen' => 'profile',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=6Kg9LlNRCmSpSTD69A67ud4dv87Jbz13BACrHaIV; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"language": "ru",
"first_screen": "profile"
}
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Notifications
Show
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8083/v1/users/me/settings/notifications" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US"const url = new URL(
"http://localhost:8083/v1/users/me/settings/notifications"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me/settings/notifications';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=4yXwIHqmoolhrKOKiRvHIetsWPc5DHWKGjtsYUds; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"sound": null,
"profile": {
"view": null,
"subscription": null,
"subscribers": null
},
"event": {
"new": null,
"like": null,
"view": null,
"subscription": null,
"comment": null,
"updated": null
},
"post": {
"new": null,
"like": null,
"share": null,
"comment": null
},
"track": {
"new": null,
"like": null,
"comment": null
},
"album": {
"new": null,
"like": null,
"comment": null
},
"message": {
"new": null
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Example request:
curl --request PUT \
"http://localhost:8083/v1/users/me/settings/notifications" \
--header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Language: en-US" \
--data "{
\"sound\": true,
\"profile\": {
\"view\": true,
\"subscription\": true,
\"subscribers\": true
},
\"event\": {
\"new\": true,
\"like\": true,
\"view\": true,
\"subscription\": true,
\"comment\": true,
\"updated\": true
},
\"post\": {
\"new\": true,
\"like\": true,
\"share\": true,
\"comment\": true
},
\"track\": {
\"new\": true,
\"like\": true,
\"comment\": true
},
\"album\": {
\"new\": true,
\"like\": true,
\"comment\": true
},
\"message\": {
\"new\": true
}
}"
const url = new URL(
"http://localhost:8083/v1/users/me/settings/notifications"
);
const headers = {
"Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Language": "en-US",
};
let body = {
"sound": true,
"profile": {
"view": true,
"subscription": true,
"subscribers": true
},
"event": {
"new": true,
"like": true,
"view": true,
"subscription": true,
"comment": true,
"updated": true
},
"post": {
"new": true,
"like": true,
"share": true,
"comment": true
},
"track": {
"new": true,
"like": true,
"comment": true
},
"album": {
"new": true,
"like": true,
"comment": true
},
"message": {
"new": true
}
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'http://localhost:8083/v1/users/me/settings/notifications';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Language' => 'en-US',
],
'json' => [
'sound' => true,
'profile' => [
'view' => true,
'subscription' => true,
'subscribers' => true,
],
'event' => [
'new' => true,
'like' => true,
'view' => true,
'subscription' => true,
'comment' => true,
'updated' => true,
],
'post' => [
'new' => true,
'like' => true,
'share' => true,
'comment' => true,
],
'track' => [
'new' => true,
'like' => true,
'comment' => true,
],
'album' => [
'new' => true,
'like' => true,
'comment' => true,
],
'message' => [
'new' => true,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=bZDJjPQGN7NuyXtuu21xcuKXM6KZezTQTZvolek0; expires=Fri, 08 Aug 2025 12:54:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax
{
"data": {
"sound": true,
"profile": {
"view": true,
"subscription": true,
"subscribers": true
},
"event": {
"new": true,
"like": true,
"view": true,
"subscription": true,
"comment": true,
"updated": true
},
"post": {
"new": true,
"like": true,
"share": true,
"comment": true
},
"track": {
"new": true,
"like": true,
"comment": true
},
"album": {
"new": true,
"like": true,
"comment": true
},
"message": {
"new": true
}
}
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "Validation Exception"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.