MENU navbar-image

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 "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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: 226
access-control-allow-origin: *
set-cookie: qplet_core_service_session=SZZi7hG15atZWjI2D3mabpbFQzk2WVq52zxCEarf; expires=Tue, 01 Sep 2026 08:38:26 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "is_available": false
    }
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

GET v1/auth/check/email

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

email   string   

Must be a valid email address. Example: joe@example.com

Register

Endpoint for registering new users

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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: 225
access-control-allow-origin: *
set-cookie: qplet_core_service_session=J1yQbQ30KvOMTxGTR4jqvxwpkRHvxOijuvX3b2ts; expires=Tue, 01 Sep 2026 08:38:29 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"
}
 

Request      

POST v1/auth/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

name   string   

Must be a full name of the user. Example: Joe Shmoe

email   string   

Must be a valid email address. Example: another.joe@example.com

type   string   

Example: fan

Must be one of:
  • author
  • fan
password   string   

Must be at least 8 characters. Example: Ye4oKoEa3Ro9ll

password_repeat   string   

The password_repeat and password must match. The value and password must match. Example: Ye4oKoEa3Ro9ll

Authenticate

Authenticate user

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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: 224
access-control-allow-origin: *
set-cookie: qplet_core_service_session=UOJC6CXkXhqRUDGogpdCwsweqnliwDDm9gD38DIa; expires=Tue, 01 Sep 2026 08:38:29 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "token": "84|dgZOWxFQv5GRKgF1bnHAc0Zn9xMBe6Zx4s8ln4Zwc76bdb45"
    }
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

POST v1/auth/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

email   string   

Email address. Must be a valid email address. Example: joe@example.com

password   string   

User Password. Example: Ye4oKoEa3Ro9ll

device   string  optional  

Device name user is authenticating with. Example: IPhone 14

Request password reset

Request a password reset mail

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

POST v1/auth/password-reset

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

email   string   

Must be a valid email address. Example: joe@example.com

Reset password

Set new password for the account

Example request:
curl --request PUT \
    "https://api.qplet.dev/v1/auth/password-reset/optio" \
    --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(
    "https://api.qplet.dev/v1/auth/password-reset/optio"
);

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 = 'https://api.qplet.dev/v1/auth/password-reset/optio';
$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"
}
 

Request      

PUT v1/auth/password-reset/{token}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

token   string   

Example: optio

Body Parameters

email   string   

Must be a valid email address. Example: joe@example.com

password   string   

Must be at least 8 characters. Example: Ye4oKoEa3Ro9ll

password_repeat   string   

The password_repeat and password must match. The value and password must match. Example: Ye4oKoEa3Ro9ll

Validate password request code

Check validation code before asking for filling in the password

Example request:
curl --request POST \
    "https://api.qplet.dev/v1/auth/password-reset/aperiam/validate?email=joe%40example.com" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/auth/password-reset/aperiam/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 = 'https://api.qplet.dev/v1/auth/password-reset/aperiam/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: 223
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Z6oNKy4dyIP6cHy4cCFuch8gLwyX1hXKcFbetRwb; expires=Tue, 01 Sep 2026 08:38:29 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "is_valid": false
    }
}
 

Request      

POST v1/auth/password-reset/{token}/validate

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

token   string   

Example: aperiam

Query Parameters

email   string   

Must be a valid email address. Example: joe@example.com

Users

Show

Current user

requires authentication

Endpoint for fetching details about logged in user

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 292
access-control-allow-origin: *
set-cookie: qplet_core_service_session=iBXTEPHW2eujLt2ZQOLU82lyIM3B1pTqhBYt1Tht; expires=Tue, 01 Sep 2026 08:38:23 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": 1,
            "albums": 3,
            "subscribers": 0
        },
        "type": "admin"
    }
}
 

Request      

GET v1/users/me

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

By ID

Endpoint for fetching user details

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 221
access-control-allow-origin: *
set-cookie: qplet_core_service_session=zD9x4QVTOr8tzswDgPUOPNvIfMDacJIGWkAmLYoP; expires=Tue, 01 Sep 2026 08:38:29 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "00000000-df85-4307-a069-68612c4471e1",
        "name": "Fan Test Country",
        "is_subscribed": false,
        "analytics": {
            "tracks": 1,
            "albums": 3,
            "subscribers": 0
        }
    }
}
 

Example response (404):


{
    "type": "User",
    "message": "No query results"
}
 

Request      

GET v1/users/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Delete

requires authentication

Soft deletes own account

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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."
}
 

Request      

DELETE v1/users/me

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Update

requires authentication

Update currently logged in user

Example request:
curl --request PATCH \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 291
access-control-allow-origin: *
set-cookie: qplet_core_service_session=E0INeE3BqfKoYNXDUnIPLqkIZMolYOKGwBFWcxlC; expires=Tue, 01 Sep 2026 08:38:24 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Server Error"
}
 

Request      

PATCH v1/users/me

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

name   string  optional  

Must be a full name of the user. Example: Joe Shmoe

password   string  optional  

Must be at least 8 characters. Example: Ye4oKoEa3Ro9ll

password_repeat   string  optional  

The password_repeat and password must match. This field is required when password is present. The value and password must match. Example: Ye4oKoEa3Ro9ll

profile   object  optional  
gender   string  optional  

Example: male

Must be one of:
  • male
  • female
nickname   string  optional  

Must be unique. Must match the regex /^[A-Za-z0-9_-]+$/. Must be between 6 and 20 characters. Example: joe_shmoe

website   string  optional  

Fully qualified URL. Must be a valid URL. Example: https://qplet.ru

about   string  optional  

Freeform multiline input. Example: Im Joe Shmoe

I love singing and dancing.`

avatar_id   string  optional  

MediaAssets ID that belongs to the user. Example: 00000000-422e-41ff-a266-2b0a093307e6

cover_id   string  optional  

MediaAssets ID that belongs to the user. Example: 00000000-422e-41ff-a266-2b0a093307e6

birthdate   string  optional  

Must be a valid date in the format Y-m-d. Example: 2000-01-01

List

Endpoint for fetching list of users

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/users?filters[name]=Joe+Shmoe&filters[type]=author&filters[genres]=%5B%22a2a3cf67-6486-434d-8134-787a574cb5b5%22%2C%22a2a3cf67-708f-4091-9289-6f4a65c3363e%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(
    "https://api.qplet.dev/v1/users"
);

const params = {
    "filters[name]": "Joe Shmoe",
    "filters[type]": "author",
    "filters[genres]": "["a2a3cf67-6486-434d-8134-787a574cb5b5","a2a3cf67-708f-4091-9289-6f4a65c3363e"]",
    "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 = 'https://api.qplet.dev/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]' => '["a2a3cf67-6486-434d-8134-787a574cb5b5","a2a3cf67-708f-4091-9289-6f4a65c3363e"]',
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 222
access-control-allow-origin: *
set-cookie: qplet_core_service_session=W3UCx7HB8WfftixK8VLhYH1xc6mMZedz0g1o6GM0; expires=Tue, 01 Sep 2026 08:38:29 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
    }
}
 

Request      

GET v1/users

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object  optional  
filters.name   string  optional  

Example: Joe Shmoe

filters.type   string   

Example: author

Must be one of:
  • author
  • fan
filters.genres   string  optional  

List of genre IDs. Must be a valid JSON string. Example: ["a2a3cf67-6486-434d-8134-787a574cb5b5","a2a3cf67-708f-4091-9289-6f4a65c3363e"]

filters.subscribed   boolean  optional  

Example: false

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Access

Blocked users

requires authentication

Users being blocked by the currently logged-in user

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

POST v1/users/me/blocked

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page
sort   object  optional  
sort.by   string  optional  

Example: created_at

Must be one of:
  • created_at
sort.order   string  optional  

Example: asc

Must be one of:
  • asc
  • desc

Block

requires authentication

Block a user

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

POST v1/users/{user_id}/block

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Unblock

requires authentication

Unblock a user

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

DELETE v1/users/{user_id}/block

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Subscriptions

Subscribe

requires authentication

Subscribe to a user

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

POST v1/users/{user_id}/subscribe

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Unsubscribe

requires authentication

Unsubscribe from a user

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

DELETE v1/users/{user_id}/subscribe

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Subscriptions

requires authentication

List of users that the user is subscribed to

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

GET v1/users/{user_id}/subscriptions

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Query Parameters

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page
sort   object  optional  
sort.by   string  optional  

Example: created_at

Must be one of:
  • created_at
sort.order   string  optional  

Example: asc

Must be one of:
  • asc
  • desc

Subscribers

requires authentication

List of users that are subscribed to the user

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

GET v1/users/{user_id}/subscribers

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Query Parameters

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page
sort   object  optional  
sort.by   string  optional  

Example: created_at

Must be one of:
  • created_at
sort.order   string  optional  

Example: asc

Must be one of:
  • asc
  • desc

Posts

Store

requires authentication

Create a post with optionally shared entity

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 237
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Qqb7VfFCy3IM6wujrHegElHsVEtBpeSZZjrKZLi2; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3d10b-e350-4cf9-8a9c-edb9ba3aa5cc",
        "author": {
            "id": "00000000-df85-4307-a069-68612c4471e3",
            "name": "Admin Test Country",
            "avatar_url": null
        },
        "content": "My Post content",
        "created_at": 1788244705,
        "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"
}
 

Request      

POST v1/posts

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

content   string   

Example: My Post content

share   object  optional  
entity   string  optional  

This field is required when share is present. Example: post

Must be one of:
  • album
  • event
  • playlist
  • post
  • track
  • media_asset
id   string  optional  

This field is required when share is present. Must be a valid UUID. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

Update

requires authentication

Update own post

Example request:
curl --request PATCH \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 236
access-control-allow-origin: *
set-cookie: qplet_core_service_session=i53u53JCSrbEJOrEcymjwyqMDV2QZ6O3IFBq4IRR; expires=Tue, 01 Sep 2026 08:38:25 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": 1788244462,
        "updated_at": 1788244705,
        "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"
}
 

Request      

PATCH v1/posts/{post_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

post_id   string   

The ID of the post. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

Body Parameters

content   string   

Example: My Post content updated

Delete

requires authentication

Delete own post

Admin can remove any post

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 235
access-control-allow-origin: *
set-cookie: qplet_core_service_session=klompAtq6kP7s68iC6Kb4VgKk79O4Vw3VGVbXaAR; expires=Tue, 01 Sep 2026 08:38:25 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"
}
 

Request      

DELETE v1/posts/{post_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

post_id   string   

The ID of the post. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

List

Endpoint for fetching list of posts

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/posts?filters[author_id]=00000000-df85-4307-a069-68612c4471e2&filters[subscribed]=&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(
    "https://api.qplet.dev/v1/posts"
);

const params = {
    "filters[author_id]": "00000000-df85-4307-a069-68612c4471e2",
    "filters[subscribed]": "",
    "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 = 'https://api.qplet.dev/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]' => '',
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 212
access-control-allow-origin: *
set-cookie: qplet_core_service_session=fvtEUN48jVeUlNRJeC84vWVFBdpERcb7mw7e5YUU; expires=Tue, 01 Sep 2026 08:38:30 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
    }
}
 

Request      

GET v1/posts

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object  optional  
filters.author_id   string  optional  

Must be a valid UUID. Example: 00000000-df85-4307-a069-68612c4471e2

filters.subscribed   boolean  optional  

Example: false

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page
sort   object  optional  
sort.by   string  optional  

Example: created_at

Must be one of:
  • created_at
sort.order   string  optional  

Example: asc

Must be one of:
  • asc
  • desc

Show

Returns single post

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 211
access-control-allow-origin: *
set-cookie: qplet_core_service_session=7dJS1u8EgLFsRpPIn3P1GF3vDQx4iUq2NLzS11O1; expires=Tue, 01 Sep 2026 08:38:30 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": "Fuga quos et ea ipsa. Ex voluptatem quibusdam et officia. Ut dolorem incidunt a nulla laboriosam. Ut minus vero sunt perspiciatis cum quis atque.",
        "created_at": 1788244462,
        "analytics": {
            "views": 0,
            "likes": 0,
            "comments": 0,
            "shares": 0
        },
        "is_liked": 0
    }
}
 

Example response (404):


{
    "type": "Post",
    "message": "No query results"
}
 

Request      

GET v1/posts/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

post_id   string   

The ID of the post. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

Comments

Store

requires authentication

Create a comment in association to an entity

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 298
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Cy4oYB2zYQvXY4Cr7WApmNvvMMZoATsPQZQ30b89; expires=Tue, 01 Sep 2026 08:38:23 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3d108-afbd-44ae-a1bc-997d4e28e6e6",
        "entity": {
            "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
            "type": "post"
        },
        "attachments": [],
        "content": "My comment to the post",
        "created_at": 1788244703
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

POST v1/comments

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

entity   object   
type   string   

Example: post

Must be one of:
  • album
  • event
  • playlist
  • post
  • track
  • media_asset
id   string   

Must be a valid UUID. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

content   string   

Example: My comment to the post

Update

requires authentication

Update own comment

Example request:
curl --request PATCH \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 297
access-control-allow-origin: *
set-cookie: qplet_core_service_session=m3ovK2HaCysL9naRXkCSO9hKhhbGkBUoR6YbGr4q; expires=Tue, 01 Sep 2026 08:38:23 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": 1788244461,
        "updated_at": 1788244703
    }
}
 

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"
}
 

Request      

PATCH v1/comments/{comment_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

comment_id   string   

The ID of the comment. Example: 00000000-4113-4f04-bf25-cbca8546be74

Body Parameters

content   string   

Example: My comment to the post

Delete

requires authentication

Delete own comment

Admin can remove any comment

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 296
access-control-allow-origin: *
set-cookie: qplet_core_service_session=HXMvD7Mh5GC25DBBJEfIe1WhcGrAHrcW3HXnIAMN; expires=Tue, 01 Sep 2026 08:38:23 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"
}
 

Request      

DELETE v1/comments/{comment_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

comment_id   string   

The ID of the comment. Example: 00000000-4113-4f04-bf25-cbca8546be74

List

Endpoint for fetching list of comments

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 217
access-control-allow-origin: *
set-cookie: qplet_core_service_session=m42zAdSGgkPzpE6te3oqOaykaX3otvLmTgGTrmR4; expires=Tue, 01 Sep 2026 08:38:30 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": "Et enim animi sed enim quidem deleniti error. Dolores dolorem quo enim recusandae alias excepturi. Doloremque similique facere aut libero ipsa. Vitae illum illum quia modi.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf96-faf0-4633-a37c-f8a4551f1c1c",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Aut in consequatur aliquid. Dolores est aperiam ea ex iusto. Consequatur quaerat ut qui. Quibusdam expedita qui accusantium.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf96-fdab-4f4f-b790-1b2226339380",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Eligendi qui sed sunt et neque. Totam et atque officia sed iste necessitatibus. Illo nisi et natus perferendis fugiat est.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-0188-46d8-9673-54c219442ac0",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Id sit rem sequi et. Neque aut eaque rem nulla quisquam. Vel atque voluptatem et dolorem asperiores alias. Consequatur maiores impedit dignissimos delectus iusto.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-03c8-461f-898d-39a3c02ab707",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Temporibus et et non ex odit quae a. Voluptatem dolorem recusandae quo porro architecto.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-06b6-4db2-b054-34ff4af3a35c",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Quidem soluta dolorem consequatur qui ut natus. Officia error quo debitis vero. Repudiandae dolores delectus non est.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-0941-4390-95fd-d0e3eb4edc7e",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Sed illo est velit et quia. Dolorem laborum doloremque vel. Saepe voluptatem et et excepturi vero. Natus sunt facere quas porro est ex numquam.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-0c59-40b7-ae07-39d16ff24dcf",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Earum nihil ut est et. Rerum incidunt sit et placeat amet error. Illum et voluptate at necessitatibus.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-0f87-412f-a834-3c84cfbe7fe3",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Reiciendis necessitatibus dignissimos recusandae quidem distinctio temporibus hic. Et voluptas id dolorem nesciunt et.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-12f9-4691-afc6-f8ef3c306276",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Quia nisi nostrum omnis. Eos unde voluptate praesentium optio voluptate rerum. At deserunt dolorum consequatur quibusdam odit provident possimus voluptas. Quia porro est iste.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-155f-451e-bfba-07bf49d64749",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Similique consequatur qui iusto adipisci. Excepturi nam quo dolore quas. Quod nulla distinctio molestias aut consequatur. Delectus commodi vero et ex ut sed.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-1791-45eb-8598-be582ce592f2",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Autem aspernatur sapiente qui laudantium officiis numquam. Autem in excepturi enim. Sed totam ipsa hic. Est molestias ea a eum sunt ipsa.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-199c-429f-88c6-cd833a8b2e1f",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Aliquid aperiam quo excepturi consectetur. Dicta dolorem dolorem sapiente ab velit delectus. Praesentium et est distinctio ducimus. Voluptate iusto adipisci molestiae doloribus et repellat.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-1b8b-499b-8a42-cfc3a377d6f1",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Consectetur ullam animi et minima. Non dolore aliquam fugiat a ex temporibus. Repudiandae optio ipsa totam sapiente enim et iusto.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-1e05-4725-932c-7fe23277b141",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Eveniet consequatur mollitia laborum. Quas vel qui dolor velit quo molestiae et. Dolore magnam nulla sed velit voluptas. Neque hic et odio odit ut provident.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-2042-449f-920a-2ad8b4d26f38",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Harum neque ut dicta quasi occaecati blanditiis voluptates excepturi. Quo quam ea pariatur. Non aut similique facilis optio. Reprehenderit at in doloribus sed velit.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-2236-45cb-b3df-b20f6d6afedd",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Qui dolores pariatur nihil libero eius. Quasi inventore rerum mollitia vel.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-26e7-4c61-8fa8-9da30c70efa2",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Vel qui minima et. Quia quas quod aut voluptatem illum repellat sed. Accusantium et molestiae qui quis dolorum eaque.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-2abb-44aa-8388-e2c71caaf02b",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Voluptatem aut blanditiis et pariatur officiis. Et qui odit iste quod. Et tenetur voluptatem vero temporibus quam aut at. Non voluptate velit sit molestiae numquam officia illo qui.",
            "created_at": 1788244461
        },
        {
            "id": "a2a3cf97-2e93-425d-931a-a08e5d9d533d",
            "entity": {
                "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
                "type": "post"
            },
            "attachments": [],
            "content": "Veniam hic et voluptatem. Provident ut ea laboriosam voluptas illo. Nulla ut suscipit et sit.",
            "created_at": 1788244461
        }
    ],
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 3,
        "path": "http://localhost:8083/v1/comments",
        "per_page": 20,
        "to": 20,
        "total": 51
    }
}
 

Request      

GET v1/comments

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object   
filters.entity_type   string   

Example: post

Must be one of:
  • album
  • event
  • playlist
  • post
  • track
  • media_asset
filters.entity_id   string   

Must be a valid UUID. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Show

Returns single comment

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 216
access-control-allow-origin: *
set-cookie: qplet_core_service_session=QYttGiF3Q2asKiRaZH6bCriyQHJ4wJ2F02SnzIS5; expires=Tue, 01 Sep 2026 08:38:30 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": "enim-sunt-nisi-eumsid",
                "url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.sid",
                "extension": "sid",
                "created_at": "2026-09-01T06:34:20.000000Z"
            }
        ],
        "content": "Et enim animi sed enim quidem deleniti error. Dolores dolorem quo enim recusandae alias excepturi. Doloremque similique facere aut libero ipsa. Vitae illum illum quia modi.",
        "created_at": 1788244461
    }
}
 

Example response (404):


{
    "type": "Comment",
    "message": "No query results"
}
 

Request      

GET v1/comments/{comment_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

comment_id   string   

The ID of the comment. Example: 00000000-4113-4f04-bf25-cbca8546be74

Albums

Create

requires authentication

Add new Album

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 243
access-control-allow-origin: *
set-cookie: qplet_core_service_session=qwtaAaAikFQ5GVG9BV5oCDpVNXy91UJHtVfua7bw; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3d10b-b3c9-482f-a98b-ea4359f250a9",
        "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.sid",
            "filename": "enim-sunt-nisi-eumsid",
            "created_at": "2026-09-01T06:34:20+00:00",
            "type": "image",
            "analytics": {
                "views": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            }
        },
        "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": "a2a3cf99-ddc5-40e0-8027-ee9848bc45d3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf99-ddc5-40e0-8027-ee9848bc45d3.htke"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            }
        ],
        "created_at": 1788244705
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (403):


{
    "message": "This action is unauthorized."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

POST v1/albums

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

name   string   

Example: My favourite

cover_id   string  optional  

Media Asset UUID. Must be a valid UUID. Example: 00000000-422e-41ff-a266-2b0a093307e6

description   string  optional  

Example: Write short or long description about your album in here ...

tracks   string[]   

Media Asset ID. Must be a valid UUID.

Update

requires authentication

Update a Album

Example request:
curl --request PATCH \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 242
access-control-allow-origin: *
set-cookie: qplet_core_service_session=DUb4pqvAoqfgGEwNqg2nXqC0nyqOCASpROYZlos4; expires=Tue, 01 Sep 2026 08:38:25 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.sid",
            "filename": "enim-sunt-nisi-eumsid",
            "created_at": "2026-09-01T06:34:20+00:00",
            "type": "image",
            "analytics": {
                "views": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            }
        },
        "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": "a2a3cf99-ddc5-40e0-8027-ee9848bc45d3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf99-ddc5-40e0-8027-ee9848bc45d3.htke"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            }
        ],
        "created_at": 1788244580
    }
}
 

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"
}
 

Request      

PATCH v1/albums/{album_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

album_id   string   

The ID of the album. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

Body Parameters

name   string   

Example: My favourite

cover_id   string  optional  

Media Asset UUID. Must be a valid UUID. Example: 00000000-422e-41ff-a266-2b0a093307e6

description   string  optional  

Example: Write short or long description about your album in here ...

tracks   string[]   

Media Asset ID. Must be a valid UUID.

Delete

requires authentication

Delete a Album

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 241
access-control-allow-origin: *
set-cookie: qplet_core_service_session=310IdpR5ziNm7eqdUAN5y7u2ytTVSvs3kQSfvCAy; expires=Tue, 01 Sep 2026 08:38:25 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"
}
 

Request      

DELETE v1/albums/{album_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

album_id   string   

The ID of the album. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

List

Endpoint for fetching all available albums.

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/albums?filters[name]=&filters[owner]=&per_page=5&page=64&cursor=rem&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(
    "https://api.qplet.dev/v1/albums"
);

const params = {
    "filters[name]": "",
    "filters[owner]": "",
    "per_page": "5",
    "page": "64",
    "cursor": "rem",
    "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 = 'https://api.qplet.dev/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' => '64',
            'cursor' => 'rem',
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 214
access-control-allow-origin: *
set-cookie: qplet_core_service_session=knvrTvn2FhgYm2fHcQSKM694HLHK52Rxy0IisfGI; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": [],
    "meta": {
        "current_page": 64,
        "from": null,
        "last_page": 11,
        "path": "http://localhost:8083/v1/albums",
        "per_page": 5,
        "to": null,
        "total": 55
    }
}
 

Request      

GET v1/albums

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object  optional  
filters.name   string  optional  
filters.owner   string  optional  

Must be a valid UUID.

per_page   integer  optional  

Must be between 5 and 100. Example: 5

page   integer  optional  

Must be at least 1. Example: 64

cursor   string  optional  

Example: rem

pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page
sort   object  optional  
sort.by   string  optional  

Example: created_at

Must be one of:
  • created_at
  • name
sort.order   string  optional  

Example: asc

Must be one of:
  • asc
  • desc

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 "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 213
access-control-allow-origin: *
set-cookie: qplet_core_service_session=wAebexRbpxhcz0lxhksdMDHEy2cs7Magez0K5k4E; expires=Tue, 01 Sep 2026 08:38:30 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.sid",
            "filename": "enim-sunt-nisi-eumsid",
            "created_at": "2026-09-01T06:34:20+00:00",
            "type": "image",
            "analytics": {
                "views": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            }
        },
        "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": "a2a3cf99-ddc5-40e0-8027-ee9848bc45d3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf99-ddc5-40e0-8027-ee9848bc45d3.htke"
                },
                "cover": {
                    "id": "a2a3cf99-e74d-4f6d-b125-29af7f8bd673",
                    "url": "https://via.placeholder.com/640x480.png/0099cc?text=similique"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-4b3c-4d52-966a-9cb11afbd301",
                "title": "Vel est ipsam sed ut sapiente voluptates dolore deleniti.",
                "media_asset": {
                    "id": "a2a3d050-f349-4e9c-bd34-0e2d2472d02c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d050-f349-4e9c-bd34-0e2d2472d02c.pptm"
                },
                "cover": {
                    "id": "a2a3d050-f9c8-4f2e-a32e-649edd9b8812",
                    "url": "https://via.placeholder.com/640x480.png/0022dd?text=voluptas"
                },
                "owner": {
                    "id": "a2a3d050-ec57-44a8-ac43-48ccf52e7de9",
                    "name": "Luna Collier",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-4e44-4dab-bccd-abc331f863e7",
                "title": "Tempora voluptas ducimus temporibus amet consectetur.",
                "media_asset": {
                    "id": "a2a3d051-0651-4097-8017-cf7760b83966",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-0651-4097-8017-cf7760b83966.xhvml"
                },
                "cover": {
                    "id": "a2a3d051-0cd9-4ba4-8430-0651acd62262",
                    "url": "https://via.placeholder.com/640x480.png/002211?text=quibusdam"
                },
                "owner": {
                    "id": "a2a3d051-0052-4c2b-963f-4fbbf8a97614",
                    "name": "Vern Rath",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-50dd-40ea-b0c2-79a8bf852f0f",
                "title": "Incidunt dolor nulla eius.",
                "media_asset": {
                    "id": "a2a3d051-198c-481d-9551-1acb7327d429",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-198c-481d-9551-1acb7327d429.gv"
                },
                "cover": {
                    "id": "a2a3d051-2048-4a87-b757-b292cf2ddacd",
                    "url": "https://via.placeholder.com/640x480.png/00bbcc?text=maxime"
                },
                "owner": {
                    "id": "a2a3d051-1371-4617-b062-64fb02339981",
                    "name": "Frankie Berge II",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5319-490e-9a21-19f5c1c3b8bb",
                "title": "Porro qui sit ullam cumque a voluptate aliquam.",
                "media_asset": {
                    "id": "a2a3d051-2ed4-4270-ae63-5762b36d6821",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-2ed4-4270-ae63-5762b36d6821.semd"
                },
                "cover": {
                    "id": "a2a3d051-365a-447d-a6d4-8876103d593d",
                    "url": "https://via.placeholder.com/640x480.png/00dd33?text=perferendis"
                },
                "owner": {
                    "id": "a2a3d051-2737-49db-9d97-fce987d0170e",
                    "name": "Dannie Kautzer",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5579-473b-b40b-3e62bb0c9630",
                "title": "Rerum est a necessitatibus illo pariatur.",
                "media_asset": {
                    "id": "a2a3d051-41f7-4a9d-b908-a50c0b8d8594",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-41f7-4a9d-b908-a50c0b8d8594.xlsx"
                },
                "cover": {
                    "id": "a2a3d051-4942-4ea6-acb9-fce0a23d55e6",
                    "url": "https://via.placeholder.com/640x480.png/0088ff?text=numquam"
                },
                "owner": {
                    "id": "a2a3d051-3c65-45fd-9d95-d993ffaf2733",
                    "name": "Florence Russel",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5774-48c0-9eb0-bb571b182b0d",
                "title": "Quaerat sed cumque debitis non.",
                "media_asset": {
                    "id": "a2a3d051-5305-409a-b132-cbcc437dabba",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-5305-409a-b132-cbcc437dabba.odb"
                },
                "cover": {
                    "id": "a2a3d051-584a-4607-ada0-12a601b546e8",
                    "url": "https://via.placeholder.com/640x480.png/0044aa?text=illum"
                },
                "owner": {
                    "id": "a2a3d051-4e8e-4bb6-a36c-7200a6fbdbb3",
                    "name": "Dr. Keon Watsica III",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5984-473e-8c73-379c0079943d",
                "title": "Quo facilis et aspernatur dolore dignissimos vitae sint cumque.",
                "media_asset": {
                    "id": "a2a3d051-6256-4433-b2ea-10d2410e0df7",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-6256-4433-b2ea-10d2410e0df7.application"
                },
                "cover": {
                    "id": "a2a3d051-6736-4015-b4a6-740ac427bed6",
                    "url": "https://via.placeholder.com/640x480.png/00dd33?text=et"
                },
                "owner": {
                    "id": "a2a3d051-5dbb-4e9c-93ba-5f8f736d69b4",
                    "name": "Juliet Marks",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5bbd-4ae5-b89a-866a08be6f6e",
                "title": "Tenetur rerum repellat non nulla voluptatem.",
                "media_asset": {
                    "id": "a2a3d051-71af-48bd-a700-0d4cb8c23356",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-71af-48bd-a700-0d4cb8c23356.mpy"
                },
                "cover": {
                    "id": "a2a3d051-774d-44f1-b971-d97283cb4a57",
                    "url": "https://via.placeholder.com/640x480.png/003388?text=est"
                },
                "owner": {
                    "id": "a2a3d051-6bf8-420e-8907-28900d73aae7",
                    "name": "Prof. Mckenzie Daugherty",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5ddc-4659-80aa-c0bbb798235c",
                "title": "Reprehenderit asperiores non consequuntur distinctio et vel omnis.",
                "media_asset": {
                    "id": "a2a3d051-81a9-4c1e-b40d-edcda3c18c1a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-81a9-4c1e-b40d-edcda3c18c1a.xop"
                },
                "cover": {
                    "id": "a2a3d051-86f9-45d3-acb5-d178bc24c245",
                    "url": "https://via.placeholder.com/640x480.png/00cccc?text=necessitatibus"
                },
                "owner": {
                    "id": "a2a3d051-7c2f-4c7a-b53e-5efe6e24e30c",
                    "name": "Jakayla Kiehn",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-60b3-4214-aac9-7234bb28f460",
                "title": "Tenetur ab minus voluptatem at ut ullam.",
                "media_asset": {
                    "id": "a2a3d051-9503-4d81-b9ab-0afcd77cb8b6",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-9503-4d81-b9ab-0afcd77cb8b6.mlp"
                },
                "cover": {
                    "id": "a2a3d051-9a90-4a86-ba47-f3993447ab24",
                    "url": "https://via.placeholder.com/640x480.png/0066cc?text=voluptas"
                },
                "owner": {
                    "id": "a2a3d051-8e9b-497e-8bbd-6711f651ef2f",
                    "name": "Prof. Robb Stokes",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-6330-4a13-9abc-11eec4248d92",
                "title": "A ut neque fuga voluptatem.",
                "media_asset": {
                    "id": "a2a3d051-a849-42dc-ada2-7dce0fc18bf6",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-a849-42dc-ada2-7dce0fc18bf6.ico"
                },
                "cover": {
                    "id": "a2a3d051-ad3f-412d-bb32-6b2a421bb7ff",
                    "url": "https://via.placeholder.com/640x480.png/00eeff?text=officia"
                },
                "owner": {
                    "id": "a2a3d051-a140-4895-8437-af38a61c4a85",
                    "name": "Betsy Kemmer",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-659a-419a-8022-b545eedaf0a3",
                "title": "Ipsam iste aut perferendis omnis.",
                "media_asset": {
                    "id": "a2a3d051-b935-4f65-a6d0-18c3821cd896",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-b935-4f65-a6d0-18c3821cd896.xwd"
                },
                "cover": {
                    "id": "a2a3d051-be8d-43d7-9645-7dcbf19693ca",
                    "url": "https://via.placeholder.com/640x480.png/005555?text=cum"
                },
                "owner": {
                    "id": "a2a3d051-b428-41b3-9a86-7030aebe09be",
                    "name": "Ludie Schinner",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-67e8-44ca-bbdd-9f0305581cbf",
                "title": "Odio et maiores magnam quo velit aut error.",
                "media_asset": {
                    "id": "a2a3d051-cc16-4498-980f-fd37076e9ebb",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-cc16-4498-980f-fd37076e9ebb.etx"
                },
                "cover": {
                    "id": "a2a3d051-d268-44d2-b031-ef25989e5fc2",
                    "url": "https://via.placeholder.com/640x480.png/00ff66?text=qui"
                },
                "owner": {
                    "id": "a2a3d051-c547-445d-b81d-b46522851073",
                    "name": "Sheridan Hickle PhD",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-6a04-4220-b16e-388ddc28e9e1",
                "title": "Non aut rerum voluptatem mollitia fugiat.",
                "media_asset": {
                    "id": "a2a3d051-dd68-49f3-b8f3-53ef64eb1709",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-dd68-49f3-b8f3-53ef64eb1709.jpgv"
                },
                "cover": {
                    "id": "a2a3d051-e1a6-4c6f-96c3-87735aadbf23",
                    "url": "https://via.placeholder.com/640x480.png/00eedd?text=dolorem"
                },
                "owner": {
                    "id": "a2a3d051-d7d2-4725-8250-13ecf0dc436a",
                    "name": "Vladimir Bernier",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-6c93-4472-90cb-888697d773fa",
                "title": "Rerum corrupti blanditiis mollitia est maiores ut.",
                "media_asset": {
                    "id": "a2a3d051-eb37-4a5c-9374-656f752da205",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-eb37-4a5c-9374-656f752da205.umj"
                },
                "cover": {
                    "id": "a2a3d051-f004-4e4b-b59e-728b71921007",
                    "url": "https://via.placeholder.com/640x480.png/009911?text=reprehenderit"
                },
                "owner": {
                    "id": "a2a3d051-e66b-4174-bd75-e8e78ffc131a",
                    "name": "Wilson Hoppe",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-6f06-433e-a6e6-981a055bc950",
                "title": "Ratione necessitatibus et non vero ut quisquam ut.",
                "media_asset": {
                    "id": "a2a3d051-fb98-4ddd-b5a7-9856f4586925",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-fb98-4ddd-b5a7-9856f4586925.uvv"
                },
                "cover": {
                    "id": "a2a3d052-005f-4d4c-9f91-453a31fcd183",
                    "url": "https://via.placeholder.com/640x480.png/00ee44?text=facere"
                },
                "owner": {
                    "id": "a2a3d051-f6b0-4027-83f5-2b4dff11a609",
                    "name": "Prof. Rudolph Schiller DDS",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-718d-45c1-9d30-7186e7a9e83a",
                "title": "Qui delectus et debitis et est atque atque.",
                "media_asset": {
                    "id": "a2a3d052-09d0-4efb-910a-01e141ea8d79",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d052-09d0-4efb-910a-01e141ea8d79.iges"
                },
                "cover": {
                    "id": "a2a3d052-0e41-4297-9260-fdf1cfcc7082",
                    "url": "https://via.placeholder.com/640x480.png/0055bb?text=quod"
                },
                "owner": {
                    "id": "a2a3d052-0544-4152-bf03-ced3484573eb",
                    "name": "Cara Bernier",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-737c-4108-a1dc-18f229f1c0fc",
                "title": "Eos veritatis nesciunt magni inventore.",
                "media_asset": {
                    "id": "a2a3d052-186f-4d94-bfc4-273208815dfe",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d052-186f-4d94-bfc4-273208815dfe.json"
                },
                "cover": {
                    "id": "a2a3d052-1cec-4da7-a96e-2e9f75ee031c",
                    "url": "https://via.placeholder.com/640x480.png/00aabb?text=minima"
                },
                "owner": {
                    "id": "a2a3d052-1394-4cb4-a1bb-c670af0fc6b6",
                    "name": "Russell Towne",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-75e1-47e0-bece-eeb27e3c2140",
                "title": "Quos tempora architecto harum quis ea voluptatem minus iste.",
                "media_asset": {
                    "id": "a2a3d052-2680-4ed7-b4ca-839f53437604",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d052-2680-4ed7-b4ca-839f53437604.kpxx"
                },
                "cover": {
                    "id": "a2a3d052-2bd2-4443-8f86-f36d4d9ba7fd",
                    "url": "https://via.placeholder.com/640x480.png/0099dd?text=et"
                },
                "owner": {
                    "id": "a2a3d052-2216-42cc-ba48-6782230761c7",
                    "name": "Prof. Roosevelt Rippin",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-784d-416c-a25b-1268814575dd",
                "title": "Sed quia autem debitis sit sunt.",
                "media_asset": {
                    "id": "a2a3d052-3b04-49b7-9c38-b97241c03419",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d052-3b04-49b7-9c38-b97241c03419.jsonml"
                },
                "cover": {
                    "id": "a2a3d052-438f-4f27-a96d-16c2f672ab9b",
                    "url": "https://via.placeholder.com/640x480.png/001199?text=omnis"
                },
                "owner": {
                    "id": "a2a3d052-32cd-491a-9ae9-9722d1972615",
                    "name": "Hattie Crist",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            }
        ],
        "created_at": 1788244580
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (403):


{
    "message": "This action is unauthorized."
}
 

Example response (404):


{
    "type": "Album",
    "message": "No query results"
}
 

Request      

GET v1/albums/{album_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

album_id   string   

The ID of the album. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

Playlists

System

New tracks

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/playlists/new" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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 (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=WjhX6n3tXgOdUQtRqBjiKVOrtJEEoUTUjRKgeZtF; expires=Tue, 01 Sep 2026 08:38:22 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": null,
        "name": "New",
        "description": null,
        "cover": null,
        "tracks_count": 100,
        "tracks": [
            {
                "id": "a2a3d052-784d-416c-a25b-1268814575dd",
                "title": "Sed quia autem debitis sit sunt.",
                "media_asset": {
                    "id": "a2a3d052-3b04-49b7-9c38-b97241c03419",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d052-3b04-49b7-9c38-b97241c03419.jsonml"
                },
                "cover": {
                    "id": "a2a3d052-438f-4f27-a96d-16c2f672ab9b",
                    "url": "https://via.placeholder.com/640x480.png/001199?text=omnis"
                },
                "owner": {
                    "id": "a2a3d052-32cd-491a-9ae9-9722d1972615",
                    "name": "Hattie Crist",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-75e1-47e0-bece-eeb27e3c2140",
                "title": "Quos tempora architecto harum quis ea voluptatem minus iste.",
                "media_asset": {
                    "id": "a2a3d052-2680-4ed7-b4ca-839f53437604",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d052-2680-4ed7-b4ca-839f53437604.kpxx"
                },
                "cover": {
                    "id": "a2a3d052-2bd2-4443-8f86-f36d4d9ba7fd",
                    "url": "https://via.placeholder.com/640x480.png/0099dd?text=et"
                },
                "owner": {
                    "id": "a2a3d052-2216-42cc-ba48-6782230761c7",
                    "name": "Prof. Roosevelt Rippin",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-737c-4108-a1dc-18f229f1c0fc",
                "title": "Eos veritatis nesciunt magni inventore.",
                "media_asset": {
                    "id": "a2a3d052-186f-4d94-bfc4-273208815dfe",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d052-186f-4d94-bfc4-273208815dfe.json"
                },
                "cover": {
                    "id": "a2a3d052-1cec-4da7-a96e-2e9f75ee031c",
                    "url": "https://via.placeholder.com/640x480.png/00aabb?text=minima"
                },
                "owner": {
                    "id": "a2a3d052-1394-4cb4-a1bb-c670af0fc6b6",
                    "name": "Russell Towne",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-718d-45c1-9d30-7186e7a9e83a",
                "title": "Qui delectus et debitis et est atque atque.",
                "media_asset": {
                    "id": "a2a3d052-09d0-4efb-910a-01e141ea8d79",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d052-09d0-4efb-910a-01e141ea8d79.iges"
                },
                "cover": {
                    "id": "a2a3d052-0e41-4297-9260-fdf1cfcc7082",
                    "url": "https://via.placeholder.com/640x480.png/0055bb?text=quod"
                },
                "owner": {
                    "id": "a2a3d052-0544-4152-bf03-ced3484573eb",
                    "name": "Cara Bernier",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-6f06-433e-a6e6-981a055bc950",
                "title": "Ratione necessitatibus et non vero ut quisquam ut.",
                "media_asset": {
                    "id": "a2a3d051-fb98-4ddd-b5a7-9856f4586925",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-fb98-4ddd-b5a7-9856f4586925.uvv"
                },
                "cover": {
                    "id": "a2a3d052-005f-4d4c-9f91-453a31fcd183",
                    "url": "https://via.placeholder.com/640x480.png/00ee44?text=facere"
                },
                "owner": {
                    "id": "a2a3d051-f6b0-4027-83f5-2b4dff11a609",
                    "name": "Prof. Rudolph Schiller DDS",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-6c93-4472-90cb-888697d773fa",
                "title": "Rerum corrupti blanditiis mollitia est maiores ut.",
                "media_asset": {
                    "id": "a2a3d051-eb37-4a5c-9374-656f752da205",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-eb37-4a5c-9374-656f752da205.umj"
                },
                "cover": {
                    "id": "a2a3d051-f004-4e4b-b59e-728b71921007",
                    "url": "https://via.placeholder.com/640x480.png/009911?text=reprehenderit"
                },
                "owner": {
                    "id": "a2a3d051-e66b-4174-bd75-e8e78ffc131a",
                    "name": "Wilson Hoppe",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-6a04-4220-b16e-388ddc28e9e1",
                "title": "Non aut rerum voluptatem mollitia fugiat.",
                "media_asset": {
                    "id": "a2a3d051-dd68-49f3-b8f3-53ef64eb1709",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-dd68-49f3-b8f3-53ef64eb1709.jpgv"
                },
                "cover": {
                    "id": "a2a3d051-e1a6-4c6f-96c3-87735aadbf23",
                    "url": "https://via.placeholder.com/640x480.png/00eedd?text=dolorem"
                },
                "owner": {
                    "id": "a2a3d051-d7d2-4725-8250-13ecf0dc436a",
                    "name": "Vladimir Bernier",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-67e8-44ca-bbdd-9f0305581cbf",
                "title": "Odio et maiores magnam quo velit aut error.",
                "media_asset": {
                    "id": "a2a3d051-cc16-4498-980f-fd37076e9ebb",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-cc16-4498-980f-fd37076e9ebb.etx"
                },
                "cover": {
                    "id": "a2a3d051-d268-44d2-b031-ef25989e5fc2",
                    "url": "https://via.placeholder.com/640x480.png/00ff66?text=qui"
                },
                "owner": {
                    "id": "a2a3d051-c547-445d-b81d-b46522851073",
                    "name": "Sheridan Hickle PhD",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-659a-419a-8022-b545eedaf0a3",
                "title": "Ipsam iste aut perferendis omnis.",
                "media_asset": {
                    "id": "a2a3d051-b935-4f65-a6d0-18c3821cd896",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-b935-4f65-a6d0-18c3821cd896.xwd"
                },
                "cover": {
                    "id": "a2a3d051-be8d-43d7-9645-7dcbf19693ca",
                    "url": "https://via.placeholder.com/640x480.png/005555?text=cum"
                },
                "owner": {
                    "id": "a2a3d051-b428-41b3-9a86-7030aebe09be",
                    "name": "Ludie Schinner",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-6330-4a13-9abc-11eec4248d92",
                "title": "A ut neque fuga voluptatem.",
                "media_asset": {
                    "id": "a2a3d051-a849-42dc-ada2-7dce0fc18bf6",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-a849-42dc-ada2-7dce0fc18bf6.ico"
                },
                "cover": {
                    "id": "a2a3d051-ad3f-412d-bb32-6b2a421bb7ff",
                    "url": "https://via.placeholder.com/640x480.png/00eeff?text=officia"
                },
                "owner": {
                    "id": "a2a3d051-a140-4895-8437-af38a61c4a85",
                    "name": "Betsy Kemmer",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-60b3-4214-aac9-7234bb28f460",
                "title": "Tenetur ab minus voluptatem at ut ullam.",
                "media_asset": {
                    "id": "a2a3d051-9503-4d81-b9ab-0afcd77cb8b6",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-9503-4d81-b9ab-0afcd77cb8b6.mlp"
                },
                "cover": {
                    "id": "a2a3d051-9a90-4a86-ba47-f3993447ab24",
                    "url": "https://via.placeholder.com/640x480.png/0066cc?text=voluptas"
                },
                "owner": {
                    "id": "a2a3d051-8e9b-497e-8bbd-6711f651ef2f",
                    "name": "Prof. Robb Stokes",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5ddc-4659-80aa-c0bbb798235c",
                "title": "Reprehenderit asperiores non consequuntur distinctio et vel omnis.",
                "media_asset": {
                    "id": "a2a3d051-81a9-4c1e-b40d-edcda3c18c1a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-81a9-4c1e-b40d-edcda3c18c1a.xop"
                },
                "cover": {
                    "id": "a2a3d051-86f9-45d3-acb5-d178bc24c245",
                    "url": "https://via.placeholder.com/640x480.png/00cccc?text=necessitatibus"
                },
                "owner": {
                    "id": "a2a3d051-7c2f-4c7a-b53e-5efe6e24e30c",
                    "name": "Jakayla Kiehn",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5bbd-4ae5-b89a-866a08be6f6e",
                "title": "Tenetur rerum repellat non nulla voluptatem.",
                "media_asset": {
                    "id": "a2a3d051-71af-48bd-a700-0d4cb8c23356",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-71af-48bd-a700-0d4cb8c23356.mpy"
                },
                "cover": {
                    "id": "a2a3d051-774d-44f1-b971-d97283cb4a57",
                    "url": "https://via.placeholder.com/640x480.png/003388?text=est"
                },
                "owner": {
                    "id": "a2a3d051-6bf8-420e-8907-28900d73aae7",
                    "name": "Prof. Mckenzie Daugherty",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5984-473e-8c73-379c0079943d",
                "title": "Quo facilis et aspernatur dolore dignissimos vitae sint cumque.",
                "media_asset": {
                    "id": "a2a3d051-6256-4433-b2ea-10d2410e0df7",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-6256-4433-b2ea-10d2410e0df7.application"
                },
                "cover": {
                    "id": "a2a3d051-6736-4015-b4a6-740ac427bed6",
                    "url": "https://via.placeholder.com/640x480.png/00dd33?text=et"
                },
                "owner": {
                    "id": "a2a3d051-5dbb-4e9c-93ba-5f8f736d69b4",
                    "name": "Juliet Marks",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5774-48c0-9eb0-bb571b182b0d",
                "title": "Quaerat sed cumque debitis non.",
                "media_asset": {
                    "id": "a2a3d051-5305-409a-b132-cbcc437dabba",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-5305-409a-b132-cbcc437dabba.odb"
                },
                "cover": {
                    "id": "a2a3d051-584a-4607-ada0-12a601b546e8",
                    "url": "https://via.placeholder.com/640x480.png/0044aa?text=illum"
                },
                "owner": {
                    "id": "a2a3d051-4e8e-4bb6-a36c-7200a6fbdbb3",
                    "name": "Dr. Keon Watsica III",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5579-473b-b40b-3e62bb0c9630",
                "title": "Rerum est a necessitatibus illo pariatur.",
                "media_asset": {
                    "id": "a2a3d051-41f7-4a9d-b908-a50c0b8d8594",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-41f7-4a9d-b908-a50c0b8d8594.xlsx"
                },
                "cover": {
                    "id": "a2a3d051-4942-4ea6-acb9-fce0a23d55e6",
                    "url": "https://via.placeholder.com/640x480.png/0088ff?text=numquam"
                },
                "owner": {
                    "id": "a2a3d051-3c65-45fd-9d95-d993ffaf2733",
                    "name": "Florence Russel",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-5319-490e-9a21-19f5c1c3b8bb",
                "title": "Porro qui sit ullam cumque a voluptate aliquam.",
                "media_asset": {
                    "id": "a2a3d051-2ed4-4270-ae63-5762b36d6821",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-2ed4-4270-ae63-5762b36d6821.semd"
                },
                "cover": {
                    "id": "a2a3d051-365a-447d-a6d4-8876103d593d",
                    "url": "https://via.placeholder.com/640x480.png/00dd33?text=perferendis"
                },
                "owner": {
                    "id": "a2a3d051-2737-49db-9d97-fce987d0170e",
                    "name": "Dannie Kautzer",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-50dd-40ea-b0c2-79a8bf852f0f",
                "title": "Incidunt dolor nulla eius.",
                "media_asset": {
                    "id": "a2a3d051-198c-481d-9551-1acb7327d429",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-198c-481d-9551-1acb7327d429.gv"
                },
                "cover": {
                    "id": "a2a3d051-2048-4a87-b757-b292cf2ddacd",
                    "url": "https://via.placeholder.com/640x480.png/00bbcc?text=maxime"
                },
                "owner": {
                    "id": "a2a3d051-1371-4617-b062-64fb02339981",
                    "name": "Frankie Berge II",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-4e44-4dab-bccd-abc331f863e7",
                "title": "Tempora voluptas ducimus temporibus amet consectetur.",
                "media_asset": {
                    "id": "a2a3d051-0651-4097-8017-cf7760b83966",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-0651-4097-8017-cf7760b83966.xhvml"
                },
                "cover": {
                    "id": "a2a3d051-0cd9-4ba4-8430-0651acd62262",
                    "url": "https://via.placeholder.com/640x480.png/002211?text=quibusdam"
                },
                "owner": {
                    "id": "a2a3d051-0052-4c2b-963f-4fbbf8a97614",
                    "name": "Vern Rath",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-4b3c-4d52-966a-9cb11afbd301",
                "title": "Vel est ipsam sed ut sapiente voluptates dolore deleniti.",
                "media_asset": {
                    "id": "a2a3d050-f349-4e9c-bd34-0e2d2472d02c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d050-f349-4e9c-bd34-0e2d2472d02c.pptm"
                },
                "cover": {
                    "id": "a2a3d050-f9c8-4f2e-a32e-649edd9b8812",
                    "url": "https://via.placeholder.com/640x480.png/0022dd?text=voluptas"
                },
                "owner": {
                    "id": "a2a3d050-ec57-44a8-ac43-48ccf52e7de9",
                    "name": "Luna Collier",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-b7e9-4b7a-b0df-127c2233c05b",
                "title": "Ipsam rerum debitis at ut veritatis voluptatibus omnis.",
                "media_asset": {
                    "id": "a2a3d050-7c79-4296-9a71-6de3b600dc41",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d050-7c79-4296-9a71-6de3b600dc41.xltx"
                },
                "cover": {
                    "id": "a2a3d050-8249-42f1-a5aa-4d5da6d0da34",
                    "url": "https://via.placeholder.com/640x480.png/002255?text=porro"
                },
                "owner": {
                    "id": "a2a3d050-76f9-424b-8835-4ae0b73160e7",
                    "name": "Brisa Paucek",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-b5a8-434a-9ba1-3d593fb4a0e5",
                "title": "Omnis accusantium quis molestiae minima.",
                "media_asset": {
                    "id": "a2a3d050-6a5c-4263-8b9a-9e82bf31dae0",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d050-6a5c-4263-8b9a-9e82bf31dae0.ez3"
                },
                "cover": {
                    "id": "a2a3d050-712c-4588-9efb-3e0200260dc8",
                    "url": "https://via.placeholder.com/640x480.png/0099dd?text=dolorum"
                },
                "owner": {
                    "id": "a2a3d050-63ce-4bae-bc74-e1497e34e459",
                    "name": "Prof. Bennett Kovacek Sr.",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-b326-4d48-b1dd-f3d5448e4fbb",
                "title": "Occaecati et aliquam non quos et voluptas.",
                "media_asset": {
                    "id": "a2a3d050-569e-4372-90bf-36be66c65d55",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d050-569e-4372-90bf-36be66c65d55.tiff"
                },
                "cover": {
                    "id": "a2a3d050-5e43-4f8d-a2ed-0cd810af6e37",
                    "url": "https://via.placeholder.com/640x480.png/0099ff?text=qui"
                },
                "owner": {
                    "id": "a2a3d050-4fab-4d72-8d93-f01833ed1253",
                    "name": "Garth Spinka",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-b104-4e2d-867e-bf9614281e71",
                "title": "Quo dolorem ratione iusto dolorem ratione ipsam quia.",
                "media_asset": {
                    "id": "a2a3d050-44a7-4642-aa1f-d3a2ae4fd68b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d050-44a7-4642-aa1f-d3a2ae4fd68b.gph"
                },
                "cover": {
                    "id": "a2a3d050-49ac-4111-b70b-195c159468a7",
                    "url": "https://via.placeholder.com/640x480.png/005500?text=dicta"
                },
                "owner": {
                    "id": "a2a3d050-3d93-42f3-8be4-18f9bf37e4ec",
                    "name": "Eliza Hilpert",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-aef1-4b42-999f-222e49048622",
                "title": "Hic quia rem est consequatur adipisci mollitia sit.",
                "media_asset": {
                    "id": "a2a3d050-2e81-4a2a-9691-f92f2297cc5e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d050-2e81-4a2a-9691-f92f2297cc5e.rip"
                },
                "cover": {
                    "id": "a2a3d050-38dc-4d53-945e-4b3803b84550",
                    "url": "https://via.placeholder.com/640x480.png/0000ee?text=quia"
                },
                "owner": {
                    "id": "a2a3d050-283a-4479-95b3-f19ff9a47501",
                    "name": "Justine Kihn V",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-ac25-442b-8441-b8b9fa47c95d",
                "title": "Et repudiandae molestias asperiores rerum quia odio.",
                "media_asset": {
                    "id": "a2a3d050-1bd3-4c1e-be54-d0dcc741f455",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d050-1bd3-4c1e-be54-d0dcc741f455.kwd"
                },
                "cover": {
                    "id": "a2a3d050-20b0-43a3-be63-5a97820177b8",
                    "url": "https://via.placeholder.com/640x480.png/0044cc?text=nihil"
                },
                "owner": {
                    "id": "a2a3d050-170e-43c9-82b1-a076389dc785",
                    "name": "Wilma Kilback Sr.",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-a9a8-4772-8e97-7e12809bf7f4",
                "title": "Impedit asperiores rem quia numquam.",
                "media_asset": {
                    "id": "a2a3d050-0d9b-4304-88a4-5f8e6f9484a4",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d050-0d9b-4304-88a4-5f8e6f9484a4.pps"
                },
                "cover": {
                    "id": "a2a3d050-121f-40d1-9f1c-573e24aed937",
                    "url": "https://via.placeholder.com/640x480.png/0011ee?text=temporibus"
                },
                "owner": {
                    "id": "a2a3d050-08d9-4f64-8d6a-e46ad6238d80",
                    "name": "Hilbert Cummerata",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-a6e8-434a-81ad-467c5c708959",
                "title": "Et omnis est sed sunt ut.",
                "media_asset": {
                    "id": "a2a3d04f-ff1c-4b94-87f5-952080cee43a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-ff1c-4b94-87f5-952080cee43a.chat"
                },
                "cover": {
                    "id": "a2a3d050-03d6-4d36-92e4-f8fc048905f2",
                    "url": "https://via.placeholder.com/640x480.png/00dd88?text=voluptates"
                },
                "owner": {
                    "id": "a2a3d04f-fa26-462d-910d-aad2901839c5",
                    "name": "Buster Kiehn",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-a489-4aba-bd33-85617f4eaee4",
                "title": "Aut recusandae alias ut iusto quo aut.",
                "media_asset": {
                    "id": "a2a3d04f-ef9b-4996-b990-5fd7ddbd481e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-ef9b-4996-b990-5fd7ddbd481e.ait"
                },
                "cover": {
                    "id": "a2a3d04f-f49f-4f2d-b6b9-79b838b4b021",
                    "url": "https://via.placeholder.com/640x480.png/003355?text=perspiciatis"
                },
                "owner": {
                    "id": "a2a3d04f-ea81-4138-ad7d-2e581d3a42d1",
                    "name": "Mr. Emile Rogahn",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-a223-4148-a058-d76254c92051",
                "title": "Sunt in delectus nihil aut perspiciatis.",
                "media_asset": {
                    "id": "a2a3d04f-e0fb-4a4a-935e-1c688d08d7cb",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-e0fb-4a4a-935e-1c688d08d7cb.mks"
                },
                "cover": {
                    "id": "a2a3d04f-e59e-4aec-9244-04154a21c992",
                    "url": "https://via.placeholder.com/640x480.png/0011ff?text=vel"
                },
                "owner": {
                    "id": "a2a3d04f-dc6a-469d-aeff-a269db8513ac",
                    "name": "Flavio Hettinger",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-9fb0-4f7f-8a02-a4bc363b38b2",
                "title": "Enim quas accusantium voluptate maiores.",
                "media_asset": {
                    "id": "a2a3d04f-d1cd-423f-b8bd-0a9933116b21",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-d1cd-423f-b8bd-0a9933116b21.mlp"
                },
                "cover": {
                    "id": "a2a3d04f-d78d-44e6-8aec-d680907fbcb5",
                    "url": "https://via.placeholder.com/640x480.png/00ff99?text=excepturi"
                },
                "owner": {
                    "id": "a2a3d04f-cccb-4daa-9b5f-e41dbf7ac10f",
                    "name": "Dorian Dicki",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-9d9d-4fd3-af60-e820407d90a5",
                "title": "Incidunt numquam provident vero esse blanditiis minima odit.",
                "media_asset": {
                    "id": "a2a3d04f-c195-4696-bf9d-683a0bafe4fa",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-c195-4696-bf9d-683a0bafe4fa.odi"
                },
                "cover": {
                    "id": "a2a3d04f-c81e-47f2-b3d3-645feca43914",
                    "url": "https://via.placeholder.com/640x480.png/003344?text=ducimus"
                },
                "owner": {
                    "id": "a2a3d04f-ba47-4650-8b27-0079d8695ace",
                    "name": "Dr. Cassandra Terry",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-9ada-4049-8634-e40ea5436df5",
                "title": "Quia nisi optio est vel.",
                "media_asset": {
                    "id": "a2a3d04f-b03c-4594-9d44-ea8bdb84b04b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-b03c-4594-9d44-ea8bdb84b04b.obj"
                },
                "cover": {
                    "id": "a2a3d04f-b52c-4c5c-825c-75d701266722",
                    "url": "https://via.placeholder.com/640x480.png/003300?text=et"
                },
                "owner": {
                    "id": "a2a3d04f-ab27-444e-a92f-63e00b43e3a4",
                    "name": "Raven Nikolaus Jr.",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-97e9-4591-b3fb-58e2fae2d4b3",
                "title": "Quis ea eaque ut blanditiis.",
                "media_asset": {
                    "id": "a2a3d04f-9fe3-45a1-92cb-1fc9d1e80724",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-9fe3-45a1-92cb-1fc9d1e80724.z1"
                },
                "cover": {
                    "id": "a2a3d04f-a4c9-474c-9037-5f4caa2e0d85",
                    "url": "https://via.placeholder.com/640x480.png/00ddaa?text=neque"
                },
                "owner": {
                    "id": "a2a3d04f-9a3c-483c-81af-200886fa2336",
                    "name": "Precious Klocko",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-956f-4223-83cc-6f16f3c1f842",
                "title": "Voluptas quos et accusamus provident ipsa.",
                "media_asset": {
                    "id": "a2a3d04f-8ffa-46dc-9188-0906c294d142",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-8ffa-46dc-9188-0906c294d142.uvvz"
                },
                "cover": {
                    "id": "a2a3d04f-947a-4eec-b640-27b89d9b3ac8",
                    "url": "https://via.placeholder.com/640x480.png/00ee66?text=sint"
                },
                "owner": {
                    "id": "a2a3d04f-8a00-4d12-82aa-337ff74b0bcf",
                    "name": "Nick Cormier",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-92d3-4dc1-b1e3-bc0fa5b66587",
                "title": "Cumque ut ut delectus.",
                "media_asset": {
                    "id": "a2a3d04f-7c52-4f37-a7ea-c5bafc853bb2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-7c52-4f37-a7ea-c5bafc853bb2.tar"
                },
                "cover": {
                    "id": "a2a3d04f-81d0-4deb-a8c8-e753720f48e1",
                    "url": "https://via.placeholder.com/640x480.png/00aa55?text=velit"
                },
                "owner": {
                    "id": "a2a3d04f-763a-4922-81e0-f7677a45068c",
                    "name": "Karelle Crooks",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-9060-496f-b4c1-2d10c1963b61",
                "title": "Sequi et vero et eligendi expedita aliquid.",
                "media_asset": {
                    "id": "a2a3d04f-6b43-4cbb-9965-7f63842b50ac",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-6b43-4cbb-9965-7f63842b50ac.hal"
                },
                "cover": {
                    "id": "a2a3d04f-7139-4471-b3b5-cc5aff31d9e3",
                    "url": "https://via.placeholder.com/640x480.png/009977?text=consectetur"
                },
                "owner": {
                    "id": "a2a3d04f-6529-4f08-8ab8-6a46f4ec7f66",
                    "name": "Celestino Franecki",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-8dd4-4992-804f-f33a82690ba9",
                "title": "Voluptatibus nemo totam tenetur necessitatibus.",
                "media_asset": {
                    "id": "a2a3d04f-595b-4228-9b09-36e2dae2fe19",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-595b-4228-9b09-36e2dae2fe19.chrt"
                },
                "cover": {
                    "id": "a2a3d04f-5e7c-427c-93c7-620bf8d9975e",
                    "url": "https://via.placeholder.com/640x480.png/005500?text=animi"
                },
                "owner": {
                    "id": "a2a3d04f-53ba-4836-a179-8e0df772b5f3",
                    "name": "Keira Kulas",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-8b7c-4926-bb4f-69f738db8dab",
                "title": "Sed unde nemo explicabo est a inventore ad.",
                "media_asset": {
                    "id": "a2a3d04f-481e-4c05-bc25-5fc293a0ee41",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-481e-4c05-bc25-5fc293a0ee41.ez2"
                },
                "cover": {
                    "id": "a2a3d04f-4e00-44e7-9a31-697e9bd25613",
                    "url": "https://via.placeholder.com/640x480.png/003311?text=sequi"
                },
                "owner": {
                    "id": "a2a3d04f-4236-4180-afa1-ab18d26a3b6c",
                    "name": "Martine Jenkins",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-891b-46e8-9711-949bf1b6fdb8",
                "title": "Itaque aut dolor officia aut.",
                "media_asset": {
                    "id": "a2a3d04f-3796-4902-b911-925d5fb1af33",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-3796-4902-b911-925d5fb1af33.vcard"
                },
                "cover": {
                    "id": "a2a3d04f-3ced-4e51-bcd0-d5670c2ab588",
                    "url": "https://via.placeholder.com/640x480.png/009955?text=iste"
                },
                "owner": {
                    "id": "a2a3d04f-30fb-4e7c-9a30-90d08eee2ec5",
                    "name": "Ned Jacobson",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-fd4b-48cf-814c-4e27a3ac79d2",
                "title": "Numquam minima illo quisquam voluptas rerum.",
                "media_asset": {
                    "id": "a2a3d04e-b94b-4c6b-83d6-d8b1a9ca7076",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-b94b-4c6b-83d6-d8b1a9ca7076.prc"
                },
                "cover": {
                    "id": "a2a3d04e-bee9-4284-9a34-1b20ce49a7ed",
                    "url": "https://via.placeholder.com/640x480.png/0099cc?text=vel"
                },
                "owner": {
                    "id": "a2a3d04e-b445-41dc-bae9-3a73c48e810c",
                    "name": "Ms. Zita Rempel Sr.",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-fa9e-4efd-b32d-a3ccd50852b6",
                "title": "Ducimus inventore nesciunt eum ratione consequatur dicta.",
                "media_asset": {
                    "id": "a2a3d04e-a61e-4b2c-a6ee-b5a02628de43",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-a61e-4b2c-a6ee-b5a02628de43.bdm"
                },
                "cover": {
                    "id": "a2a3d04e-ae80-44d1-9cbf-6d364d8a77fd",
                    "url": "https://via.placeholder.com/640x480.png/0066ff?text=tempore"
                },
                "owner": {
                    "id": "a2a3d04e-a027-4f7e-9da4-2624c1f01d05",
                    "name": "Mitchel Fisher",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-f865-4998-89be-fb911250c3b7",
                "title": "Quasi et inventore vero quae quia ea assumenda.",
                "media_asset": {
                    "id": "a2a3d04e-959b-43c4-b68b-5e698b3382be",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-959b-43c4-b68b-5e698b3382be.xlsm"
                },
                "cover": {
                    "id": "a2a3d04e-9a79-42c4-bb48-59b56f524f77",
                    "url": "https://via.placeholder.com/640x480.png/009933?text=distinctio"
                },
                "owner": {
                    "id": "a2a3d04e-9049-4be0-bc77-30c1d77983b6",
                    "name": "Mack Gutmann",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-f593-48ec-ad8b-b9120779b065",
                "title": "Amet magnam quibusdam et omnis.",
                "media_asset": {
                    "id": "a2a3d04e-8476-4a9d-b6c0-9ad011dcde82",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-8476-4a9d-b6c0-9ad011dcde82.ifm"
                },
                "cover": {
                    "id": "a2a3d04e-8ab6-4075-bc29-40ca364e56ed",
                    "url": "https://via.placeholder.com/640x480.png/00aa44?text=nesciunt"
                },
                "owner": {
                    "id": "a2a3d04e-7ef6-4104-8fb8-c2e3c3e7b5ee",
                    "name": "Kayleigh Ryan V",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-f368-4064-b940-5012b210e47c",
                "title": "Amet quas sint vel eos non.",
                "media_asset": {
                    "id": "a2a3d04e-7345-4531-825f-730519dad467",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-7345-4531-825f-730519dad467.n3"
                },
                "cover": {
                    "id": "a2a3d04e-7940-4ee1-8bec-5d216fc47f23",
                    "url": "https://via.placeholder.com/640x480.png/00ffdd?text=veniam"
                },
                "owner": {
                    "id": "a2a3d04e-6e18-49e1-a889-63dab1f9b121",
                    "name": "Dr. Emerald Jast",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-f0c0-475b-b8af-d2f0088efa70",
                "title": "Temporibus unde et qui cum voluptate ea.",
                "media_asset": {
                    "id": "a2a3d04e-6400-42af-ace8-ed008684d328",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-6400-42af-ace8-ed008684d328.install"
                },
                "cover": {
                    "id": "a2a3d04e-689f-4e93-8133-8b2d6cd69eff",
                    "url": "https://via.placeholder.com/640x480.png/009933?text=qui"
                },
                "owner": {
                    "id": "a2a3d04e-5f78-454e-8348-1b6065cc11b0",
                    "name": "Gabrielle Kuvalis",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-ee42-4d37-a9e0-9bcea1a0eb4b",
                "title": "Assumenda repudiandae iure est sit recusandae eius.",
                "media_asset": {
                    "id": "a2a3d04e-5217-4867-b0d0-5912fa4d90e6",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-5217-4867-b0d0-5912fa4d90e6.gtw"
                },
                "cover": {
                    "id": "a2a3d04e-5a30-4bb2-b293-c3ade99f5bd3",
                    "url": "https://via.placeholder.com/640x480.png/007788?text=fugiat"
                },
                "owner": {
                    "id": "a2a3d04e-4a2e-43b7-9274-8e73425f6b1b",
                    "name": "Bailey Bahringer",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-eb5b-4070-a218-d923b4af5e95",
                "title": "Quia illum nemo qui eius praesentium excepturi.",
                "media_asset": {
                    "id": "a2a3d04e-3a5a-471f-b5aa-054246c62e7b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-3a5a-471f-b5aa-054246c62e7b.rip"
                },
                "cover": {
                    "id": "a2a3d04e-42ad-47d0-8ec6-003fac5e8bf7",
                    "url": "https://via.placeholder.com/640x480.png/007766?text=laudantium"
                },
                "owner": {
                    "id": "a2a3d04e-341c-484b-8863-da4a9f616e65",
                    "name": "Dr. Icie Stamm",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-e84f-4c7f-9852-f05341eaa5fd",
                "title": "Sint vero error veniam sit fugit cum.",
                "media_asset": {
                    "id": "a2a3d04e-29ed-4b70-ac85-3928eeb2fda1",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-29ed-4b70-ac85-3928eeb2fda1.s"
                },
                "cover": {
                    "id": "a2a3d04e-2ef9-42f7-9c96-7f7b5b9c5cee",
                    "url": "https://via.placeholder.com/640x480.png/009911?text=inventore"
                },
                "owner": {
                    "id": "a2a3d04e-24e2-4319-bcb1-0e3612569547",
                    "name": "Mr. Ed Conroy",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-e526-46a8-bdee-c0ef4a1f21eb",
                "title": "Porro qui est aut numquam.",
                "media_asset": {
                    "id": "a2a3d04e-192b-46b4-b729-5261f1e8d9ea",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-192b-46b4-b729-5261f1e8d9ea.sti"
                },
                "cover": {
                    "id": "a2a3d04e-1e85-4afe-905b-647e3fa2ff1c",
                    "url": "https://via.placeholder.com/640x480.png/008822?text=laborum"
                },
                "owner": {
                    "id": "a2a3d04e-1282-4169-a1e4-1d6f92dc8a32",
                    "name": "Elsie Krajcik",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-c4ba-4592-b62e-d0e709fdd46b",
                "title": "Et aut sit eveniet qui eum.",
                "media_asset": {
                    "id": "a2a3d04d-590c-44f4-86b4-8512b15769c3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-590c-44f4-86b4-8512b15769c3.aiff"
                },
                "cover": {
                    "id": "a2a3d04d-60ef-43c4-aeb2-3a7202d2cf30",
                    "url": "https://via.placeholder.com/640x480.png/0033ee?text=repellendus"
                },
                "owner": {
                    "id": "a2a3d04d-5186-4ac4-89ca-ea441746e290",
                    "name": "Alexandria Sporer",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-c73e-4647-b195-0329052c608f",
                "title": "Id qui aliquam cupiditate pariatur mollitia enim debitis.",
                "media_asset": {
                    "id": "a2a3d04d-6d91-4bf7-8215-bd8d3751fed7",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-6d91-4bf7-8215-bd8d3751fed7.xls"
                },
                "cover": {
                    "id": "a2a3d04d-74c1-48bb-835d-cd3e6dc51a6e",
                    "url": "https://via.placeholder.com/640x480.png/007733?text=consequatur"
                },
                "owner": {
                    "id": "a2a3d04d-67b6-4142-aa19-7422da0d3fc6",
                    "name": "Prof. Caden Lockman",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-cba8-497b-9a5e-eb1a7d6619ef",
                "title": "Hic sed dolorem aliquid nihil.",
                "media_asset": {
                    "id": "a2a3d04d-82c6-4f44-9391-8deedd30990a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-82c6-4f44-9391-8deedd30990a.xvml"
                },
                "cover": {
                    "id": "a2a3d04d-8986-4798-938a-ee2723a30179",
                    "url": "https://via.placeholder.com/640x480.png/0000ff?text=aut"
                },
                "owner": {
                    "id": "a2a3d04d-7d3d-45d4-915a-2c07dac54acb",
                    "name": "Mr. Rocky Dooley",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-ce24-43e5-9d00-2b107c0af4ef",
                "title": "Velit repellendus labore soluta qui quis.",
                "media_asset": {
                    "id": "a2a3d04d-9800-4fd7-ac87-d515afdc8b88",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-9800-4fd7-ac87-d515afdc8b88.jpm"
                },
                "cover": {
                    "id": "a2a3d04d-9e46-4ad2-b3c2-0774df64a438",
                    "url": "https://via.placeholder.com/640x480.png/00eebb?text=dignissimos"
                },
                "owner": {
                    "id": "a2a3d04d-8f70-4e36-b57a-afd2a9c07527",
                    "name": "Armando Adams",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-d1c5-42b4-90c2-b17c5caa9609",
                "title": "Aut ea dolor quo dolor quod.",
                "media_asset": {
                    "id": "a2a3d04d-ab9e-45ea-bfe6-85c9ce3ceac7",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-ab9e-45ea-bfe6-85c9ce3ceac7.gif"
                },
                "cover": {
                    "id": "a2a3d04d-b2ba-4fed-9e9e-506863ce5c5d",
                    "url": "https://via.placeholder.com/640x480.png/003322?text=laborum"
                },
                "owner": {
                    "id": "a2a3d04d-a443-456b-b95e-03b5ea37ac60",
                    "name": "Johann Mayert",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-d7a6-4f83-9f98-6d35499796f8",
                "title": "Facere excepturi quae aliquid et libero qui magni quo.",
                "media_asset": {
                    "id": "a2a3d04d-d245-45fd-8c62-9bc5f31ef9da",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-d245-45fd-8c62-9bc5f31ef9da.torrent"
                },
                "cover": {
                    "id": "a2a3d04d-d8ac-49df-befd-1a4943dbbf6d",
                    "url": "https://via.placeholder.com/640x480.png/006622?text=vel"
                },
                "owner": {
                    "id": "a2a3d04d-cccb-4e26-8ce6-44203dff6a4c",
                    "name": "Mr. Isadore Schultz",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-daf9-4985-affe-a03c1d62b971",
                "title": "Vitae optio facere qui quae et.",
                "media_asset": {
                    "id": "a2a3d04d-e505-4815-b89d-8e7a32d76dfc",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-e505-4815-b89d-8e7a32d76dfc.wav"
                },
                "cover": {
                    "id": "a2a3d04d-ea46-4393-8b05-8ab2cf1e534b",
                    "url": "https://via.placeholder.com/640x480.png/0055dd?text=beatae"
                },
                "owner": {
                    "id": "a2a3d04d-de89-45a4-ac6c-d662f9ad3ce3",
                    "name": "Miss Madge Kozey DDS",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-ddb9-4dc6-9c5b-1be765cd9dc7",
                "title": "Architecto impedit dolorum error enim aut ut amet.",
                "media_asset": {
                    "id": "a2a3d04d-f4e2-4017-9e47-6507fe10d786",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-f4e2-4017-9e47-6507fe10d786.pptx"
                },
                "cover": {
                    "id": "a2a3d04d-fa9b-4232-b75e-f0e72b45c744",
                    "url": "https://via.placeholder.com/640x480.png/006677?text=nemo"
                },
                "owner": {
                    "id": "a2a3d04d-ef65-4a14-a590-514f8d5f7a5d",
                    "name": "Sabryna Stanton DVM",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-e191-4f85-946e-ce739ebce9d5",
                "title": "Pariatur aut quaerat est sint corporis sed non.",
                "media_asset": {
                    "id": "a2a3d04e-071a-43e7-accc-9d5760dcb2ae",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04e-071a-43e7-accc-9d5760dcb2ae.pgn"
                },
                "cover": {
                    "id": "a2a3d04e-0c56-456b-ad73-38532395a4a2",
                    "url": "https://via.placeholder.com/640x480.png/0011aa?text=nemo"
                },
                "owner": {
                    "id": "a2a3d04e-017a-4805-a910-e11bb77a2948",
                    "name": "Angie Reichert",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-d555-4567-90b8-534c1ea14880",
                "title": "Fuga ullam non veritatis laboriosam.",
                "media_asset": {
                    "id": "a2a3d04d-c083-4b02-88ee-6fdc66d4aa92",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-c083-4b02-88ee-6fdc66d4aa92.wspolicy"
                },
                "cover": {
                    "id": "a2a3d04d-c5f3-49c3-832b-ba7a2e198378",
                    "url": "https://via.placeholder.com/640x480.png/00dd99?text=delectus"
                },
                "owner": {
                    "id": "a2a3d04d-ba1c-4119-8525-3df617cf021e",
                    "name": "Connie Ernser",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-3ed4-4efb-93d8-34df83554abc",
                "title": "Qui autem sint repellendus excepturi.",
                "media_asset": {
                    "id": "a2a3d043-00e6-43fd-bc73-f40f3cf32af2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d043-00e6-43fd-bc73-f40f3cf32af2.uvvx"
                },
                "cover": {
                    "id": "a2a3d043-05a2-4013-8d1f-c5b3221642c6",
                    "url": "https://via.placeholder.com/640x480.png/00ee77?text=ut"
                },
                "owner": {
                    "id": "a2a3d042-f9dd-4ccd-8e7f-72d6ae7dbf5b",
                    "name": "Coty Bashirian PhD",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-3c8f-4b42-94e0-fa53499a27f6",
                "title": "Amet qui vel doloremque dolorem ducimus.",
                "media_asset": {
                    "id": "a2a3d042-ee57-4ad7-9b19-d1e611ddf4f3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-ee57-4ad7-9b19-d1e611ddf4f3.sub"
                },
                "cover": {
                    "id": "a2a3d042-f3a8-4699-9aee-5f26342b57f9",
                    "url": "https://via.placeholder.com/640x480.png/00cc88?text=itaque"
                },
                "owner": {
                    "id": "a2a3d042-e914-4aff-9226-742993367dcf",
                    "name": "Angeline Lubowitz",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-397b-48ca-bad2-fbbb87cc5f4a",
                "title": "Quia enim nulla beatae aut deserunt ipsam.",
                "media_asset": {
                    "id": "a2a3d042-de80-4a61-879f-8f5918526fca",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-de80-4a61-879f-8f5918526fca.g3"
                },
                "cover": {
                    "id": "a2a3d042-e2a2-485a-9c1e-b4dd92345a06",
                    "url": "https://via.placeholder.com/640x480.png/008811?text=ut"
                },
                "owner": {
                    "id": "a2a3d042-d9f8-407f-9e5f-5e48884ec16b",
                    "name": "Carlos Price",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-3622-4f7c-8502-2b9d9bc24bb9",
                "title": "Iure et fuga consequatur quo.",
                "media_asset": {
                    "id": "a2a3d042-d0c0-47ff-a2cc-421fa37d7bdf",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-d0c0-47ff-a2cc-421fa37d7bdf.xpi"
                },
                "cover": {
                    "id": "a2a3d042-d533-4a68-b0a7-6820695d95a5",
                    "url": "https://via.placeholder.com/640x480.png/00cc77?text=voluptatibus"
                },
                "owner": {
                    "id": "a2a3d042-cbaf-457e-8596-5a378b703d8f",
                    "name": "Dr. Henry Stokes",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-3462-479d-97a8-a3d00a8fa569",
                "title": "Vero fuga voluptatum quis fuga.",
                "media_asset": {
                    "id": "a2a3d042-c053-4623-a8ac-eab2285ab20c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-c053-4623-a8ac-eab2285ab20c.java"
                },
                "cover": {
                    "id": "a2a3d042-c68a-428a-a56d-80cc7039054b",
                    "url": "https://via.placeholder.com/640x480.png/00ffaa?text=autem"
                },
                "owner": {
                    "id": "a2a3d042-bb84-4894-92e2-5958916c2877",
                    "name": "Sydnee Ratke III",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-3107-492b-9d83-d0a4a2e7dfed",
                "title": "Aut vero aut maxime est sit quos.",
                "media_asset": {
                    "id": "a2a3d042-b305-42a5-8b7f-63aef14213e6",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-b305-42a5-8b7f-63aef14213e6.gtar"
                },
                "cover": {
                    "id": "a2a3d042-b6b0-4da9-9607-1b6d2c639e1e",
                    "url": "https://via.placeholder.com/640x480.png/0077bb?text=facere"
                },
                "owner": {
                    "id": "a2a3d042-af05-46f7-b43b-4bcbf3f785dd",
                    "name": "Miss Marielle Hartmann",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2f0f-4e89-b138-a032453309d7",
                "title": "Perspiciatis eum ducimus sunt possimus officia consequatur quia.",
                "media_asset": {
                    "id": "a2a3d042-a464-42e5-92eb-279196bfcfb1",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-a464-42e5-92eb-279196bfcfb1.flw"
                },
                "cover": {
                    "id": "a2a3d042-aa0e-415c-b58c-76f7c6bbcf82",
                    "url": "https://via.placeholder.com/640x480.png/00ee22?text=expedita"
                },
                "owner": {
                    "id": "a2a3d042-9f44-4937-8a7d-e950b5129eb5",
                    "name": "Prof. Shawna Jakubowski V",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2c8d-47f4-9992-97ae4f0f02d9",
                "title": "Alias in consequatur quia autem non aspernatur labore.",
                "media_asset": {
                    "id": "a2a3d042-9691-4fed-9cb1-440197fd1b49",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-9691-4fed-9cb1-440197fd1b49.sfv"
                },
                "cover": {
                    "id": "a2a3d042-9ab5-4f06-8c56-af499afe6334",
                    "url": "https://via.placeholder.com/640x480.png/002255?text=ab"
                },
                "owner": {
                    "id": "a2a3d042-9047-4a93-8e5b-6125738f8cd1",
                    "name": "Susanna Roob",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2a91-48e2-ae05-1fab458d8d3d",
                "title": "Qui quasi dignissimos magni et fuga minus repellat.",
                "media_asset": {
                    "id": "a2a3d042-86f6-4519-ae17-7ade501f015d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-86f6-4519-ae17-7ade501f015d.jsonml"
                },
                "cover": {
                    "id": "a2a3d042-8c45-4dce-b510-9ca5baf6c7b2",
                    "url": "https://via.placeholder.com/640x480.png/00dd22?text=possimus"
                },
                "owner": {
                    "id": "a2a3d042-8223-4e81-a25b-894f0b9d26fe",
                    "name": "Hilma Baumbach V",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2849-4b35-ade9-6d83290a76ad",
                "title": "Quasi deserunt soluta ex ipsum est assumenda.",
                "media_asset": {
                    "id": "a2a3d042-7a16-4eec-8b73-504cb3b08e89",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-7a16-4eec-8b73-504cb3b08e89.ttl"
                },
                "cover": {
                    "id": "a2a3d042-7e42-4b8a-8d72-164814bf09b4",
                    "url": "https://via.placeholder.com/640x480.png/005500?text=veritatis"
                },
                "owner": {
                    "id": "a2a3d042-7546-440c-9cdd-2d51a4fb7130",
                    "name": "Kellie Ullrich",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-25fc-4648-990c-832442978af0",
                "title": "Quo aliquid nihil at ullam qui dolor suscipit.",
                "media_asset": {
                    "id": "a2a3d042-6c19-47fe-8985-03959c273cee",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-6c19-47fe-8985-03959c273cee.vcf"
                },
                "cover": {
                    "id": "a2a3d042-70b6-448c-8802-e0b2202cc1d4",
                    "url": "https://via.placeholder.com/640x480.png/002277?text=id"
                },
                "owner": {
                    "id": "a2a3d042-664a-4c0f-93ec-80a97142669e",
                    "name": "Prof. Toy Daugherty",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-23b1-4d20-a1bb-9f0fa2c9dba1",
                "title": "Ut ullam sapiente modi vel perspiciatis tenetur neque.",
                "media_asset": {
                    "id": "a2a3d042-5e1c-4719-a9ed-eba452539951",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-5e1c-4719-a9ed-eba452539951.sti"
                },
                "cover": {
                    "id": "a2a3d042-62d0-464c-b294-d56e6b93280d",
                    "url": "https://via.placeholder.com/640x480.png/00ff55?text=sequi"
                },
                "owner": {
                    "id": "a2a3d042-5a52-46a2-a8ce-f47ecf410018",
                    "name": "Justice Wuckert",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2137-4684-a9b5-adebfa842557",
                "title": "Voluptatem veritatis neque doloremque eum est.",
                "media_asset": {
                    "id": "a2a3d042-5310-43ca-b05b-89bb08575c54",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-5310-43ca-b05b-89bb08575c54.mpt"
                },
                "cover": {
                    "id": "a2a3d042-5724-42b1-8066-88c7e6991069",
                    "url": "https://via.placeholder.com/640x480.png/00bb22?text=ex"
                },
                "owner": {
                    "id": "a2a3d042-4e08-4964-bb05-304af1127559",
                    "name": "Berta Muller IV",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-1de5-46bc-ade8-9d7e4e71009b",
                "title": "Perspiciatis dignissimos velit ut laboriosam voluptatem.",
                "media_asset": {
                    "id": "a2a3d042-4547-4697-bbf8-b13158e0b068",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-4547-4697-bbf8-b13158e0b068.mie"
                },
                "cover": {
                    "id": "a2a3d042-4a10-4046-9f70-96fdd7f630ec",
                    "url": "https://via.placeholder.com/640x480.png/00ff55?text=dolore"
                },
                "owner": {
                    "id": "a2a3d042-40be-4432-ad95-b1a4ee2647e4",
                    "name": "Dr. Ola Watsica Jr.",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-1a42-4bfb-bb77-1338de95ac6f",
                "title": "Dolore autem voluptatem exercitationem natus explicabo.",
                "media_asset": {
                    "id": "a2a3d042-3904-458d-91b9-d0e136d6c97c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-3904-458d-91b9-d0e136d6c97c.blorb"
                },
                "cover": {
                    "id": "a2a3d042-3cc9-497d-ba3f-7c9592fed04c",
                    "url": "https://via.placeholder.com/640x480.png/00ff55?text=delectus"
                },
                "owner": {
                    "id": "a2a3d042-3586-4400-9ce6-dff08195e366",
                    "name": "Benedict Heller MD",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-1656-4500-9634-5eb9f19f0920",
                "title": "Repellat ut tenetur reprehenderit inventore illum.",
                "media_asset": {
                    "id": "a2a3d042-2deb-4ca3-a505-c560da323d08",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-2deb-4ca3-a505-c560da323d08.sit"
                },
                "cover": {
                    "id": "a2a3d042-31da-462d-8d1f-0ad4381031a9",
                    "url": "https://via.placeholder.com/640x480.png/00aa33?text=et"
                },
                "owner": {
                    "id": "a2a3d042-2913-4fc8-b95c-d11b3020ad00",
                    "name": "Miss Kaycee D'Amore",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-13c1-48df-95d1-9d5d38380d07",
                "title": "Asperiores doloremque est et vel omnis ea quia.",
                "media_asset": {
                    "id": "a2a3d042-2251-440c-af21-40cea9b2e6b2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-2251-440c-af21-40cea9b2e6b2.ahead"
                },
                "cover": {
                    "id": "a2a3d042-25a7-4c3e-a8c0-a39ff78ae895",
                    "url": "https://via.placeholder.com/640x480.png/009988?text=in"
                },
                "owner": {
                    "id": "a2a3d042-1ea8-4a1f-b98b-daaed2c7f170",
                    "name": "Edd Spinka",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-1118-47ba-85cc-1489f8cef83c",
                "title": "Aut ab numquam et recusandae aliquid.",
                "media_asset": {
                    "id": "a2a3d042-1790-4ae6-a3ff-65476adb8180",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-1790-4ae6-a3ff-65476adb8180.otp"
                },
                "cover": {
                    "id": "a2a3d042-1a86-4137-830f-4cd7987e9ecd",
                    "url": "https://via.placeholder.com/640x480.png/0022bb?text=repudiandae"
                },
                "owner": {
                    "id": "a2a3d042-13d6-44c6-8614-3dad026237fb",
                    "name": "Miss Enola Zemlak V",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-0e85-4d65-976a-cfe6279ab501",
                "title": "Eos at et quas laborum qui inventore quia.",
                "media_asset": {
                    "id": "a2a3d042-0a8c-4871-9554-3174d333e52f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-0a8c-4871-9554-3174d333e52f.mcurl"
                },
                "cover": {
                    "id": "a2a3d042-0ef8-4195-98d6-fd4d92728b55",
                    "url": "https://via.placeholder.com/640x480.png/0011ff?text=dicta"
                },
                "owner": {
                    "id": "a2a3d042-0743-4ea9-a814-418434080fdd",
                    "name": "Ms. Sally Spencer II",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-0b78-4519-871b-470cf56b93e7",
                "title": "Labore animi atque eligendi in rerum voluptas praesentium.",
                "media_asset": {
                    "id": "a2a3d041-ff5e-42d9-b4a0-361c22fdc2e4",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-ff5e-42d9-b4a0-361c22fdc2e4.msh"
                },
                "cover": {
                    "id": "a2a3d042-0361-4cbe-ad87-5796a99ba2b6",
                    "url": "https://via.placeholder.com/640x480.png/00aa77?text=qui"
                },
                "owner": {
                    "id": "a2a3d041-fc61-49d4-9285-5c0493dc5a06",
                    "name": "Shanel Daniel",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-cd07-48f6-8b8c-205805d7ba6a",
                "title": "Perferendis cupiditate aliquid ipsa aut.",
                "media_asset": {
                    "id": "a2a3d041-6db5-4d83-89f2-e5ea50eeb5b1",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-6db5-4d83-89f2-e5ea50eeb5b1.nsf"
                },
                "cover": {
                    "id": "a2a3d041-7165-4219-bef2-0e1b5e7ac260",
                    "url": "https://via.placeholder.com/640x480.png/00aabb?text=necessitatibus"
                },
                "owner": {
                    "id": "a2a3d041-6942-4187-a0db-d611bd1d6bc2",
                    "name": "Solon Smitham",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-b548-4db9-9835-e9f191066ad2",
                "title": "Ea voluptas reiciendis aut enim incidunt consectetur.",
                "media_asset": {
                    "id": "a2a3d040-dd01-47c2-a82a-b1cc8c8e9c85",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d040-dd01-47c2-a82a-b1cc8c8e9c85.gramps"
                },
                "cover": {
                    "id": "a2a3d040-e265-4a16-8363-24f5240df7d8",
                    "url": "https://via.placeholder.com/640x480.png/00aabb?text=amet"
                },
                "owner": {
                    "id": "a2a3d040-d9c9-4d5f-954e-97aa5b15c3bb",
                    "name": "Lorine Kerluke",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-b677-4121-8d12-064a660913a9",
                "title": "Unde dignissimos itaque voluptas dolor perferendis rem aspernatur.",
                "media_asset": {
                    "id": "a2a3d040-e9ce-42cf-be48-7da7b65106f9",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d040-e9ce-42cf-be48-7da7b65106f9.st"
                },
                "cover": {
                    "id": "a2a3d040-ecfd-4c59-8ef5-8f1dbb65e372",
                    "url": "https://via.placeholder.com/640x480.png/0022dd?text=illum"
                },
                "owner": {
                    "id": "a2a3d040-e64e-4ca7-9c22-a6891939ceef",
                    "name": "Kitty Ondricka",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-b7e0-4e35-a931-8e00416ee469",
                "title": "Ut ducimus vitae id magni doloribus nam.",
                "media_asset": {
                    "id": "a2a3d040-f3e6-4e1f-8e20-91e2497cd758",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d040-f3e6-4e1f-8e20-91e2497cd758.cod"
                },
                "cover": {
                    "id": "a2a3d040-f769-4586-bcf7-4b2c09c45673",
                    "url": "https://via.placeholder.com/640x480.png/00ddcc?text=voluptatem"
                },
                "owner": {
                    "id": "a2a3d040-efee-43e7-a65a-668c0add8070",
                    "name": "Keven Hintz",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-b9ee-469b-84d7-04ea9e954fb4",
                "title": "Porro ab blanditiis unde nihil.",
                "media_asset": {
                    "id": "a2a3d040-fe48-4142-bf9d-5fe9c73199b3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d040-fe48-4142-bf9d-5fe9c73199b3.fst"
                },
                "cover": {
                    "id": "a2a3d041-01b0-412d-bcbe-b9744c9ae41c",
                    "url": "https://via.placeholder.com/640x480.png/00ccaa?text=et"
                },
                "owner": {
                    "id": "a2a3d040-faee-4df8-8e01-e8f8cb7193b9",
                    "name": "Dave Dibbert",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-bb44-498e-b395-ad826ffcd612",
                "title": "Sit sed harum ea at dolorem id.",
                "media_asset": {
                    "id": "a2a3d041-0964-4f2a-85f3-5975d5144c9c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-0964-4f2a-85f3-5975d5144c9c.cpio"
                },
                "cover": {
                    "id": "a2a3d041-0fa7-4769-b4a7-d8913b92bde3",
                    "url": "https://via.placeholder.com/640x480.png/0000bb?text=velit"
                },
                "owner": {
                    "id": "a2a3d041-0613-4bed-957b-eeeac650c70d",
                    "name": "Vivienne Aufderhar",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-bd34-4292-a518-8f32cdbf69e8",
                "title": "Impedit possimus dolore culpa architecto qui architecto.",
                "media_asset": {
                    "id": "a2a3d041-1787-47ff-8546-adfa4a800efd",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-1787-47ff-8546-adfa4a800efd.svc"
                },
                "cover": {
                    "id": "a2a3d041-1c25-4602-aa17-9a4a004195a6",
                    "url": "https://via.placeholder.com/640x480.png/0077cc?text=sit"
                },
                "owner": {
                    "id": "a2a3d041-13d3-4edc-baee-f8aa5054d4b7",
                    "name": "Dr. Jeromy Krajcik I",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-bf96-44cf-bb07-eea207b1b77e",
                "title": "Est magni eum at eveniet aut.",
                "media_asset": {
                    "id": "a2a3d041-241c-4bb0-b1cc-6f1b875b8c65",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-241c-4bb0-b1cc-6f1b875b8c65.uvv"
                },
                "cover": {
                    "id": "a2a3d041-2914-4596-8bb0-9f7f86422b70",
                    "url": "https://via.placeholder.com/640x480.png/00cccc?text=id"
                },
                "owner": {
                    "id": "a2a3d041-201b-4b12-aebd-6ff028f931f3",
                    "name": "Prof. Tania Stroman",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-c1e1-4b5c-bcf4-8e9811a43a84",
                "title": "A placeat eveniet consectetur nisi ut.",
                "media_asset": {
                    "id": "a2a3d041-3211-4164-987f-d4c4a462a1ed",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-3211-4164-987f-d4c4a462a1ed.esf"
                },
                "cover": {
                    "id": "a2a3d041-35cb-4c09-8d64-1a116cda81c9",
                    "url": "https://via.placeholder.com/640x480.png/0000bb?text=tempora"
                },
                "owner": {
                    "id": "a2a3d041-2e04-4d48-80ce-6dc52d745174",
                    "name": "Elinore White",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-c445-4352-b096-38110067f4be",
                "title": "Aut voluptate esse labore.",
                "media_asset": {
                    "id": "a2a3d041-3d82-421a-8651-293e74a7c2fa",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-3d82-421a-8651-293e74a7c2fa.karbon"
                },
                "cover": {
                    "id": "a2a3d041-41a4-4bf5-a22d-55f76dc12eb9",
                    "url": "https://via.placeholder.com/640x480.png/00ffcc?text=velit"
                },
                "owner": {
                    "id": "a2a3d041-3a41-45f4-8c13-db49da05b8ce",
                    "name": "Mr. Maverick Goldner",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-c696-418f-99eb-74e7d1a3b490",
                "title": "Veniam aut sit earum velit in deleniti.",
                "media_asset": {
                    "id": "a2a3d041-483e-4a51-9006-01c3d30ade38",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-483e-4a51-9006-01c3d30ade38.arc"
                },
                "cover": {
                    "id": "a2a3d041-4ab2-43ba-affb-a6c7079b97c1",
                    "url": "https://via.placeholder.com/640x480.png/007700?text=consequatur"
                },
                "owner": {
                    "id": "a2a3d041-44f0-4b9d-897d-9de22a50fb87",
                    "name": "Prof. Israel Hoppe",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-ca1b-44da-b3c1-3b801a42b389",
                "title": "Culpa voluptatum voluptatem eum pariatur.",
                "media_asset": {
                    "id": "a2a3d041-58f5-4aad-807a-fb0bcd9db36e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-58f5-4aad-807a-fb0bcd9db36e.xwd"
                },
                "cover": {
                    "id": "a2a3d041-5c7b-4893-b66d-8940ae207b9a",
                    "url": "https://via.placeholder.com/640x480.png/00cc22?text=ratione"
                },
                "owner": {
                    "id": "a2a3d041-5694-4db3-84b6-24dfa6114d79",
                    "name": "Victoria Fay II",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-c8d2-47d7-90f9-d424f902cb40",
                "title": "Neque vel dolores dolorem dolores error qui illum.",
                "media_asset": {
                    "id": "a2a3d041-5129-4b9a-9410-3f180b0d346f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-5129-4b9a-9410-3f180b0d346f.mobi"
                },
                "cover": {
                    "id": "a2a3d041-539b-42a1-86c2-feaf349f4607",
                    "url": "https://via.placeholder.com/640x480.png/00bb66?text=quasi"
                },
                "owner": {
                    "id": "a2a3d041-4db6-4a75-8144-fd459f5406ed",
                    "name": "Viviane Johnston I",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-da27-4f71-b73b-72e814856a7f",
                "title": "Atque praesentium et non veritatis consequatur iste aut.",
                "media_asset": {
                    "id": "a2a3d041-afe7-4664-9c4e-dd24b424ddf9",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-afe7-4664-9c4e-dd24b424ddf9.lostxml"
                },
                "cover": {
                    "id": "a2a3d041-b2a0-4259-a2b0-1167d9197683",
                    "url": "https://via.placeholder.com/640x480.png/00dddd?text=sequi"
                },
                "owner": {
                    "id": "a2a3d041-abe4-472c-bd98-753c12e2d541",
                    "name": "Emilio Hoeger II",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-d752-4521-83d6-624db4426157",
                "title": "Vel cupiditate sapiente doloribus et et.",
                "media_asset": {
                    "id": "a2a3d041-a37e-4099-975f-30cc563c8a3e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-a37e-4099-975f-30cc563c8a3e.djv"
                },
                "cover": {
                    "id": "a2a3d041-a809-4c2c-a109-9d85b2a303d4",
                    "url": "https://via.placeholder.com/640x480.png/00ff44?text=saepe"
                },
                "owner": {
                    "id": "a2a3d041-9fd2-4c71-b5ff-8c1d52d0bfb1",
                    "name": "Anya Hahn",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-d593-4cc3-a4d1-4e479661d991",
                "title": "Ipsa fugiat et illo minima vero sunt error.",
                "media_asset": {
                    "id": "a2a3d041-98c5-453c-a730-cdb86bc45ddd",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-98c5-453c-a730-cdb86bc45ddd.xlsb"
                },
                "cover": {
                    "id": "a2a3d041-9c68-4850-87f8-97e18d184aa1",
                    "url": "https://via.placeholder.com/640x480.png/00dd33?text=tenetur"
                },
                "owner": {
                    "id": "a2a3d041-9571-4e19-b108-da92f1284961",
                    "name": "Bridgette Schowalter",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-d180-4cf6-811e-560208b60b0d",
                "title": "Labore illo omnis perspiciatis nesciunt laboriosam ut voluptatum molestias.",
                "media_asset": {
                    "id": "a2a3d041-84a7-44a1-b9ff-12e1eafdcff0",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-84a7-44a1-b9ff-12e1eafdcff0.iif"
                },
                "cover": {
                    "id": "a2a3d041-87b2-4412-b533-5aa5b574961f",
                    "url": "https://via.placeholder.com/640x480.png/00ee55?text=voluptas"
                },
                "owner": {
                    "id": "a2a3d041-80d8-4f90-b396-8686bc2fa0b8",
                    "name": "Daren Wintheiser MD",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-d328-4feb-a1d2-7170c743e867",
                "title": "Esse ut explicabo voluptatem culpa dolorem libero.",
                "media_asset": {
                    "id": "a2a3d041-8e65-4e07-8f5f-efd5eff7a61f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-8e65-4e07-8f5f-efd5eff7a61f.lbe"
                },
                "cover": {
                    "id": "a2a3d041-9136-4c1b-9a66-0c41d3d2fdb5",
                    "url": "https://via.placeholder.com/640x480.png/0077ff?text=illum"
                },
                "owner": {
                    "id": "a2a3d041-8b03-4ab9-92d1-b65f2b192f3a",
                    "name": "Luisa Fisher V",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-cbb2-438e-bd8c-79786c6c324b",
                "title": "Pariatur illum accusamus distinctio optio officia sunt.",
                "media_asset": {
                    "id": "a2a3d041-62a7-4c25-b302-66978c5916fa",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-62a7-4c25-b302-66978c5916fa.h264"
                },
                "cover": {
                    "id": "a2a3d041-65b7-4a17-9295-45e6d5a3c7e3",
                    "url": "https://via.placeholder.com/640x480.png/008833?text=rem"
                },
                "owner": {
                    "id": "a2a3d041-5ef8-4dbf-a37b-59eab09263b9",
                    "name": "Krista Parisian V",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d041-cf19-4ebf-99f4-6c6116112d4e",
                "title": "Rerum voluptatem quos consequuntur pariatur sit qui.",
                "media_asset": {
                    "id": "a2a3d041-7923-4916-88b5-35d3df0668af",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-7923-4916-88b5-35d3df0668af.mpt"
                },
                "cover": {
                    "id": "a2a3d041-7daa-4d99-8939-a455e619dea1",
                    "url": "https://via.placeholder.com/640x480.png/0088dd?text=porro"
                },
                "owner": {
                    "id": "a2a3d041-7632-449a-b3bb-c93e9de0c684",
                    "name": "Mr. Alfredo Braun MD",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            }
        ],
        "is_editable": false
    }
}
 

Request      

GET v1/playlists/new

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/playlists/popular" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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 (200):

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=drLsa6zT1PpPtSLpfdvyTfkUemxarjjGu3P4mSW0; expires=Tue, 01 Sep 2026 08:38:22 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": null,
        "name": "Popular",
        "description": null,
        "cover": null,
        "tracks_count": 100,
        "tracks": [
            {
                "id": "a2a3cf9a-0aea-42ec-a381-93ce30154b3d",
                "title": "Placeat in nostrum id.",
                "media_asset": {
                    "id": "a2a3cf99-fc38-4bb3-bfa0-e114a11a623c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf99-fc38-4bb3-bfa0-e114a11a623c.xlf"
                },
                "cover": {
                    "id": "a2a3cf9a-037a-43aa-864b-0770caaec47b",
                    "url": "https://via.placeholder.com/640x480.png/008899?text=iure"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9a-25ba-4db1-a88b-edc17779e3a3",
                "title": "Rem repudiandae est vel voluptatem.",
                "media_asset": {
                    "id": "a2a3cf9a-1739-491c-88c3-1100879a1a9b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-1739-491c-88c3-1100879a1a9b.cab"
                },
                "cover": {
                    "id": "a2a3cf9a-1e75-4b9a-9401-1bd0e4ad21c5",
                    "url": "https://via.placeholder.com/640x480.png/007700?text=dolores"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9a-620e-4b81-89b8-b172d695ed03",
                "title": "Itaque vitae tempora nihil.",
                "media_asset": {
                    "id": "a2a3cf9a-3540-46e5-951c-2537e0685759",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-3540-46e5-951c-2537e0685759.wmls"
                },
                "cover": {
                    "id": "a2a3cf9a-3c3d-4dc2-a2ec-de565bc5f89c",
                    "url": "https://via.placeholder.com/640x480.png/003322?text=quia"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9a-63fe-42b9-a7f0-672f121ff642",
                "title": "Repudiandae voluptatem ducimus laudantium eius at quia.",
                "media_asset": {
                    "id": "a2a3cf9a-472b-4908-9337-2863d6f6969b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-472b-4908-9337-2863d6f6969b.wmx"
                },
                "cover": {
                    "id": "a2a3cf9a-4eb9-4f3c-b0e6-4269039037fc",
                    "url": "https://via.placeholder.com/640x480.png/006699?text=molestiae"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    },
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    },
                    {
                        "id": "a2a3cf67-c30e-40c5-8a42-f536dd43788e",
                        "name": "Soundtrack",
                        "tracks": 217285
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9a-6654-4a8c-a450-05cb6104e1d0",
                "title": "Inventore tempore suscipit mollitia aut.",
                "media_asset": {
                    "id": "a2a3cf9a-5873-444c-8d2e-8fd81aaa1d05",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-5873-444c-8d2e-8fd81aaa1d05.cmx"
                },
                "cover": {
                    "id": "a2a3cf9a-5d21-4ae1-8143-d1f98a2efa60",
                    "url": "https://via.placeholder.com/640x480.png/0066bb?text=ullam"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-845b-44d8-b4cb-1bd4ea3b1829",
                        "name": "Electronic",
                        "tracks": 467893
                    },
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    },
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "00000000-a791-4783-9845-4b571a9e579f",
                "title": "Rolling in the Deep",
                "media_asset": {
                    "id": "a2a3cf99-ddc5-40e0-8027-ee9848bc45d3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf99-ddc5-40e0-8027-ee9848bc45d3.htke"
                },
                "cover": {
                    "id": "a2a3cf99-e74d-4f6d-b125-29af7f8bd673",
                    "url": "https://via.placeholder.com/640x480.png/0099cc?text=similique"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-0771-4da0-b43a-a03b09c802f3",
                "title": "Provident quos eum aut aut autem tenetur aperiam molestiae.",
                "media_asset": {
                    "id": "a2a3cf9a-83bd-443c-a42b-768c5b095402",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-83bd-443c-a42b-768c5b095402.mpp"
                },
                "cover": {
                    "id": "a2a3cf9a-8963-491e-8c81-e18a5e9b46cf",
                    "url": "https://via.placeholder.com/640x480.png/0088aa?text=et"
                },
                "owner": {
                    "id": "a2a3cf68-5727-4f98-893f-9dd8a06bfc02",
                    "name": "Joe Shmoe",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-0989-4991-8e10-91ca8c63c560",
                "title": "Et quidem esse illum natus quia.",
                "media_asset": {
                    "id": "a2a3cf9a-945a-467f-bee2-d558022272cd",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-945a-467f-bee2-d558022272cd.bdm"
                },
                "cover": {
                    "id": "a2a3cf9a-9b3d-4d53-a6ac-b703ad0b0fab",
                    "url": "https://via.placeholder.com/640x480.png/009944?text=aut"
                },
                "owner": {
                    "id": "a2a3cf68-5727-4f98-893f-9dd8a06bfc02",
                    "name": "Joe Shmoe",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    },
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    },
                    {
                        "id": "a2a3cf67-c553-40a8-a934-8efc6f6926c0",
                        "name": "Tex-Mex",
                        "tracks": 64984
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-0bc5-4090-a37a-8d963361e13d",
                "title": "Neque debitis aut voluptates animi enim eum eum.",
                "media_asset": {
                    "id": "a2a3cf9a-a717-4d10-90e2-83719228d14d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-a717-4d10-90e2-83719228d14d.vcs"
                },
                "cover": {
                    "id": "a2a3cf9a-aeef-43c8-aa46-20e8432afa47",
                    "url": "https://via.placeholder.com/640x480.png/008855?text=saepe"
                },
                "owner": {
                    "id": "a2a3cf68-5727-4f98-893f-9dd8a06bfc02",
                    "name": "Joe Shmoe",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-0dcf-4267-ae43-6f3c843c3b88",
                "title": "Neque impedit est et et qui.",
                "media_asset": {
                    "id": "a2a3cf9a-bac3-4782-982e-7baea75b6eeb",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-bac3-4782-982e-7baea75b6eeb.kon"
                },
                "cover": {
                    "id": "a2a3cf9a-c081-47f7-99e3-30f2a8771732",
                    "url": "https://via.placeholder.com/640x480.png/0077cc?text=iusto"
                },
                "owner": {
                    "id": "a2a3cf68-5727-4f98-893f-9dd8a06bfc02",
                    "name": "Joe Shmoe",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-0fb9-4b73-a55a-e15236ce9eec",
                "title": "Quos aliquid incidunt quia aut sit in deserunt.",
                "media_asset": {
                    "id": "a2a3cf9a-c99e-4391-8fbf-23d80da0a2e1",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-c99e-4391-8fbf-23d80da0a2e1.webp"
                },
                "cover": {
                    "id": "a2a3cf9a-cef4-4c9d-9cd8-a283d1f5ee86",
                    "url": "https://via.placeholder.com/640x480.png/006611?text=quibusdam"
                },
                "owner": {
                    "id": "a2a3cf68-5727-4f98-893f-9dd8a06bfc02",
                    "name": "Joe Shmoe",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8041-4147-a063-4f4fafbc39a7",
                        "name": "Country",
                        "tracks": 969845
                    },
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-11c1-419c-81df-2509cdf8be42",
                "title": "Voluptatem in debitis voluptatum in et dolor nam.",
                "media_asset": {
                    "id": "a2a3cf9a-dd43-4d2f-b382-d60951f7c3a2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-dd43-4d2f-b382-d60951f7c3a2.nbp"
                },
                "cover": {
                    "id": "a2a3cf9a-e1f4-4238-ae52-84d8b76049f0",
                    "url": "https://via.placeholder.com/640x480.png/00cc99?text=nihil"
                },
                "owner": {
                    "id": "a2a3cf68-5727-4f98-893f-9dd8a06bfc02",
                    "name": "Joe Shmoe",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-c30e-40c5-8a42-f536dd43788e",
                        "name": "Soundtrack",
                        "tracks": 217285
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-13ad-4d32-aaca-8f70c976526a",
                "title": "Mollitia et voluptatem inventore non repellendus.",
                "media_asset": {
                    "id": "a2a3cf9a-ebad-46b3-99ef-2ae967159671",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-ebad-46b3-99ef-2ae967159671.link66"
                },
                "cover": {
                    "id": "a2a3cf9a-f2c1-4316-8398-a6537e35f030",
                    "url": "https://via.placeholder.com/640x480.png/001144?text=quod"
                },
                "owner": {
                    "id": "a2a3cf68-5727-4f98-893f-9dd8a06bfc02",
                    "name": "Joe Shmoe",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    },
                    {
                        "id": "a2a3cf67-99b7-4b96-92e4-d3233e83b0a2",
                        "name": "J-Pop",
                        "tracks": 712097
                    },
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-1564-417b-b790-f4e5234d9830",
                "title": "Ut labore et rem deleniti necessitatibus.",
                "media_asset": {
                    "id": "a2a3cf9a-fc98-47c4-949a-75e5550144e5",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-fc98-47c4-949a-75e5550144e5.woff"
                },
                "cover": {
                    "id": "a2a3cf9b-0334-4f26-9584-6cd64afc5967",
                    "url": "https://via.placeholder.com/640x480.png/00ee44?text=quas"
                },
                "owner": {
                    "id": "a2a3cf68-5727-4f98-893f-9dd8a06bfc02",
                    "name": "Joe Shmoe",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8930-4c3f-9b9b-448a45747c46",
                        "name": "Folk",
                        "tracks": 295138
                    },
                    {
                        "id": "a2a3cf67-8c83-4d48-9344-2087e6b5e313",
                        "name": "Workout",
                        "tracks": 169772
                    },
                    {
                        "id": "a2a3cf67-afbe-49db-8c6f-63fd6f50cf84",
                        "name": "Pop",
                        "tracks": 806939
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-cc4b-41d7-932b-faf8dc55177c",
                "title": "Dolores laborum dolore repellat non et provident sequi.",
                "media_asset": {
                    "id": "a2a3cf9b-2ccd-4ad9-bb2d-c20064e9bf36",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-2ccd-4ad9-bb2d-c20064e9bf36.caf"
                },
                "cover": {
                    "id": "a2a3cf9b-32d4-47be-b9de-98ea4345281a",
                    "url": "https://via.placeholder.com/640x480.png/0011ee?text=eum"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-cf0c-4944-a1e3-6a5402040705",
                "title": "Quae delectus minima corporis deserunt.",
                "media_asset": {
                    "id": "a2a3cf9b-3d49-4866-bf97-4ebbb0dfb345",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-3d49-4866-bf97-4ebbb0dfb345.rm"
                },
                "cover": {
                    "id": "a2a3cf9b-41d3-4e85-bcd9-58646203f567",
                    "url": "https://via.placeholder.com/640x480.png/00ff77?text=aut"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-d10e-415f-b483-2d1e5f07956e",
                "title": "Facilis quam aliquid recusandae explicabo sint vel.",
                "media_asset": {
                    "id": "a2a3cf9b-4c45-45e5-b997-f0c5d6b4fe9e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-4c45-45e5-b997-f0c5d6b4fe9e.mxs"
                },
                "cover": {
                    "id": "a2a3cf9b-5040-47a8-9c37-6275f0a43c1b",
                    "url": "https://via.placeholder.com/640x480.png/0044cc?text=alias"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8242-44bb-becc-ab26aa446772",
                        "name": "Dance",
                        "tracks": 527697
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-d35a-495a-be1c-2c35d14f4417",
                "title": "Ut fuga dolorum fugiat qui aut qui libero.",
                "media_asset": {
                    "id": "a2a3cf9b-5971-4555-8020-f4771019343b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-5971-4555-8020-f4771019343b.vtu"
                },
                "cover": {
                    "id": "a2a3cf9b-5f42-4ecc-b334-b9918b2fe6bb",
                    "url": "https://via.placeholder.com/640x480.png/006644?text=maxime"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8242-44bb-becc-ab26aa446772",
                        "name": "Dance",
                        "tracks": 527697
                    },
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-d62a-480d-90bf-71aa5c2e660e",
                "title": "Doloribus quis accusantium magni ea iusto.",
                "media_asset": {
                    "id": "a2a3cf9b-6a7e-49a0-b508-ac0823eeb827",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-6a7e-49a0-b508-ac0823eeb827.oth"
                },
                "cover": {
                    "id": "a2a3cf9b-6f10-4627-9e9e-7c6949b1f4bc",
                    "url": "https://via.placeholder.com/640x480.png/00aadd?text=optio"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-708f-4091-9289-6f4a65c3363e",
                        "name": "Anime",
                        "tracks": 706138
                    },
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-d86b-42f4-8c10-91a62f4aff6a",
                "title": "Est illum mollitia sed ea sed fugit accusamus.",
                "media_asset": {
                    "id": "a2a3cf9b-7a1a-4cdf-8014-5c7ad4397909",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-7a1a-4cdf-8014-5c7ad4397909.potm"
                },
                "cover": {
                    "id": "a2a3cf9b-7ede-4be7-beae-ef755332ea80",
                    "url": "https://via.placeholder.com/640x480.png/0077ff?text=nihil"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    },
                    {
                        "id": "a2a3cf67-99b7-4b96-92e4-d3233e83b0a2",
                        "name": "J-Pop",
                        "tracks": 712097
                    },
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-da48-46ee-9683-803ff72c8cbf",
                "title": "Est inventore ut cum et alias voluptatem.",
                "media_asset": {
                    "id": "a2a3cf9b-8a43-4950-aad9-0626aeaf81b4",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-8a43-4950-aad9-0626aeaf81b4.uvg"
                },
                "cover": {
                    "id": "a2a3cf9b-9060-4197-ad0a-01725a15f274",
                    "url": "https://via.placeholder.com/640x480.png/003322?text=fugiat"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-dc86-4890-b7df-bd6c5cc2c668",
                "title": "Atque numquam tempora odio est fuga qui sint repellat.",
                "media_asset": {
                    "id": "a2a3cf9b-9a00-4463-9b78-b736f732e873",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-9a00-4463-9b78-b736f732e873.pyv"
                },
                "cover": {
                    "id": "a2a3cf9b-9fc1-495f-bc89-342cf4a43ff7",
                    "url": "https://via.placeholder.com/640x480.png/00bb11?text=non"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-e0d9-42aa-a7ed-b41a0dadefca",
                "title": "Est alias sequi ipsum quis est in est consequatur.",
                "media_asset": {
                    "id": "a2a3cf9b-aa1b-4269-83b3-136c8a659e71",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-aa1b-4269-83b3-136c8a659e71.pas"
                },
                "cover": {
                    "id": "a2a3cf9b-b0f3-46d4-b02e-f2aa092a4905",
                    "url": "https://via.placeholder.com/640x480.png/00ccff?text=voluptatem"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-c553-40a8-a934-8efc6f6926c0",
                        "name": "Tex-Mex",
                        "tracks": 64984
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-e458-4dbf-9633-23b281e297f0",
                "title": "Ipsam consequatur sit blanditiis quia quis.",
                "media_asset": {
                    "id": "a2a3cf9b-bded-42e3-b0aa-3b3ffa420f39",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-bded-42e3-b0aa-3b3ffa420f39.ait"
                },
                "cover": {
                    "id": "a2a3cf9b-c578-483a-b9db-a18ffe618345",
                    "url": "https://via.placeholder.com/640x480.png/0066aa?text=vero"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9c-438c-4cc0-a87a-2633c8cbc369",
                "title": "Aut vero molestiae at expedita animi.",
                "media_asset": {
                    "id": "a2a3cf9c-0145-4aa3-9818-b7143737d224",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-0145-4aa3-9818-b7143737d224.gca"
                },
                "cover": {
                    "id": "a2a3cf9c-07d5-4b3d-8a64-a885e2de049e",
                    "url": "https://via.placeholder.com/640x480.png/004400?text=quo"
                },
                "owner": {
                    "id": "a2a3cf68-87c9-423c-84eb-518850d74671",
                    "name": "Meta Bashirian",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9c-4642-407a-9b07-96215634fa68",
                "title": "In saepe blanditiis voluptatibus ut nostrum omnis.",
                "media_asset": {
                    "id": "a2a3cf9c-14f0-4675-825d-5c0ca9c4af1f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-14f0-4675-825d-5c0ca9c4af1f.std"
                },
                "cover": {
                    "id": "a2a3cf9c-1a84-4419-8f8b-b317b6ce7328",
                    "url": "https://via.placeholder.com/640x480.png/00bb11?text=expedita"
                },
                "owner": {
                    "id": "a2a3cf68-87c9-423c-84eb-518850d74671",
                    "name": "Meta Bashirian",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9c-484a-465f-ad7b-e51c017b6086",
                "title": "Sint autem voluptate inventore quo occaecati.",
                "media_asset": {
                    "id": "a2a3cf9c-2978-4f3e-8a37-c05040937bd2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-2978-4f3e-8a37-c05040937bd2.utz"
                },
                "cover": {
                    "id": "a2a3cf9c-2e4a-4590-a3c8-741dfd8e2455",
                    "url": "https://via.placeholder.com/640x480.png/002200?text=aut"
                },
                "owner": {
                    "id": "a2a3cf68-87c9-423c-84eb-518850d74671",
                    "name": "Meta Bashirian",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    },
                    {
                        "id": "a2a3cf67-c553-40a8-a934-8efc6f6926c0",
                        "name": "Tex-Mex",
                        "tracks": 64984
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9c-4a16-4ed3-83c3-3f5f6b8b925c",
                "title": "Et quisquam vero est cumque vel rerum.",
                "media_asset": {
                    "id": "a2a3cf9c-37d3-49f6-bf37-2e62bbbf4078",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-37d3-49f6-bf37-2e62bbbf4078.uoml"
                },
                "cover": {
                    "id": "a2a3cf9c-3c5b-4e35-b6fa-5a069d5912fa",
                    "url": "https://via.placeholder.com/640x480.png/0055dd?text=est"
                },
                "owner": {
                    "id": "a2a3cf68-87c9-423c-84eb-518850d74671",
                    "name": "Meta Bashirian",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-0165-4fef-9808-f62fdac89005",
                "title": "Delectus fuga et qui expedita.",
                "media_asset": {
                    "id": "a2a3cf9c-5ffa-4db3-806c-d72a8ee8e74d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-5ffa-4db3-806c-d72a8ee8e74d.odf"
                },
                "cover": {
                    "id": "a2a3cf9c-66c5-4c88-aca9-f3c801047f68",
                    "url": "https://via.placeholder.com/640x480.png/00ccbb?text=qui"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    },
                    {
                        "id": "a2a3cf67-c30e-40c5-8a42-f536dd43788e",
                        "name": "Soundtrack",
                        "tracks": 217285
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-03e1-4b2c-a5bb-ec9f6cba0b66",
                "title": "Beatae rerum distinctio vel soluta et enim assumenda.",
                "media_asset": {
                    "id": "a2a3cf9c-71b1-4e17-8e70-dcb29720157d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-71b1-4e17-8e70-dcb29720157d.fli"
                },
                "cover": {
                    "id": "a2a3cf9c-76b1-47f7-ab98-6f551d32db0a",
                    "url": "https://via.placeholder.com/640x480.png/002233?text=beatae"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-05d8-47d8-a297-2a2097b6e438",
                "title": "Qui illum consequatur rem iusto voluptatem et.",
                "media_asset": {
                    "id": "a2a3cf9c-8038-4716-9184-56f0a514a361",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-8038-4716-9184-56f0a514a361.pls"
                },
                "cover": {
                    "id": "a2a3cf9c-855f-49cc-b766-554a009faf6d",
                    "url": "https://via.placeholder.com/640x480.png/0066cc?text=asperiores"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-0747-4e28-a340-40ec37a0e7a2",
                "title": "Deserunt molestias iure impedit assumenda numquam.",
                "media_asset": {
                    "id": "a2a3cf9c-8e46-4705-9302-0b7c9122c35a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-8e46-4705-9302-0b7c9122c35a.kpr"
                },
                "cover": {
                    "id": "a2a3cf9c-935f-40d9-802e-a6dbf33b2c52",
                    "url": "https://via.placeholder.com/640x480.png/007722?text=nostrum"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-095c-4602-8e84-9651cfa7d5fa",
                "title": "Officia labore explicabo temporibus architecto ut.",
                "media_asset": {
                    "id": "a2a3cf9c-9de1-4a2d-b8d9-891817ff51d9",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-9de1-4a2d-b8d9-891817ff51d9.sxd"
                },
                "cover": {
                    "id": "a2a3cf9c-a28a-456a-9266-87d149f957e4",
                    "url": "https://via.placeholder.com/640x480.png/003355?text=est"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8fb2-4d34-93dd-3a9752ae9d11",
                        "name": "Hip-Hop",
                        "tracks": 795459
                    },
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-0adb-41a5-a2f7-acbaaba0036c",
                "title": "Voluptatem doloribus corrupti at aut natus.",
                "media_asset": {
                    "id": "a2a3cf9c-ad8e-4ee7-a6b4-eef572cb7c64",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-ad8e-4ee7-a6b4-eef572cb7c64.lbd"
                },
                "cover": {
                    "id": "a2a3cf9c-b25b-4608-8fdb-e89151c1ab6a",
                    "url": "https://via.placeholder.com/640x480.png/00aa99?text=impedit"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8041-4147-a063-4f4fafbc39a7",
                        "name": "Country",
                        "tracks": 969845
                    },
                    {
                        "id": "a2a3cf67-afbe-49db-8c6f-63fd6f50cf84",
                        "name": "Pop",
                        "tracks": 806939
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-0bca-4aec-a11d-257f80e8e4cd",
                "title": "Ut exercitationem recusandae aut ut ab quas nobis.",
                "media_asset": {
                    "id": "a2a3cf9c-bdad-4ad8-bed0-d046949b0229",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-bdad-4ad8-bed0-d046949b0229.xdp"
                },
                "cover": {
                    "id": "a2a3cf9c-c329-4e3e-a837-8db2e9307680",
                    "url": "https://via.placeholder.com/640x480.png/004455?text=ut"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    },
                    {
                        "id": "a2a3cf67-9dde-48d3-bd77-11098c8caeac",
                        "name": "K-Pop",
                        "tracks": 625883
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-0da1-4bc6-bd2d-39ac9a6e9e96",
                "title": "Distinctio incidunt debitis excepturi et tenetur.",
                "media_asset": {
                    "id": "a2a3cf9c-d016-48eb-a9fa-6dd31aaeff50",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-d016-48eb-a9fa-6dd31aaeff50.cod"
                },
                "cover": {
                    "id": "a2a3cf9c-d61d-45e2-ad23-649ad81d9f7c",
                    "url": "https://via.placeholder.com/640x480.png/006699?text=officiis"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-708f-4091-9289-6f4a65c3363e",
                        "name": "Anime",
                        "tracks": 706138
                    },
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    },
                    {
                        "id": "a2a3cf67-b8c1-47e8-9c41-f672d3a6eb4c",
                        "name": "R&B",
                        "tracks": 173357
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-0f7b-4343-aa49-8abc3f26cc87",
                "title": "Dolor accusamus neque sit voluptatum ut.",
                "media_asset": {
                    "id": "a2a3cf9c-e338-4ac9-b4b5-d3c29894defd",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-e338-4ac9-b4b5-d3c29894defd.xlam"
                },
                "cover": {
                    "id": "a2a3cf9c-ea63-42b8-82bf-b4409038f2bb",
                    "url": "https://via.placeholder.com/640x480.png/0000bb?text=est"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-acc5-4a43-bdab-f811c5e687fe",
                        "name": "Opera",
                        "tracks": 422469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-12b2-4701-873d-e8e836c7be17",
                "title": "Illo quia provident facilis fugit eligendi repellendus qui dolores.",
                "media_asset": {
                    "id": "a2a3cf9c-f5a7-4415-afd3-82a1b446effa",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-f5a7-4415-afd3-82a1b446effa.qxd"
                },
                "cover": {
                    "id": "a2a3cf9c-fa84-4292-85f2-a169c1a550bc",
                    "url": "https://via.placeholder.com/640x480.png/006600?text=consectetur"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-2de0-4c49-9e06-b702eba65cf4",
                "title": "Ut quia laboriosam est assumenda sint et expedita.",
                "media_asset": {
                    "id": "a2a3cf9d-2255-4a4c-86c0-f751bb69dddd",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-2255-4a4c-86c0-f751bb69dddd.3ds"
                },
                "cover": {
                    "id": "a2a3cf9d-2474-485c-8549-f86ee3cc911f",
                    "url": "https://via.placeholder.com/640x480.png/0033aa?text=ut"
                },
                "owner": {
                    "id": "a2a3cf68-9523-4bf4-a6fe-15e620846e03",
                    "name": "Leatha Rempel",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    },
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    },
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-2ec4-440c-b694-ebada2ffa4de",
                "title": "Et aperiam vel sit expedita.",
                "media_asset": {
                    "id": "a2a3cf9d-293a-4c41-b1a6-fa16e8cd192c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-293a-4c41-b1a6-fa16e8cd192c.woff"
                },
                "cover": {
                    "id": "a2a3cf9d-2ba8-4e6c-bd98-b008b25b3b08",
                    "url": "https://via.placeholder.com/640x480.png/004444?text=velit"
                },
                "owner": {
                    "id": "a2a3cf68-9523-4bf4-a6fe-15e620846e03",
                    "name": "Leatha Rempel",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-7f7f-4f2d-a96a-a63e6bd53424",
                "title": "Reiciendis minus qui enim vitae perspiciatis consequatur dolorem.",
                "media_asset": {
                    "id": "a2a3cf9d-38a1-41e9-83f2-90fbfa7ec002",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-38a1-41e9-83f2-90fbfa7ec002.pre"
                },
                "cover": {
                    "id": "a2a3cf9d-3c73-4aa2-be78-6f2a7e4f7fb8",
                    "url": "https://via.placeholder.com/640x480.png/0033aa?text=nam"
                },
                "owner": {
                    "id": "a2a3cf68-981d-4f1d-8872-8fdf0683f334",
                    "name": "Iva Strosin",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-708f-4091-9289-6f4a65c3363e",
                        "name": "Anime",
                        "tracks": 706138
                    },
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    },
                    {
                        "id": "a2a3cf67-c553-40a8-a934-8efc6f6926c0",
                        "name": "Tex-Mex",
                        "tracks": 64984
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-8178-4e42-acba-d15dac151438",
                "title": "Odio sit atque ipsa natus sit.",
                "media_asset": {
                    "id": "a2a3cf9d-4543-44d3-b1a3-f1af75340ec0",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-4543-44d3-b1a3-f1af75340ec0.gam"
                },
                "cover": {
                    "id": "a2a3cf9d-4925-4e81-be61-1a940d9f7aa6",
                    "url": "https://via.placeholder.com/640x480.png/007755?text=vero"
                },
                "owner": {
                    "id": "a2a3cf68-981d-4f1d-8872-8fdf0683f334",
                    "name": "Iva Strosin",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-afbe-49db-8c6f-63fd6f50cf84",
                        "name": "Pop",
                        "tracks": 806939
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-8395-409d-a3da-2f7aff49c85a",
                "title": "Laborum pariatur et non quibusdam rerum nam odit.",
                "media_asset": {
                    "id": "a2a3cf9d-516d-4e18-b23f-9ff45f58ae4b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-516d-4e18-b23f-9ff45f58ae4b.tpt"
                },
                "cover": {
                    "id": "a2a3cf9d-554b-46d4-ba13-f8f16b1a4605",
                    "url": "https://via.placeholder.com/640x480.png/0000ff?text=aspernatur"
                },
                "owner": {
                    "id": "a2a3cf68-981d-4f1d-8872-8fdf0683f334",
                    "name": "Iva Strosin",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-84ff-4caf-86bf-084a14dc0904",
                "title": "Libero qui autem tempora aut quis id dolor.",
                "media_asset": {
                    "id": "a2a3cf9d-5ae7-4377-ad47-39ee16cea91f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-5ae7-4377-ad47-39ee16cea91f.sxd"
                },
                "cover": {
                    "id": "a2a3cf9d-5e3a-447d-bc55-60512faa71a3",
                    "url": "https://via.placeholder.com/640x480.png/00aa11?text=nesciunt"
                },
                "owner": {
                    "id": "a2a3cf68-981d-4f1d-8872-8fdf0683f334",
                    "name": "Iva Strosin",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9dde-48d3-bd77-11098c8caeac",
                        "name": "K-Pop",
                        "tracks": 625883
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-8674-4c38-bc15-55c9e0044507",
                "title": "Ut maiores officia qui.",
                "media_asset": {
                    "id": "a2a3cf9d-6533-4e3c-8f6f-810e9761b3de",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-6533-4e3c-8f6f-810e9761b3de.ez2"
                },
                "cover": {
                    "id": "a2a3cf9d-687a-47a2-97eb-433925fd77ad",
                    "url": "https://via.placeholder.com/640x480.png/00dddd?text=doloribus"
                },
                "owner": {
                    "id": "a2a3cf68-981d-4f1d-8872-8fdf0683f334",
                    "name": "Iva Strosin",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-8930-4c3f-9b9b-448a45747c46",
                        "name": "Folk",
                        "tracks": 295138
                    },
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-88b8-4c69-853f-80249ba38897",
                "title": "Voluptas porro sed distinctio esse impedit.",
                "media_asset": {
                    "id": "a2a3cf9d-6e1c-4bbc-a0ff-01bb81a0eaea",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-6e1c-4bbc-a0ff-01bb81a0eaea.kne"
                },
                "cover": {
                    "id": "a2a3cf9d-7243-4c9c-8397-e415627e5eb9",
                    "url": "https://via.placeholder.com/640x480.png/00eeaa?text=ducimus"
                },
                "owner": {
                    "id": "a2a3cf68-981d-4f1d-8872-8fdf0683f334",
                    "name": "Iva Strosin",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8041-4147-a063-4f4fafbc39a7",
                        "name": "Country",
                        "tracks": 969845
                    },
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-8ae7-4efc-9b3a-43ad44640f38",
                "title": "Sed nesciunt nulla nemo inventore error libero deleniti.",
                "media_asset": {
                    "id": "a2a3cf9d-77e5-4010-a310-55107671aaa3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-77e5-4010-a310-55107671aaa3.mcurl"
                },
                "cover": {
                    "id": "a2a3cf9d-7b9b-400e-bf35-aa2aac6af41e",
                    "url": "https://via.placeholder.com/640x480.png/00bb22?text=vitae"
                },
                "owner": {
                    "id": "a2a3cf68-981d-4f1d-8872-8fdf0683f334",
                    "name": "Iva Strosin",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-0ce6-45f3-84a6-4a627c0559eb",
                "title": "Nulla autem eum autem vitae.",
                "media_asset": {
                    "id": "a2a3cf9d-a0cb-402d-b34e-afdb675b20b2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-a0cb-402d-b34e-afdb675b20b2.udeb"
                },
                "cover": {
                    "id": "a2a3cf9d-a52a-4ac0-aae4-2c3368137213",
                    "url": "https://via.placeholder.com/640x480.png/0077aa?text=aliquid"
                },
                "owner": {
                    "id": "a2a3cf68-9a32-4f9a-b987-337e3a24bf2b",
                    "name": "Yasmine Zemlak",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-0e68-4d66-9715-0c4cc88fe4e9",
                "title": "Architecto eos sit beatae velit doloribus incidunt delectus.",
                "media_asset": {
                    "id": "a2a3cf9d-ad08-4514-a21f-c180b5287ade",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-ad08-4514-a21f-c180b5287ade.wmlc"
                },
                "cover": {
                    "id": "a2a3cf9d-b30d-476e-8eb4-749a3eb01c90",
                    "url": "https://via.placeholder.com/640x480.png/00ff11?text=ducimus"
                },
                "owner": {
                    "id": "a2a3cf68-9a32-4f9a-b987-337e3a24bf2b",
                    "name": "Yasmine Zemlak",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-8242-44bb-becc-ab26aa446772",
                        "name": "Dance",
                        "tracks": 527697
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-1081-4d99-b052-b6535b729069",
                "title": "Illum necessitatibus id eveniet et est tenetur ipsa.",
                "media_asset": {
                    "id": "a2a3cf9d-bac5-45d5-bdd6-74395fccab6c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-bac5-45d5-bdd6-74395fccab6c.eot"
                },
                "cover": {
                    "id": "a2a3cf9d-beb1-4399-88fb-550f1cbd13fa",
                    "url": "https://via.placeholder.com/640x480.png/0000aa?text=qui"
                },
                "owner": {
                    "id": "a2a3cf68-9a32-4f9a-b987-337e3a24bf2b",
                    "name": "Yasmine Zemlak",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-120c-4902-ae6c-089ae5212c9a",
                "title": "Et reiciendis qui ipsum magni iure et.",
                "media_asset": {
                    "id": "a2a3cf9d-c663-4942-886d-20e57a3a756b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-c663-4942-886d-20e57a3a756b.kpxx"
                },
                "cover": {
                    "id": "a2a3cf9d-cab6-4c8d-a559-a5e92d064b88",
                    "url": "https://via.placeholder.com/640x480.png/0077cc?text=corporis"
                },
                "owner": {
                    "id": "a2a3cf68-9a32-4f9a-b987-337e3a24bf2b",
                    "name": "Yasmine Zemlak",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-1398-48de-93e2-e0d6df37e961",
                "title": "Et fuga culpa et voluptatem iusto ipsam.",
                "media_asset": {
                    "id": "a2a3cf9d-d1f5-45c5-9e2c-c053e2fec6a2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-d1f5-45c5-9e2c-c053e2fec6a2.fh7"
                },
                "cover": {
                    "id": "a2a3cf9d-d537-4868-beeb-d8f782817245",
                    "url": "https://via.placeholder.com/640x480.png/008855?text=id"
                },
                "owner": {
                    "id": "a2a3cf68-9a32-4f9a-b987-337e3a24bf2b",
                    "name": "Yasmine Zemlak",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    },
                    {
                        "id": "a2a3cf67-b8c1-47e8-9c41-f672d3a6eb4c",
                        "name": "R&B",
                        "tracks": 173357
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-15bf-411c-8a70-05f76abad549",
                "title": "Aliquid aspernatur enim culpa esse et beatae esse.",
                "media_asset": {
                    "id": "a2a3cf9d-dd28-41b5-9914-db811ca93b2f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-dd28-41b5-9914-db811ca93b2f.tex"
                },
                "cover": {
                    "id": "a2a3cf9d-e10b-4453-8be2-70c4b9f5721f",
                    "url": "https://via.placeholder.com/640x480.png/00eeee?text=qui"
                },
                "owner": {
                    "id": "a2a3cf68-9a32-4f9a-b987-337e3a24bf2b",
                    "name": "Yasmine Zemlak",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-1802-4800-944a-d95d6f168fa5",
                "title": "Et aliquam illo et sunt facere error voluptatem.",
                "media_asset": {
                    "id": "a2a3cf9d-e9d2-4176-96cd-59ffb86df243",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-e9d2-4176-96cd-59ffb86df243.png"
                },
                "cover": {
                    "id": "a2a3cf9d-edb0-4402-a875-2238eae61223",
                    "url": "https://via.placeholder.com/640x480.png/00ffbb?text=voluptatem"
                },
                "owner": {
                    "id": "a2a3cf68-9a32-4f9a-b987-337e3a24bf2b",
                    "name": "Yasmine Zemlak",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9dde-48d3-bd77-11098c8caeac",
                        "name": "K-Pop",
                        "tracks": 625883
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    },
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-1b64-4c39-a104-83ac7a05372b",
                "title": "Et quam minus fugiat tempore illum laudantium at.",
                "media_asset": {
                    "id": "a2a3cf9d-f732-45bb-8293-44017e5d3fa8",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-f732-45bb-8293-44017e5d3fa8.sgml"
                },
                "cover": {
                    "id": "a2a3cf9d-fae8-45f9-8ef4-901fa3270089",
                    "url": "https://via.placeholder.com/640x480.png/008844?text=repellendus"
                },
                "owner": {
                    "id": "a2a3cf68-9a32-4f9a-b987-337e3a24bf2b",
                    "name": "Yasmine Zemlak",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8242-44bb-becc-ab26aa446772",
                        "name": "Dance",
                        "tracks": 527697
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-1dc8-4e1c-9f67-d8d3973e1734",
                "title": "Corporis ad et voluptatibus dolorem.",
                "media_asset": {
                    "id": "a2a3cf9e-047d-4c05-a821-b9bce922aaaa",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-047d-4c05-a821-b9bce922aaaa.jsonml"
                },
                "cover": {
                    "id": "a2a3cf9e-0871-4365-bdfa-e3ab1de78eab",
                    "url": "https://via.placeholder.com/640x480.png/00cc55?text=voluptatem"
                },
                "owner": {
                    "id": "a2a3cf68-9a32-4f9a-b987-337e3a24bf2b",
                    "name": "Yasmine Zemlak",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    },
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-7f79-4dc6-add5-45aa7e52309c",
                "title": "Autem doloribus saepe maiores non quos.",
                "media_asset": {
                    "id": "a2a3cf9e-32ba-4baa-b5b8-9ebdc6f944ca",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-32ba-4baa-b5b8-9ebdc6f944ca.ppsx"
                },
                "cover": {
                    "id": "a2a3cf9e-360c-47c8-8da6-ad24d01046d0",
                    "url": "https://via.placeholder.com/640x480.png/00ddee?text=recusandae"
                },
                "owner": {
                    "id": "a2a3cf68-9db3-4de5-9269-f87a2d0ac32c",
                    "name": "Eugenia Farrell",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-8168-4008-9ba3-0690cd9cfb3c",
                "title": "Ad nulla cum sit quia eveniet deserunt.",
                "media_asset": {
                    "id": "a2a3cf9e-3a8e-4521-bcbd-fac7a830c005",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-3a8e-4521-bcbd-fac7a830c005.sldx"
                },
                "cover": {
                    "id": "a2a3cf9e-3cee-4606-ac3b-27b762efbef9",
                    "url": "https://via.placeholder.com/640x480.png/00ee66?text=voluptates"
                },
                "owner": {
                    "id": "a2a3cf68-9db3-4de5-9269-f87a2d0ac32c",
                    "name": "Eugenia Farrell",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    },
                    {
                        "id": "a2a3cf67-c30e-40c5-8a42-f536dd43788e",
                        "name": "Soundtrack",
                        "tracks": 217285
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-834e-49e6-a41b-486fb16c1d30",
                "title": "Eveniet voluptas magni odit et eaque.",
                "media_asset": {
                    "id": "a2a3cf9e-417d-410e-9ad4-2137348b8b5f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-417d-410e-9ad4-2137348b8b5f.sxm"
                },
                "cover": {
                    "id": "a2a3cf9e-44c3-430d-b8ad-a0c6045a3923",
                    "url": "https://via.placeholder.com/640x480.png/0033dd?text=distinctio"
                },
                "owner": {
                    "id": "a2a3cf68-9db3-4de5-9269-f87a2d0ac32c",
                    "name": "Eugenia Farrell",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9dde-48d3-bd77-11098c8caeac",
                        "name": "K-Pop",
                        "tracks": 625883
                    },
                    {
                        "id": "a2a3cf67-c30e-40c5-8a42-f536dd43788e",
                        "name": "Soundtrack",
                        "tracks": 217285
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-853d-4ef3-b69f-7a3fe8e9fff8",
                "title": "Ad qui ducimus est est et quibusdam recusandae.",
                "media_asset": {
                    "id": "a2a3cf9e-4a6a-4a60-a17f-d41c0e5dfd4b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-4a6a-4a60-a17f-d41c0e5dfd4b.xdm"
                },
                "cover": {
                    "id": "a2a3cf9e-4ca3-46b1-b9a5-3262add2800b",
                    "url": "https://via.placeholder.com/640x480.png/004444?text=pariatur"
                },
                "owner": {
                    "id": "a2a3cf68-9db3-4de5-9269-f87a2d0ac32c",
                    "name": "Eugenia Farrell",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-8688-4e65-bacf-472db1e1412d",
                "title": "Sint rerum inventore odit tenetur.",
                "media_asset": {
                    "id": "a2a3cf9e-5393-47df-bf7f-f1275aaf365e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-5393-47df-bf7f-f1275aaf365e.ttl"
                },
                "cover": {
                    "id": "a2a3cf9e-56fc-40f4-9c51-e878a086c9ef",
                    "url": "https://via.placeholder.com/640x480.png/0011aa?text=autem"
                },
                "owner": {
                    "id": "a2a3cf68-9db3-4de5-9269-f87a2d0ac32c",
                    "name": "Eugenia Farrell",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-8880-41d5-8483-b1e0ce7c1d51",
                "title": "Rerum est expedita quo totam consequatur iusto.",
                "media_asset": {
                    "id": "a2a3cf9e-5e6f-438e-99aa-9c03b6858635",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-5e6f-438e-99aa-9c03b6858635.npx"
                },
                "cover": {
                    "id": "a2a3cf9e-6294-4ff3-9295-d6ff00e18f07",
                    "url": "https://via.placeholder.com/640x480.png/00eedd?text=totam"
                },
                "owner": {
                    "id": "a2a3cf68-9db3-4de5-9269-f87a2d0ac32c",
                    "name": "Eugenia Farrell",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    },
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-8a0f-44e4-a455-fbdef9b71aff",
                "title": "Vel ut sit id labore dicta vel impedit veritatis.",
                "media_asset": {
                    "id": "a2a3cf9e-687c-4194-a721-644148686564",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-687c-4194-a721-644148686564.tar"
                },
                "cover": {
                    "id": "a2a3cf9e-6ac1-4482-9b26-6d19a4558120",
                    "url": "https://via.placeholder.com/640x480.png/00bb99?text=vel"
                },
                "owner": {
                    "id": "a2a3cf68-9db3-4de5-9269-f87a2d0ac32c",
                    "name": "Eugenia Farrell",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    },
                    {
                        "id": "a2a3cf67-c30e-40c5-8a42-f536dd43788e",
                        "name": "Soundtrack",
                        "tracks": 217285
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-8b5d-4619-961c-80f279340742",
                "title": "Sint iure eos rerum velit consequatur et.",
                "media_asset": {
                    "id": "a2a3cf9e-6f6c-4c58-a563-e0578d148a67",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-6f6c-4c58-a563-e0578d148a67.xls"
                },
                "cover": {
                    "id": "a2a3cf9e-719d-4a9e-90ab-c3241417644f",
                    "url": "https://via.placeholder.com/640x480.png/0055ff?text=sint"
                },
                "owner": {
                    "id": "a2a3cf68-9db3-4de5-9269-f87a2d0ac32c",
                    "name": "Eugenia Farrell",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-8d59-428d-8067-ec42d5c5dbbe",
                "title": "Possimus laborum qui atque tempora similique natus natus sequi.",
                "media_asset": {
                    "id": "a2a3cf9e-77dc-4c24-b930-49cd8481d1fd",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-77dc-4c24-b930-49cd8481d1fd.xif"
                },
                "cover": {
                    "id": "a2a3cf9e-7b9f-425e-ac11-1734cf5094c1",
                    "url": "https://via.placeholder.com/640x480.png/0011aa?text=sit"
                },
                "owner": {
                    "id": "a2a3cf68-9db3-4de5-9269-f87a2d0ac32c",
                    "name": "Eugenia Farrell",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-f2a8-420e-a186-033725e7c192",
                "title": "Blanditiis ad consequatur rerum voluptates.",
                "media_asset": {
                    "id": "a2a3cf9e-9d35-4577-929a-6ee6d4088afe",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-9d35-4577-929a-6ee6d4088afe.mets"
                },
                "cover": {
                    "id": "a2a3cf9e-9f56-45ea-902f-805f076857a6",
                    "url": "https://via.placeholder.com/640x480.png/006633?text=aut"
                },
                "owner": {
                    "id": "a2a3cf68-a233-4224-8cf2-23ae293792d0",
                    "name": "Mr. Jerald Kulas Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-f3e2-4b36-99bd-17a01a86a0c7",
                "title": "Consectetur eum et delectus ad explicabo.",
                "media_asset": {
                    "id": "a2a3cf9e-a623-497d-999b-d5b4a7dc8f8e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-a623-497d-999b-d5b4a7dc8f8e.pbm"
                },
                "cover": {
                    "id": "a2a3cf9e-aa7e-43c1-b6c4-a806203aeafb",
                    "url": "https://via.placeholder.com/640x480.png/0099dd?text=sunt"
                },
                "owner": {
                    "id": "a2a3cf68-a233-4224-8cf2-23ae293792d0",
                    "name": "Mr. Jerald Kulas Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8930-4c3f-9b9b-448a45747c46",
                        "name": "Folk",
                        "tracks": 295138
                    },
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-f521-4fd3-8afc-3769fde03da5",
                "title": "Perspiciatis laborum odio perspiciatis est quod.",
                "media_asset": {
                    "id": "a2a3cf9e-b1de-4672-bcee-72ff035898ef",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-b1de-4672-bcee-72ff035898ef.wgt"
                },
                "cover": {
                    "id": "a2a3cf9e-b562-4b7d-a255-8c2286ad55b3",
                    "url": "https://via.placeholder.com/640x480.png/0022dd?text=facilis"
                },
                "owner": {
                    "id": "a2a3cf68-a233-4224-8cf2-23ae293792d0",
                    "name": "Mr. Jerald Kulas Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-f666-4629-97e6-7099d42da1e5",
                "title": "Voluptatem dolores dolorem et omnis aut.",
                "media_asset": {
                    "id": "a2a3cf9e-bc8c-4270-92a1-150a4a2bbc5d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-bc8c-4270-92a1-150a4a2bbc5d.bz"
                },
                "cover": {
                    "id": "a2a3cf9e-c064-46f7-aa54-76d16284c913",
                    "url": "https://via.placeholder.com/640x480.png/009966?text=quia"
                },
                "owner": {
                    "id": "a2a3cf68-a233-4224-8cf2-23ae293792d0",
                    "name": "Mr. Jerald Kulas Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-f874-46cd-9c48-d3f8f48818eb",
                "title": "Repellendus provident labore dolores dolorem et.",
                "media_asset": {
                    "id": "a2a3cf9e-c8a3-414d-989d-3f87815f6256",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-c8a3-414d-989d-3f87815f6256.uvp"
                },
                "cover": {
                    "id": "a2a3cf9e-cbb5-4fdd-aa1f-9f848c9c2199",
                    "url": "https://via.placeholder.com/640x480.png/000044?text=explicabo"
                },
                "owner": {
                    "id": "a2a3cf68-a233-4224-8cf2-23ae293792d0",
                    "name": "Mr. Jerald Kulas Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-99b7-4b96-92e4-d3233e83b0a2",
                        "name": "J-Pop",
                        "tracks": 712097
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-fa58-444e-b905-5ba08a1fe619",
                "title": "Eum architecto sunt itaque illo culpa.",
                "media_asset": {
                    "id": "a2a3cf9e-d39a-4683-9408-abe093915a1d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-d39a-4683-9408-abe093915a1d.hlp"
                },
                "cover": {
                    "id": "a2a3cf9e-d7e5-4f09-bbb2-c502cb525ce2",
                    "url": "https://via.placeholder.com/640x480.png/007788?text=aut"
                },
                "owner": {
                    "id": "a2a3cf68-a233-4224-8cf2-23ae293792d0",
                    "name": "Mr. Jerald Kulas Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-b8c1-47e8-9c41-f672d3a6eb4c",
                        "name": "R&B",
                        "tracks": 173357
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-fbba-4679-935a-0cf5e3003fcc",
                "title": "Dolore facere autem quia sunt.",
                "media_asset": {
                    "id": "a2a3cf9e-e1be-4eb0-9d1e-95c1afd0ae06",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-e1be-4eb0-9d1e-95c1afd0ae06.json"
                },
                "cover": {
                    "id": "a2a3cf9e-e5bd-47f6-9a8e-cb72aa87b65d",
                    "url": "https://via.placeholder.com/640x480.png/00ccaa?text=qui"
                },
                "owner": {
                    "id": "a2a3cf68-a233-4224-8cf2-23ae293792d0",
                    "name": "Mr. Jerald Kulas Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-fd5e-4bf0-aedc-b2c7c5ac8220",
                "title": "Accusantium quam quas non itaque.",
                "media_asset": {
                    "id": "a2a3cf9e-ec88-4ce0-8cf4-c9d38aa63c87",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-ec88-4ce0-8cf4-c9d38aa63c87.der"
                },
                "cover": {
                    "id": "a2a3cf9e-f02b-45c1-843f-fd33b528c780",
                    "url": "https://via.placeholder.com/640x480.png/001155?text=dolorem"
                },
                "owner": {
                    "id": "a2a3cf68-a233-4224-8cf2-23ae293792d0",
                    "name": "Mr. Jerald Kulas Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    },
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    },
                    {
                        "id": "a2a3cf67-c30e-40c5-8a42-f536dd43788e",
                        "name": "Soundtrack",
                        "tracks": 217285
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9f-68af-4953-98ff-f6431bb3d10f",
                "title": "Autem repellendus eos ab ex corporis fugit.",
                "media_asset": {
                    "id": "a2a3cf9f-1024-4b49-9c9c-891989a7c661",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-1024-4b49-9c9c-891989a7c661.vsf"
                },
                "cover": {
                    "id": "a2a3cf9f-141d-465c-8f93-e59889e82755",
                    "url": "https://via.placeholder.com/640x480.png/0022ff?text=aut"
                },
                "owner": {
                    "id": "a2a3cf68-a47a-442c-9006-8cb80203f91b",
                    "name": "Hortense Stiedemann Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9f-6aca-4fad-9f44-b22231c462bf",
                "title": "Aspernatur fugit non quisquam quia necessitatibus qui eum.",
                "media_asset": {
                    "id": "a2a3cf9f-1f55-4bc4-abad-634a3002b7f1",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-1f55-4bc4-abad-634a3002b7f1.xwd"
                },
                "cover": {
                    "id": "a2a3cf9f-245a-4c1e-807b-0fe9efcafa5d",
                    "url": "https://via.placeholder.com/640x480.png/00cc00?text=et"
                },
                "owner": {
                    "id": "a2a3cf68-a47a-442c-9006-8cb80203f91b",
                    "name": "Hortense Stiedemann Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    },
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-ef9c-4aed-9ad1-df39c618180b",
                "title": "Ipsa eos voluptatum ut voluptas.",
                "media_asset": {
                    "id": "a2a3cfa0-8538-4b12-a5b9-82ed12db506b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa0-8538-4b12-a5b9-82ed12db506b.gdl"
                },
                "cover": {
                    "id": "a2a3cfa0-88c9-4c92-b1f4-3abd678679db",
                    "url": "https://via.placeholder.com/640x480.png/009999?text=rem"
                },
                "owner": {
                    "id": "a2a3cf68-b428-4b6c-a85a-fbc334eb23a7",
                    "name": "Jannie Beatty",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-7e49-4119-9787-7c90e5b77a3b",
                "title": "Sint repellendus laboriosam sit quia quos ut et.",
                "media_asset": {
                    "id": "a2a3cfa0-777d-4564-ae4b-e1911f437b13",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa0-777d-4564-ae4b-e1911f437b13.dpg"
                },
                "cover": {
                    "id": "a2a3cfa0-7ace-4c90-8849-e289d03cdf22",
                    "url": "https://via.placeholder.com/640x480.png/00eebb?text=distinctio"
                },
                "owner": {
                    "id": "a2a3cf68-b079-4e2b-8674-94fe67b7c4f6",
                    "name": "Green Marks",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-c30e-40c5-8a42-f536dd43788e",
                        "name": "Soundtrack",
                        "tracks": 217285
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-69bf-4a12-985a-8a86bea31d59",
                "title": "Numquam est et et quibusdam rem repellat consectetur.",
                "media_asset": {
                    "id": "a2a3cfa0-5b3b-4fa5-a4eb-8742f26d7921",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa0-5b3b-4fa5-a4eb-8742f26d7921.stc"
                },
                "cover": {
                    "id": "a2a3cfa0-6093-4b76-8390-a6edf659e8d1",
                    "url": "https://via.placeholder.com/640x480.png/009977?text=quo"
                },
                "owner": {
                    "id": "a2a3cf68-ae3f-43b7-ba09-7fb1f48f7795",
                    "name": "Prof. Floy Mann",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    },
                    {
                        "id": "a2a3cf67-8fb2-4d34-93dd-3a9752ae9d11",
                        "name": "Hip-Hop",
                        "tracks": 795459
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-688b-4568-9efc-85e0db47f905",
                "title": "Magnam rem est aut non ea consequatur vitae.",
                "media_asset": {
                    "id": "a2a3cfa0-5070-4dcb-8303-f5ac713dbe5f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa0-5070-4dcb-8303-f5ac713dbe5f.tsv"
                },
                "cover": {
                    "id": "a2a3cfa0-5406-4be3-ba58-bf5492b98612",
                    "url": "https://via.placeholder.com/640x480.png/00ffaa?text=ad"
                },
                "owner": {
                    "id": "a2a3cf68-ae3f-43b7-ba09-7fb1f48f7795",
                    "name": "Prof. Floy Mann",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    },
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-673a-408c-8b9b-bfb3d1708b54",
                "title": "Quia exercitationem deserunt quas libero.",
                "media_asset": {
                    "id": "a2a3cfa0-454f-4ef6-948a-8363411e895d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa0-454f-4ef6-948a-8363411e895d.wmz"
                },
                "cover": {
                    "id": "a2a3cfa0-4906-47e7-bc56-5d0e46dfa91a",
                    "url": "https://via.placeholder.com/640x480.png/0044dd?text=blanditiis"
                },
                "owner": {
                    "id": "a2a3cf68-ae3f-43b7-ba09-7fb1f48f7795",
                    "name": "Prof. Floy Mann",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    },
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-662e-4417-bb59-adaac997d51d",
                "title": "Enim quibusdam voluptas sit quidem.",
                "media_asset": {
                    "id": "a2a3cfa0-3a65-4500-94da-01d5c6859f63",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa0-3a65-4500-94da-01d5c6859f63.wpl"
                },
                "cover": {
                    "id": "a2a3cfa0-3e08-4356-80e4-ee9099448e38",
                    "url": "https://via.placeholder.com/640x480.png/0066cc?text=et"
                },
                "owner": {
                    "id": "a2a3cf68-ae3f-43b7-ba09-7fb1f48f7795",
                    "name": "Prof. Floy Mann",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-642a-472a-8cb5-bd03f79ae1bb",
                "title": "Neque consequatur aut est at.",
                "media_asset": {
                    "id": "a2a3cfa0-2e35-43e1-a779-b0eacdec46a3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa0-2e35-43e1-a779-b0eacdec46a3.xlf"
                },
                "cover": {
                    "id": "a2a3cfa0-31e4-4ae7-a9f9-f78f0c8379dd",
                    "url": "https://via.placeholder.com/640x480.png/008822?text=culpa"
                },
                "owner": {
                    "id": "a2a3cf68-ae3f-43b7-ba09-7fb1f48f7795",
                    "name": "Prof. Floy Mann",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-845b-44d8-b4cb-1bd4ea3b1829",
                        "name": "Electronic",
                        "tracks": 467893
                    },
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-17d8-443d-8d7b-c0d26490d8cb",
                "title": "Modi eos quidem reiciendis aut.",
                "media_asset": {
                    "id": "a2a3cf9f-ff28-4e45-861c-f2930c0a8f03",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-ff28-4e45-861c-f2930c0a8f03.for"
                },
                "cover": {
                    "id": "a2a3cfa0-032f-448c-a1d2-c1cec66027e3",
                    "url": "https://via.placeholder.com/640x480.png/009999?text=asperiores"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-14c3-4a8d-8553-1182dc38ed9e",
                "title": "Quo exercitationem velit quis dolores qui.",
                "media_asset": {
                    "id": "a2a3cf9f-f542-4655-94c3-b06460471402",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-f542-4655-94c3-b06460471402.sit"
                },
                "cover": {
                    "id": "a2a3cf9f-f875-4220-ba4c-f5e4e5ff999b",
                    "url": "https://via.placeholder.com/640x480.png/0066cc?text=laboriosam"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-125c-4d97-afb3-915d3785fa6a",
                "title": "Quisquam aut quaerat enim sapiente rerum tenetur.",
                "media_asset": {
                    "id": "a2a3cf9f-ea92-4361-9bec-3ff4a7100432",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-ea92-4361-9bec-3ff4a7100432.sfd-hdstx"
                },
                "cover": {
                    "id": "a2a3cf9f-ee1a-4651-a96f-e9adc6b490bd",
                    "url": "https://via.placeholder.com/640x480.png/00aa55?text=veritatis"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    },
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-10fe-4ac4-8062-d2e3ed64b82c",
                "title": "Numquam facilis ea et quaerat natus.",
                "media_asset": {
                    "id": "a2a3cf9f-df16-4b83-8940-d6ce90c5d5f8",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-df16-4b83-8940-d6ce90c5d5f8.rip"
                },
                "cover": {
                    "id": "a2a3cf9f-e302-4df3-8c4a-1df7fc2c6366",
                    "url": "https://via.placeholder.com/640x480.png/004477?text=fugiat"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-0da2-46cc-964a-246d8e22221e",
                "title": "Suscipit qui omnis consequatur culpa dicta ad facilis.",
                "media_asset": {
                    "id": "a2a3cf9f-c95c-4a56-84c2-3e371c88227f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-c95c-4a56-84c2-3e371c88227f.sv4cpio"
                },
                "cover": {
                    "id": "a2a3cf9f-cd6e-4df3-8f9e-0e583cb18689",
                    "url": "https://via.placeholder.com/640x480.png/0066aa?text=consequatur"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-99b7-4b96-92e4-d3233e83b0a2",
                        "name": "J-Pop",
                        "tracks": 712097
                    },
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-0f03-47a5-b45a-9ef6bd488c88",
                "title": "Alias deleniti possimus quaerat nihil voluptas quasi.",
                "media_asset": {
                    "id": "a2a3cf9f-d53f-44b5-88f4-230bc14bb86d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-d53f-44b5-88f4-230bc14bb86d.xlam"
                },
                "cover": {
                    "id": "a2a3cf9f-d84f-4105-9ae8-85d47aa9fafe",
                    "url": "https://via.placeholder.com/640x480.png/00cc33?text=doloribus"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8242-44bb-becc-ab26aa446772",
                        "name": "Dance",
                        "tracks": 527697
                    },
                    {
                        "id": "a2a3cf67-8c83-4d48-9344-2087e6b5e313",
                        "name": "Workout",
                        "tracks": 169772
                    },
                    {
                        "id": "a2a3cf67-8fb2-4d34-93dd-3a9752ae9d11",
                        "name": "Hip-Hop",
                        "tracks": 795459
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9f-6d16-4aec-ba28-64c7a47a0769",
                "title": "Vel ut voluptatem et aut sit doloremque eveniet delectus.",
                "media_asset": {
                    "id": "a2a3cf9f-2b7d-4579-8c8c-08553ec7b8b8",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-2b7d-4579-8c8c-08553ec7b8b8.tao"
                },
                "cover": {
                    "id": "a2a3cf9f-3261-4cf5-aba7-bdf7191c2686",
                    "url": "https://via.placeholder.com/640x480.png/00eecc?text=recusandae"
                },
                "owner": {
                    "id": "a2a3cf68-a47a-442c-9006-8cb80203f91b",
                    "name": "Hortense Stiedemann Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    },
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9f-6f13-471b-a52e-1f26c8189aff",
                "title": "Sed et minima quo impedit eligendi sit.",
                "media_asset": {
                    "id": "a2a3cf9f-3ad1-40cd-844d-142777dae38d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-3ad1-40cd-844d-142777dae38d.pbm"
                },
                "cover": {
                    "id": "a2a3cf9f-3e94-4540-90aa-010a71bfc1f4",
                    "url": "https://via.placeholder.com/640x480.png/0099ff?text=necessitatibus"
                },
                "owner": {
                    "id": "a2a3cf68-a47a-442c-9006-8cb80203f91b",
                    "name": "Hortense Stiedemann Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    },
                    {
                        "id": "a2a3cf67-99b7-4b96-92e4-d3233e83b0a2",
                        "name": "J-Pop",
                        "tracks": 712097
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9f-7088-4375-8d32-7e48e77ab678",
                "title": "Perspiciatis sit enim delectus consequuntur eveniet.",
                "media_asset": {
                    "id": "a2a3cf9f-4691-4753-9747-b7e5b9c1476a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-4691-4753-9747-b7e5b9c1476a.dgc"
                },
                "cover": {
                    "id": "a2a3cf9f-4a50-43ee-b495-c88b366bf072",
                    "url": "https://via.placeholder.com/640x480.png/0011ff?text=unde"
                },
                "owner": {
                    "id": "a2a3cf68-a47a-442c-9006-8cb80203f91b",
                    "name": "Hortense Stiedemann Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    },
                    {
                        "id": "a2a3cf67-acc5-4a43-bdab-f811c5e687fe",
                        "name": "Opera",
                        "tracks": 422469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9f-72a9-4a06-b258-50ae9940af90",
                "title": "Qui est sit sint aliquam labore.",
                "media_asset": {
                    "id": "a2a3cf9f-5288-46a2-af01-dba5a5b45a11",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-5288-46a2-af01-dba5a5b45a11.pfa"
                },
                "cover": {
                    "id": "a2a3cf9f-570c-4935-ba28-fe7b88f76593",
                    "url": "https://via.placeholder.com/640x480.png/000044?text=sit"
                },
                "owner": {
                    "id": "a2a3cf68-a47a-442c-9006-8cb80203f91b",
                    "name": "Hortense Stiedemann Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-6486-434d-8134-787a574cb5b5",
                        "name": "Alternative",
                        "tracks": 803288
                    },
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9f-74ab-4d68-9dc7-928d52d34bb0",
                "title": "Ullam voluptatem tempore quia et corrupti ea nesciunt unde.",
                "media_asset": {
                    "id": "a2a3cf9f-604e-4ce9-816e-f2416af587e5",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-604e-4ce9-816e-f2416af587e5.xps"
                },
                "cover": {
                    "id": "a2a3cf9f-64ea-483a-a35a-6a65512b12ab",
                    "url": "https://via.placeholder.com/640x480.png/008899?text=vel"
                },
                "owner": {
                    "id": "a2a3cf68-a47a-442c-9006-8cb80203f91b",
                    "name": "Hortense Stiedemann Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8242-44bb-becc-ab26aa446772",
                        "name": "Dance",
                        "tracks": 527697
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-0708-425c-abd5-a0436bdbb561",
                "title": "Libero corporis voluptas eum qui consequatur corporis tenetur.",
                "media_asset": {
                    "id": "a2a3cf9f-98a0-471e-bd0f-8655fe72ac81",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-98a0-471e-bd0f-8655fe72ac81.npx"
                },
                "cover": {
                    "id": "a2a3cf9f-9ccd-4e4d-bedf-4dff4649ada5",
                    "url": "https://via.placeholder.com/640x480.png/00bbdd?text=cupiditate"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9f-9152-4cbc-a781-afebf72eae72",
                "title": "Cum consectetur rerum animi ea eum hic.",
                "media_asset": {
                    "id": "a2a3cf9f-899a-413d-a928-2e99f83fca58",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-899a-413d-a928-2e99f83fca58.cpio"
                },
                "cover": {
                    "id": "a2a3cf9f-8db6-41ef-9eea-b3841998d91e",
                    "url": "https://via.placeholder.com/640x480.png/008855?text=ut"
                },
                "owner": {
                    "id": "a2a3cf68-a927-4d10-8a25-e9aad22c6f88",
                    "name": "Cora Gutkowski",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-0bbe-4460-8075-a6a46e89acbd",
                "title": "Sit rerum autem est rerum repellat.",
                "media_asset": {
                    "id": "a2a3cf9f-bb4b-4844-9b29-23e584d37ad1",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-bb4b-4844-9b29-23e584d37ad1.appcache"
                },
                "cover": {
                    "id": "a2a3cf9f-bfc7-4b46-9273-dc96a19ae537",
                    "url": "https://via.placeholder.com/640x480.png/007755?text=perspiciatis"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-0918-461c-aae3-98d257bad89b",
                "title": "Cupiditate voluptatem est est ex nihil.",
                "media_asset": {
                    "id": "a2a3cf9f-a393-45c5-80a8-642b1993e5ee",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-a393-45c5-80a8-642b1993e5ee.ram"
                },
                "cover": {
                    "id": "a2a3cf9f-a6c2-42d6-a6fe-f4a3421e1afe",
                    "url": "https://via.placeholder.com/640x480.png/00ff33?text=recusandae"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    },
                    {
                        "id": "a2a3cf67-c30e-40c5-8a42-f536dd43788e",
                        "name": "Soundtrack",
                        "tracks": 217285
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-0a6a-4f32-8733-f7c20674e5a7",
                "title": "Reiciendis similique placeat dolorem atque molestias aliquid.",
                "media_asset": {
                    "id": "a2a3cf9f-aea7-4e7e-b2e4-9eecf29bb7cb",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-aea7-4e7e-b2e4-9eecf29bb7cb.wax"
                },
                "cover": {
                    "id": "a2a3cf9f-b2f9-465c-bc35-aab4baf8f6f8",
                    "url": "https://via.placeholder.com/640x480.png/003333?text=consequuntur"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-8c83-4d48-9344-2087e6b5e313",
                        "name": "Workout",
                        "tracks": 169772
                    },
                    {
                        "id": "a2a3cf67-99b7-4b96-92e4-d3233e83b0a2",
                        "name": "J-Pop",
                        "tracks": 712097
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa1-c09a-42eb-86f8-aece012adb26",
                "title": "Aut eveniet magnam quae dolorum.",
                "media_asset": {
                    "id": "a2a3cfa1-7fb9-431f-ba14-00f5ef2c810a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa1-7fb9-431f-ba14-00f5ef2c810a.ifm"
                },
                "cover": {
                    "id": "a2a3cfa1-85e5-401a-9860-829e7632a333",
                    "url": "https://via.placeholder.com/640x480.png/0022ee?text=velit"
                },
                "owner": {
                    "id": "a2a3cf68-b59c-4593-9c4e-4306a6218389",
                    "name": "Prof. Ruby Shields",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-708f-4091-9289-6f4a65c3363e",
                        "name": "Anime",
                        "tracks": 706138
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa1-be7e-46db-87ea-f9ee48baefa0",
                "title": "Neque molestiae repellat nulla ut deserunt.",
                "media_asset": {
                    "id": "a2a3cfa1-6f13-4040-a692-84ceab33d36f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa1-6f13-4040-a692-84ceab33d36f.asx"
                },
                "cover": {
                    "id": "a2a3cfa1-73e8-47ca-8f2d-83d49345d807",
                    "url": "https://via.placeholder.com/640x480.png/00ccff?text=a"
                },
                "owner": {
                    "id": "a2a3cf68-b59c-4593-9c4e-4306a6218389",
                    "name": "Prof. Ruby Shields",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    },
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            }
        ],
        "is_editable": false
    }
}
 

requires authentication

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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 (200):

Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
x-ratelimit-limit: 300
x-ratelimit-remaining: 270
access-control-allow-origin: *
set-cookie: qplet_core_service_session=lalP79aWWFcCbl216hXilf1qOc40IybAZ1kcdyZQ; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": null,
        "name": "Recommended",
        "description": null,
        "cover": null,
        "tracks_count": 100,
        "tracks": [
            {
                "id": "a2a3d006-287c-4774-aa3b-906f2d8d17c5",
                "title": "Sed similique et omnis accusamus porro consequatur praesentium.",
                "media_asset": {
                    "id": "a2a3d005-8b1f-417c-b2ae-055496ff7d8b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d005-8b1f-417c-b2ae-055496ff7d8b.otc"
                },
                "cover": {
                    "id": "a2a3d005-9222-46bf-9eb9-47d3e6d5ae87",
                    "url": "https://via.placeholder.com/640x480.png/0011ff?text=ipsam"
                },
                "owner": {
                    "id": "a2a3cf6c-4880-4d88-b295-68907532aeca",
                    "name": "Virginie Hills",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-b8c1-47e8-9c41-f672d3a6eb4c",
                        "name": "R&B",
                        "tracks": 173357
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cffd-803d-409b-a57d-0b7b5adaa3a6",
                "title": "Quaerat nihil qui perspiciatis corrupti velit ipsa.",
                "media_asset": {
                    "id": "a2a3cffd-6bd0-4770-af47-bc10653af6ba",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cffd-6bd0-4770-af47-bc10653af6ba.ktx"
                },
                "cover": {
                    "id": "a2a3cffd-7192-4a7e-b588-175392b9c5cc",
                    "url": "https://via.placeholder.com/640x480.png/00ff33?text=maxime"
                },
                "owner": {
                    "id": "a2a3cf6b-ef3c-4fd7-88c9-3c5f3a2dae8c",
                    "name": "Prof. Ryann Zemlak IV",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    },
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfcf-9ae3-4ff2-82e7-9191e921b6f4",
                "title": "Culpa dolorum quasi tempore cupiditate.",
                "media_asset": {
                    "id": "a2a3cfcf-7e8a-4460-946b-29007d57f9e9",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfcf-7e8a-4460-946b-29007d57f9e9.icm"
                },
                "cover": {
                    "id": "a2a3cfcf-838d-4a06-84a4-5885a869b3a1",
                    "url": "https://via.placeholder.com/640x480.png/002222?text=eum"
                },
                "owner": {
                    "id": "a2a3cf6a-2b99-40f3-b7f1-53aa02e3c9d0",
                    "name": "Bethany Weimann",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d03b-62cf-4147-99cb-1e0094f6525e",
                "title": "Neque iusto sint aut quam nulla.",
                "media_asset": {
                    "id": "a2a3d03b-4cc0-49be-9629-ed4d499fdf6e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d03b-4cc0-49be-9629-ed4d499fdf6e.webp"
                },
                "cover": {
                    "id": "a2a3d03b-538c-4234-b40b-895b43224fee",
                    "url": "https://via.placeholder.com/640x480.png/00eeaa?text=est"
                },
                "owner": {
                    "id": "a2a3cf99-0700-4198-bb97-4b42dbf0f85c",
                    "name": "Estella Streich",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-120c-4902-ae6c-089ae5212c9a",
                "title": "Et reiciendis qui ipsum magni iure et.",
                "media_asset": {
                    "id": "a2a3cf9d-c663-4942-886d-20e57a3a756b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-c663-4942-886d-20e57a3a756b.kpxx"
                },
                "cover": {
                    "id": "a2a3cf9d-cab6-4c8d-a559-a5e92d064b88",
                    "url": "https://via.placeholder.com/640x480.png/0077cc?text=corporis"
                },
                "owner": {
                    "id": "a2a3cf68-9a32-4f9a-b987-337e3a24bf2b",
                    "name": "Yasmine Zemlak",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d03a-c22f-409e-a5c6-3b0454c69833",
                "title": "Fugit et quae odio saepe quas quos.",
                "media_asset": {
                    "id": "a2a3d03a-4fba-4b12-abeb-d42594356be2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d03a-4fba-4b12-abeb-d42594356be2.sig"
                },
                "cover": {
                    "id": "a2a3d03a-56fa-4b29-bd5c-4607b83ac719",
                    "url": "https://via.placeholder.com/640x480.png/003388?text=consequatur"
                },
                "owner": {
                    "id": "a2a3cf98-fc78-40b8-adbf-aed0dbcfe0ae",
                    "name": "Mrs. Bessie Wolf Jr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d014-9d74-49c1-8491-1376886cc213",
                "title": "Eveniet vero officia similique dignissimos.",
                "media_asset": {
                    "id": "a2a3d014-67a3-426e-9b88-4560f3f5a16e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d014-67a3-426e-9b88-4560f3f5a16e.f4v"
                },
                "cover": {
                    "id": "a2a3d014-6b93-47b7-8a3f-277f6c0e2738",
                    "url": "https://via.placeholder.com/640x480.png/007799?text=cum"
                },
                "owner": {
                    "id": "a2a3cf95-857c-4466-aee4-44610de6a995",
                    "name": "Annabell Hand",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-0bc5-4090-a37a-8d963361e13d",
                "title": "Neque debitis aut voluptates animi enim eum eum.",
                "media_asset": {
                    "id": "a2a3cf9a-a717-4d10-90e2-83719228d14d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9a-a717-4d10-90e2-83719228d14d.vcs"
                },
                "cover": {
                    "id": "a2a3cf9a-aeef-43c8-aa46-20e8432afa47",
                    "url": "https://via.placeholder.com/640x480.png/008855?text=saepe"
                },
                "owner": {
                    "id": "a2a3cf68-5727-4f98-893f-9dd8a06bfc02",
                    "name": "Joe Shmoe",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d01b-e9fa-46f2-8132-af75bb4d5741",
                "title": "Praesentium accusantium aut est neque quia ut.",
                "media_asset": {
                    "id": "a2a3d01b-a706-4c23-ab3a-7f44baec4899",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d01b-a706-4c23-ab3a-7f44baec4899.prc"
                },
                "cover": {
                    "id": "a2a3d01b-acdd-4156-b1ab-24c3805af902",
                    "url": "https://via.placeholder.com/640x480.png/00ffaa?text=id"
                },
                "owner": {
                    "id": "a2a3cf96-8ebd-4860-ae76-72a08fd00dc1",
                    "name": "Easter Renner",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-6486-434d-8134-787a574cb5b5",
                        "name": "Alternative",
                        "tracks": 803288
                    },
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    },
                    {
                        "id": "a2a3cf67-b8c1-47e8-9c41-f672d3a6eb4c",
                        "name": "R&B",
                        "tracks": 173357
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfb7-61c6-411f-a571-6c4f5c88befd",
                "title": "Sit incidunt eligendi velit odio.",
                "media_asset": {
                    "id": "a2a3cfb7-33c3-4922-8962-eccd6f01f482",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfb7-33c3-4922-8962-eccd6f01f482.yang"
                },
                "cover": {
                    "id": "a2a3cfb7-37d2-43c5-bb3c-005cc396f1c4",
                    "url": "https://via.placeholder.com/640x480.png/00dd77?text=dicta"
                },
                "owner": {
                    "id": "a2a3cf69-5b2e-4e7c-810f-f0ea6cd486e8",
                    "name": "Dr. Sabryna O'Kon",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8930-4c3f-9b9b-448a45747c46",
                        "name": "Folk",
                        "tracks": 295138
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9e-f3e2-4b36-99bd-17a01a86a0c7",
                "title": "Consectetur eum et delectus ad explicabo.",
                "media_asset": {
                    "id": "a2a3cf9e-a623-497d-999b-d5b4a7dc8f8e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9e-a623-497d-999b-d5b4a7dc8f8e.pbm"
                },
                "cover": {
                    "id": "a2a3cf9e-aa7e-43c1-b6c4-a806203aeafb",
                    "url": "https://via.placeholder.com/640x480.png/0099dd?text=sunt"
                },
                "owner": {
                    "id": "a2a3cf68-a233-4224-8cf2-23ae293792d0",
                    "name": "Mr. Jerald Kulas Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8930-4c3f-9b9b-448a45747c46",
                        "name": "Folk",
                        "tracks": 295138
                    },
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfb9-0f60-4a92-b3cb-224835507b66",
                "title": "Consequuntur aut laboriosam aut officia quasi omnis.",
                "media_asset": {
                    "id": "a2a3cfb8-aced-4fab-aaca-683c101c1dfe",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfb8-aced-4fab-aaca-683c101c1dfe.tga"
                },
                "cover": {
                    "id": "a2a3cfb8-b152-44c9-bebd-bce49dc96f49",
                    "url": "https://via.placeholder.com/640x480.png/00aa44?text=velit"
                },
                "owner": {
                    "id": "a2a3cf69-70c5-427b-a353-6b707c476e5e",
                    "name": "Keagan Hammes DDS",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfe6-4195-4bab-9569-23ed6bbcdff2",
                "title": "Accusamus sit qui sint excepturi labore voluptas vel voluptatem.",
                "media_asset": {
                    "id": "a2a3cfe6-0ac0-412d-b8c1-2d9a0508219e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfe6-0ac0-412d-b8c1-2d9a0508219e.sldm"
                },
                "cover": {
                    "id": "a2a3cfe6-0e0e-48ca-8476-a687b2ae7211",
                    "url": "https://via.placeholder.com/640x480.png/007788?text=officia"
                },
                "owner": {
                    "id": "a2a3cf6a-d657-4214-9683-7b0b94af3b34",
                    "name": "Juana Rutherford",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-afbe-49db-8c6f-63fd6f50cf84",
                        "name": "Pop",
                        "tracks": 806939
                    },
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfb6-7266-4022-b9ae-4aff77a11243",
                "title": "Repellat quo expedita voluptatibus est iste at.",
                "media_asset": {
                    "id": "a2a3cfb6-66d3-4964-86d6-c07331b71962",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfb6-66d3-4964-86d6-c07331b71962.hlp"
                },
                "cover": {
                    "id": "a2a3cfb6-69db-40a2-8017-de1b51b3c92d",
                    "url": "https://via.placeholder.com/640x480.png/005555?text=fugit"
                },
                "owner": {
                    "id": "a2a3cf69-53a5-4b5a-b272-6ac066b0cc79",
                    "name": "Valentin Leannon",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d021-3efe-4041-a8bf-4dcf3d9610ca",
                "title": "Ex tenetur praesentium dolores sed omnis suscipit.",
                "media_asset": {
                    "id": "a2a3d020-ffcb-4248-8eb0-8c5418052ee4",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d020-ffcb-4248-8eb0-8c5418052ee4.gif"
                },
                "cover": {
                    "id": "a2a3d021-073b-4eda-8968-d626c3d29816",
                    "url": "https://via.placeholder.com/640x480.png/00eecc?text=culpa"
                },
                "owner": {
                    "id": "a2a3cf96-d993-48bb-a6cd-7d803ae8da6e",
                    "name": "Dandre Corkery",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    },
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d02b-213d-4b9b-90c6-54cfb414d2c3",
                "title": "Veniam praesentium facere aut et.",
                "media_asset": {
                    "id": "a2a3d02a-7f0c-4f14-b112-777ad8502427",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d02a-7f0c-4f14-b112-777ad8502427.docx"
                },
                "cover": {
                    "id": "a2a3d02a-843c-4356-84d6-429112eb62c7",
                    "url": "https://via.placeholder.com/640x480.png/00dd77?text=in"
                },
                "owner": {
                    "id": "a2a3cf97-e68b-4d7a-9ad8-acb02da01213",
                    "name": "Dr. Jaime Gulgowski PhD",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8930-4c3f-9b9b-448a45747c46",
                        "name": "Folk",
                        "tracks": 295138
                    },
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    },
                    {
                        "id": "a2a3cf67-acc5-4a43-bdab-f811c5e687fe",
                        "name": "Opera",
                        "tracks": 422469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfb9-d1a3-4775-a355-0a01cae4d431",
                "title": "Praesentium aut harum est impedit dolorem qui est consequatur.",
                "media_asset": {
                    "id": "a2a3cfb9-98d7-464e-9d9d-cbf16bce25d3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfb9-98d7-464e-9d9d-cbf16bce25d3.fly"
                },
                "cover": {
                    "id": "a2a3cfb9-9d79-4bb0-a8ad-0a5963504096",
                    "url": "https://via.placeholder.com/640x480.png/00ff55?text=odit"
                },
                "owner": {
                    "id": "a2a3cf69-73fa-436e-8e4c-93b0d7b7ded0",
                    "name": "Raoul Little",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d013-fab1-4b86-aa52-906bda39565d",
                "title": "Dolor est natus omnis sit dignissimos iure.",
                "media_asset": {
                    "id": "a2a3d013-a84b-4926-9b37-c1d1b3f7ec31",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d013-a84b-4926-9b37-c1d1b3f7ec31.wmv"
                },
                "cover": {
                    "id": "a2a3d013-ad47-41b9-b684-324f6f8a384c",
                    "url": "https://via.placeholder.com/640x480.png/005533?text=est"
                },
                "owner": {
                    "id": "a2a3cf95-82e4-487d-a464-ca0365d21c05",
                    "name": "Lorenza Kub",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-0708-425c-abd5-a0436bdbb561",
                "title": "Libero corporis voluptas eum qui consequatur corporis tenetur.",
                "media_asset": {
                    "id": "a2a3cf9f-98a0-471e-bd0f-8655fe72ac81",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-98a0-471e-bd0f-8655fe72ac81.npx"
                },
                "cover": {
                    "id": "a2a3cf9f-9ccd-4e4d-bedf-4dff4649ada5",
                    "url": "https://via.placeholder.com/640x480.png/00bbdd?text=cupiditate"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d025-df41-4676-9bc0-0ea3e8bc3e36",
                "title": "Ut nostrum hic enim earum cupiditate.",
                "media_asset": {
                    "id": "a2a3d025-9c85-45c6-a890-3b1ac0d2d6b6",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d025-9c85-45c6-a890-3b1ac0d2d6b6.m13"
                },
                "cover": {
                    "id": "a2a3d025-a4ce-4149-99af-bbb69370a3e6",
                    "url": "https://via.placeholder.com/640x480.png/0022aa?text=non"
                },
                "owner": {
                    "id": "a2a3cf96-f6b6-4184-9684-771b7f0c082f",
                    "name": "Ms. Carmela Bogisich",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9dde-48d3-bd77-11098c8caeac",
                        "name": "K-Pop",
                        "tracks": 625883
                    },
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    },
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-f1b3-4cfd-8ef1-159fa463ffa4",
                "title": "Saepe quos consequatur quia cumque fuga aut velit.",
                "media_asset": {
                    "id": "a2a3cfa0-908d-4ff3-8a37-ec7a8171094a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa0-908d-4ff3-8a37-ec7a8171094a.lbd"
                },
                "cover": {
                    "id": "a2a3cfa0-949d-4c74-8a39-d2e7fe88489b",
                    "url": "https://via.placeholder.com/640x480.png/00ffff?text=omnis"
                },
                "owner": {
                    "id": "a2a3cf68-b428-4b6c-a85a-fbc334eb23a7",
                    "name": "Jannie Beatty",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-acc5-4a43-bdab-f811c5e687fe",
                        "name": "Opera",
                        "tracks": 422469
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d01f-fb64-40b1-b721-05069d9f773f",
                "title": "Occaecati quia rerum aut vero nesciunt ratione.",
                "media_asset": {
                    "id": "a2a3d01f-5a4e-4c36-8a24-e07cd84a646b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d01f-5a4e-4c36-8a24-e07cd84a646b.3g2"
                },
                "cover": {
                    "id": "a2a3d01f-5f6d-4017-854a-3f64060289ad",
                    "url": "https://via.placeholder.com/640x480.png/002211?text=cupiditate"
                },
                "owner": {
                    "id": "a2a3cf96-bcda-4dd5-a733-21f15a778a7d",
                    "name": "Delilah Dare PhD",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8c83-4d48-9344-2087e6b5e313",
                        "name": "Workout",
                        "tracks": 169772
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa7-dfeb-4546-b341-f7230b32077f",
                "title": "Expedita consectetur et aut fuga impedit consequuntur.",
                "media_asset": {
                    "id": "a2a3cfa7-64d3-40fd-b1d3-5dfb529e348c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa7-64d3-40fd-b1d3-5dfb529e348c.flw"
                },
                "cover": {
                    "id": "a2a3cfa7-6a0c-4db7-ad7b-ec961d22c839",
                    "url": "https://via.placeholder.com/640x480.png/008899?text=non"
                },
                "owner": {
                    "id": "a2a3cf68-e059-4941-9002-2c4e85094d69",
                    "name": "Jaydon Macejkovic",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d015-009f-493b-9542-eb72162c9dee",
                "title": "Autem labore rem illo dolores quo id nisi.",
                "media_asset": {
                    "id": "a2a3d014-ee04-411d-8b65-d239adf136c2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d014-ee04-411d-8b65-d239adf136c2.flw"
                },
                "cover": {
                    "id": "a2a3d014-f423-4d13-839b-bd6a4c418dce",
                    "url": "https://via.placeholder.com/640x480.png/00dd11?text=tenetur"
                },
                "owner": {
                    "id": "a2a3cf95-92a0-4808-84e4-299fe6524fc2",
                    "name": "Neal Wuckert I",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-99b7-4b96-92e4-d3233e83b0a2",
                        "name": "J-Pop",
                        "tracks": 712097
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfdf-29c5-45c8-bad2-9cc55a7ebb62",
                "title": "Hic consequatur fugiat libero dolorem aut voluptatem reiciendis dolorum.",
                "media_asset": {
                    "id": "a2a3cfde-ecca-436d-8825-979402479148",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfde-ecca-436d-8825-979402479148.vsd"
                },
                "cover": {
                    "id": "a2a3cfde-f829-4752-a080-5c264b7d6a92",
                    "url": "https://via.placeholder.com/640x480.png/004400?text=voluptas"
                },
                "owner": {
                    "id": "a2a3cf6a-7cee-48ce-abac-6ef6d2caab01",
                    "name": "Jefferey Marks",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    },
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2c8d-47f4-9992-97ae4f0f02d9",
                "title": "Alias in consequatur quia autem non aspernatur labore.",
                "media_asset": {
                    "id": "a2a3d042-9691-4fed-9cb1-440197fd1b49",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-9691-4fed-9cb1-440197fd1b49.sfv"
                },
                "cover": {
                    "id": "a2a3d042-9ab5-4f06-8c56-af499afe6334",
                    "url": "https://via.placeholder.com/640x480.png/002255?text=ab"
                },
                "owner": {
                    "id": "a2a3d042-9047-4a93-8e5b-6125738f8cd1",
                    "name": "Susanna Roob",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cff1-b007-4799-af05-a375b1bf440f",
                "title": "Rerum assumenda earum qui atque.",
                "media_asset": {
                    "id": "a2a3cff1-347b-45da-9d55-95854ad8b759",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cff1-347b-45da-9d55-95854ad8b759.wvx"
                },
                "cover": {
                    "id": "a2a3cff1-3b77-4290-9c82-74cce983f8c1",
                    "url": "https://via.placeholder.com/640x480.png/00aacc?text=ab"
                },
                "owner": {
                    "id": "a2a3cf6b-5539-4ff7-a5bf-996046df76e3",
                    "name": "Dave Doyle",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d003-d09b-4b45-86a6-51b88e7c595b",
                "title": "Sed sequi et blanditiis iste consequatur.",
                "media_asset": {
                    "id": "a2a3d003-7c9f-4178-9f1e-acf3d45ab7fb",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d003-7c9f-4178-9f1e-acf3d45ab7fb.au"
                },
                "cover": {
                    "id": "a2a3d003-82e1-4dd5-ba54-a6f96253b907",
                    "url": "https://via.placeholder.com/640x480.png/008899?text=suscipit"
                },
                "owner": {
                    "id": "a2a3cf6c-319f-43d8-98d3-238c8e521fd1",
                    "name": "Sylvia Windler",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d01e-0d87-457d-8817-b75d4efc86e0",
                "title": "Nisi et inventore qui dolores.",
                "media_asset": {
                    "id": "a2a3d01d-b4f7-4549-afa0-924a47e57e49",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d01d-b4f7-4549-afa0-924a47e57e49.3gp"
                },
                "cover": {
                    "id": "a2a3d01d-b993-42db-bceb-4df48c2fd7c9",
                    "url": "https://via.placeholder.com/640x480.png/00ff33?text=odit"
                },
                "owner": {
                    "id": "a2a3cf96-ac1a-499f-badc-011c504ae485",
                    "name": "Lonnie Harvey",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8041-4147-a063-4f4fafbc39a7",
                        "name": "Country",
                        "tracks": 969845
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfdb-8424-4af1-9eee-97680ccd6974",
                "title": "Impedit porro dignissimos tempore illo natus pariatur.",
                "media_asset": {
                    "id": "a2a3cfdb-327e-4624-ac01-96ecf0abd185",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfdb-327e-4624-ac01-96ecf0abd185.3dml"
                },
                "cover": {
                    "id": "a2a3cfdb-37d0-4ec9-8ef0-31890cf4fcad",
                    "url": "https://via.placeholder.com/640x480.png/0000dd?text=consequuntur"
                },
                "owner": {
                    "id": "a2a3cf6a-6fa2-49c7-a7c8-41a294e205e5",
                    "name": "Cristian Balistreri",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8c83-4d48-9344-2087e6b5e313",
                        "name": "Workout",
                        "tracks": 169772
                    },
                    {
                        "id": "a2a3cf67-afbe-49db-8c6f-63fd6f50cf84",
                        "name": "Pop",
                        "tracks": 806939
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfe1-20b2-4b25-a9b6-d4c65753a3f8",
                "title": "Aut officiis sit voluptas nostrum sunt facilis maxime.",
                "media_asset": {
                    "id": "a2a3cfe0-ff17-48ba-84fb-ac92ba749df5",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfe0-ff17-48ba-84fb-ac92ba749df5.sfv"
                },
                "cover": {
                    "id": "a2a3cfe1-0509-4324-af2b-73ce18b0bb3d",
                    "url": "https://via.placeholder.com/640x480.png/00dd77?text=sit"
                },
                "owner": {
                    "id": "a2a3cf6a-8d45-4e39-bd50-e45c1d97ed02",
                    "name": "Brett Wisozk",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-845b-44d8-b4cb-1bd4ea3b1829",
                        "name": "Electronic",
                        "tracks": 467893
                    },
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d03e-b45f-43f6-b80c-9e8c29d059aa",
                "title": "Veritatis nam neque nemo dolor at expedita.",
                "media_asset": {
                    "id": "a2a3d03e-73bf-40c4-ab72-f67217379b0b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d03e-73bf-40c4-ab72-f67217379b0b.yang"
                },
                "cover": {
                    "id": "a2a3d03e-7636-4398-a26c-ce27f4f0289c",
                    "url": "https://via.placeholder.com/640x480.png/00ffee?text=et"
                },
                "owner": {
                    "id": "a2a3cf9a-0021-4229-b3dc-afe686dce07c",
                    "name": "Jaycee Collier Sr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-8c83-4d48-9344-2087e6b5e313",
                        "name": "Workout",
                        "tracks": 169772
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d02d-c276-4bec-93de-4f7ce458e6cf",
                "title": "Quaerat iste et maiores alias facilis aperiam.",
                "media_asset": {
                    "id": "a2a3d02d-a3f3-436b-b506-c456439e1c29",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d02d-a3f3-436b-b506-c456439e1c29.pki"
                },
                "cover": {
                    "id": "a2a3d02d-aa81-4c30-92fa-89152ff6ef9c",
                    "url": "https://via.placeholder.com/640x480.png/003377?text=et"
                },
                "owner": {
                    "id": "a2a3cf97-ffe0-421c-93c9-f4cb6239a64d",
                    "name": "Mitchell Heaney III",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    },
                    {
                        "id": "a2a3cf67-9dde-48d3-bd77-11098c8caeac",
                        "name": "K-Pop",
                        "tracks": 625883
                    },
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfb9-cac8-423c-8e40-6ff75cee16e3",
                "title": "Aut nihil sed aut nemo rerum doloremque laboriosam.",
                "media_asset": {
                    "id": "a2a3cfb9-686b-49d3-ba72-7b0d5c81652e",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfb9-686b-49d3-ba72-7b0d5c81652e.wmlsc"
                },
                "cover": {
                    "id": "a2a3cfb9-6cda-4aba-8464-e00b9856c21a",
                    "url": "https://via.placeholder.com/640x480.png/00dd88?text=minus"
                },
                "owner": {
                    "id": "a2a3cf69-73fa-436e-8e4c-93b0d7b7ded0",
                    "name": "Raoul Little",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfec-8412-4333-996a-7be791f11ca6",
                "title": "Perferendis vel eveniet nihil quis.",
                "media_asset": {
                    "id": "a2a3cfec-4a57-4525-8d44-686cdb477363",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfec-4a57-4525-8d44-686cdb477363.gif"
                },
                "cover": {
                    "id": "a2a3cfec-4ebf-4172-806f-96d9c23b5bc6",
                    "url": "https://via.placeholder.com/640x480.png/001188?text=maxime"
                },
                "owner": {
                    "id": "a2a3cf6b-18ef-425a-b35b-02e29cec375a",
                    "name": "Liam Nicolas",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    },
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d021-ad9e-4def-b417-27216a644d8d",
                "title": "Ullam rem quis amet molestiae.",
                "media_asset": {
                    "id": "a2a3d021-7b35-4708-b72a-bff6920d2ab7",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d021-7b35-4708-b72a-bff6920d2ab7.potx"
                },
                "cover": {
                    "id": "a2a3d021-8067-4cd5-abbf-f005631955b0",
                    "url": "https://via.placeholder.com/640x480.png/009988?text=a"
                },
                "owner": {
                    "id": "a2a3cf96-dbd5-4785-9488-2eac1e7a072b",
                    "name": "Krystel Eichmann",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cff1-bdf5-4d6a-8709-abf199f5d4fa",
                "title": "Qui laboriosam repudiandae iusto explicabo voluptatem enim voluptas.",
                "media_asset": {
                    "id": "a2a3cff1-9d14-473a-bd56-266790077640",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cff1-9d14-473a-bd56-266790077640.pptm"
                },
                "cover": {
                    "id": "a2a3cff1-a3c2-466a-bc62-a70f653d65a3",
                    "url": "https://via.placeholder.com/640x480.png/007711?text=ex"
                },
                "owner": {
                    "id": "a2a3cf6b-5539-4ff7-a5bf-996046df76e3",
                    "name": "Dave Doyle",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-99b7-4b96-92e4-d3233e83b0a2",
                        "name": "J-Pop",
                        "tracks": 712097
                    },
                    {
                        "id": "a2a3cf67-b8c1-47e8-9c41-f672d3a6eb4c",
                        "name": "R&B",
                        "tracks": 173357
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfea-9ab5-45a8-98de-e9c1e26dd2b3",
                "title": "A sint voluptatem porro laborum.",
                "media_asset": {
                    "id": "a2a3cfea-6b6f-44b6-ad9c-fbfa632a88db",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfea-6b6f-44b6-ad9c-fbfa632a88db.rtx"
                },
                "cover": {
                    "id": "a2a3cfea-70c7-4f42-9827-7f62133350f0",
                    "url": "https://via.placeholder.com/640x480.png/00ff99?text=itaque"
                },
                "owner": {
                    "id": "a2a3cf6b-0d17-43c8-9fcb-2b759cf506d4",
                    "name": "Vicenta Conn II",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d021-a682-4f75-be5b-1c0adcbeb45a",
                "title": "Distinctio pariatur est nisi accusamus ullam.",
                "media_asset": {
                    "id": "a2a3d021-5e34-4bf1-a1e5-a376e7a52dc2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d021-5e34-4bf1-a1e5-a376e7a52dc2.obd"
                },
                "cover": {
                    "id": "a2a3d021-62f1-497b-86eb-fbe532142274",
                    "url": "https://via.placeholder.com/640x480.png/00bb88?text=fugiat"
                },
                "owner": {
                    "id": "a2a3cf96-dbd5-4785-9488-2eac1e7a072b",
                    "name": "Krystel Eichmann",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-708f-4091-9289-6f4a65c3363e",
                        "name": "Anime",
                        "tracks": 706138
                    },
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfb3-a855-4f0b-8d6b-fadce04552d6",
                "title": "Suscipit a ipsa delectus vel omnis rem rem.",
                "media_asset": {
                    "id": "a2a3cfb3-42b4-4773-9037-39d8648e6616",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfb3-42b4-4773-9037-39d8648e6616.tcl"
                },
                "cover": {
                    "id": "a2a3cfb3-4868-4e6a-8255-ec6ddba19721",
                    "url": "https://via.placeholder.com/640x480.png/00bb99?text=fuga"
                },
                "owner": {
                    "id": "a2a3cf69-2a34-43ba-86ef-93c48c955e0f",
                    "name": "Aditya Little",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-845b-44d8-b4cb-1bd4ea3b1829",
                        "name": "Electronic",
                        "tracks": 467893
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfc4-eaa3-4192-a55f-335200b2805b",
                "title": "Necessitatibus libero sed perspiciatis.",
                "media_asset": {
                    "id": "a2a3cfc4-8394-4fa8-9025-35ded45f4069",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfc4-8394-4fa8-9025-35ded45f4069.knp"
                },
                "cover": {
                    "id": "a2a3cfc4-8a61-4995-a147-31b1af19f455",
                    "url": "https://via.placeholder.com/640x480.png/001188?text=non"
                },
                "owner": {
                    "id": "a2a3cf69-d2d2-4fb1-95f8-b955e5e9a72c",
                    "name": "Tyrell Swaniawski",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    },
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfc6-72b1-41ac-af3e-092cf00e4a27",
                "title": "Laboriosam eum ex animi ratione.",
                "media_asset": {
                    "id": "a2a3cfc6-1c4a-46cc-8072-7390d44abfaa",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfc6-1c4a-46cc-8072-7390d44abfaa.btif"
                },
                "cover": {
                    "id": "a2a3cfc6-20d4-4b4e-863a-d9e7eeeb699f",
                    "url": "https://via.placeholder.com/640x480.png/0044ee?text=ut"
                },
                "owner": {
                    "id": "a2a3cf69-d84d-465d-8b45-03c7594de74f",
                    "name": "Jermain Bauch",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    },
                    {
                        "id": "a2a3cf67-b8c1-47e8-9c41-f672d3a6eb4c",
                        "name": "R&B",
                        "tracks": 173357
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfc7-c9eb-44ab-b23e-b7d1945d3c26",
                "title": "Eos omnis deleniti quasi.",
                "media_asset": {
                    "id": "a2a3cfc7-a756-4603-9f11-8d9a825b34a4",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfc7-a756-4603-9f11-8d9a825b34a4.pdf"
                },
                "cover": {
                    "id": "a2a3cfc7-ac3a-47be-bcf3-5947b45a7070",
                    "url": "https://via.placeholder.com/640x480.png/005511?text=eos"
                },
                "owner": {
                    "id": "a2a3cf69-e69e-45ac-9d12-5840754d3c5d",
                    "name": "Tania Green",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-99b7-4b96-92e4-d3233e83b0a2",
                        "name": "J-Pop",
                        "tracks": 712097
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d050-9ada-4049-8634-e40ea5436df5",
                "title": "Quia nisi optio est vel.",
                "media_asset": {
                    "id": "a2a3d04f-b03c-4594-9d44-ea8bdb84b04b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04f-b03c-4594-9d44-ea8bdb84b04b.obj"
                },
                "cover": {
                    "id": "a2a3d04f-b52c-4c5c-825c-75d701266722",
                    "url": "https://via.placeholder.com/640x480.png/003300?text=et"
                },
                "owner": {
                    "id": "a2a3d04f-ab27-444e-a92f-63e00b43e3a4",
                    "name": "Raven Nikolaus Jr.",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d03c-a961-4977-acbf-b765e11b6eb1",
                "title": "Et vero est natus est in tempora.",
                "media_asset": {
                    "id": "a2a3d03c-46f9-4558-878f-9734eb400163",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d03c-46f9-4558-878f-9734eb400163.mp4a"
                },
                "cover": {
                    "id": "a2a3d03c-4c06-417d-8849-0e0c41e903fd",
                    "url": "https://via.placeholder.com/640x480.png/0033ff?text=in"
                },
                "owner": {
                    "id": "a2a3cf99-0c41-40e6-9483-928d03322dad",
                    "name": "Sylvan Toy",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    },
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    },
                    {
                        "id": "a2a3cf67-c553-40a8-a934-8efc6f6926c0",
                        "name": "Tex-Mex",
                        "tracks": 64984
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d033-6ab6-47f2-a049-c740982a08e3",
                "title": "Voluptatem ea quas pariatur consectetur minus non.",
                "media_asset": {
                    "id": "a2a3d033-2d08-48c2-a3e6-c4d9d4e85744",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d033-2d08-48c2-a3e6-c4d9d4e85744.wmz"
                },
                "cover": {
                    "id": "a2a3d033-330a-4169-bfa0-9aef1de97496",
                    "url": "https://via.placeholder.com/640x480.png/0077dd?text=aperiam"
                },
                "owner": {
                    "id": "a2a3cf98-b9e3-42fe-b875-074a4eaca687",
                    "name": "Lawrence Tillman",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-6486-434d-8134-787a574cb5b5",
                        "name": "Alternative",
                        "tracks": 803288
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d039-dcd3-4225-b615-49f1107eda3f",
                "title": "Sint aut porro necessitatibus delectus nisi maiores.",
                "media_asset": {
                    "id": "a2a3d039-4a9e-48f3-a118-b3a8b5e29440",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d039-4a9e-48f3-a118-b3a8b5e29440.knp"
                },
                "cover": {
                    "id": "a2a3d039-512a-4228-8111-c90a147bdc91",
                    "url": "https://via.placeholder.com/640x480.png/003399?text=facere"
                },
                "owner": {
                    "id": "a2a3cf98-f98c-4a45-9304-d855a42abfa1",
                    "name": "Chyna Lang III",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfad-9c54-4d67-8cc7-a12f83ceaf52",
                "title": "Aut quos quae dolorem nam dolores labore cumque.",
                "media_asset": {
                    "id": "a2a3cfad-6f99-412a-a1d7-a8fa1aca1648",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfad-6f99-412a-a1d7-a8fa1aca1648.ktx"
                },
                "cover": {
                    "id": "a2a3cfad-769b-4157-a895-242369e35c60",
                    "url": "https://via.placeholder.com/640x480.png/00aa66?text=quibusdam"
                },
                "owner": {
                    "id": "a2a3cf68-f719-4722-a511-f1b68a661168",
                    "name": "Dominique Wunsch",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d013-8cf3-43ae-a54f-4ca27484eac2",
                "title": "Debitis quasi quae vitae vel natus harum ratione dolor.",
                "media_asset": {
                    "id": "a2a3d013-40db-4fce-a27f-9c72962358a9",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d013-40db-4fce-a27f-9c72962358a9.xz"
                },
                "cover": {
                    "id": "a2a3d013-4545-4cb8-ab2e-58306052e54d",
                    "url": "https://via.placeholder.com/640x480.png/0033dd?text=tempora"
                },
                "owner": {
                    "id": "a2a3cf95-7e4e-46b4-b799-a8a41a64cc66",
                    "name": "Rahsaan Howell",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfc8-2cdf-498e-8170-47e68d6a5def",
                "title": "Fugiat minus perferendis et culpa rerum.",
                "media_asset": {
                    "id": "a2a3cfc8-227d-4121-b13d-302af96e70eb",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfc8-227d-4121-b13d-302af96e70eb.nsf"
                },
                "cover": {
                    "id": "a2a3cfc8-276f-457f-a02a-f90a37614fd1",
                    "url": "https://via.placeholder.com/640x480.png/0066aa?text=minus"
                },
                "owner": {
                    "id": "a2a3cf69-f1aa-4204-91f8-90d33041f34a",
                    "name": "Jimmie Bailey",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    },
                    {
                        "id": "a2a3cf67-c553-40a8-a934-8efc6f6926c0",
                        "name": "Tex-Mex",
                        "tracks": 64984
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfe2-06eb-445a-a061-8b61467641ba",
                "title": "Molestiae mollitia assumenda eos minima fugiat culpa sed.",
                "media_asset": {
                    "id": "a2a3cfe1-b701-4078-9f3a-93faf2a0077b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfe1-b701-4078-9f3a-93faf2a0077b.gdl"
                },
                "cover": {
                    "id": "a2a3cfe1-ba31-4637-bcf7-c4e651a1732b",
                    "url": "https://via.placeholder.com/640x480.png/00bb77?text=est"
                },
                "owner": {
                    "id": "a2a3cf6a-9034-4bf5-b2df-3dbeb71efa34",
                    "name": "Corene Ziemann",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-845b-44d8-b4cb-1bd4ea3b1829",
                        "name": "Electronic",
                        "tracks": 467893
                    },
                    {
                        "id": "a2a3cf67-9dde-48d3-bd77-11098c8caeac",
                        "name": "K-Pop",
                        "tracks": 625883
                    },
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d037-df28-4084-b715-b930bb8f60eb",
                "title": "Sint nulla omnis dolores aut consectetur ad natus explicabo.",
                "media_asset": {
                    "id": "a2a3d037-51d2-41ac-ae4e-65ae8aa7b9d2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d037-51d2-41ac-ae4e-65ae8aa7b9d2.mpt"
                },
                "cover": {
                    "id": "a2a3d037-572c-4481-9dc5-4a7728f0df56",
                    "url": "https://via.placeholder.com/640x480.png/0011cc?text=possimus"
                },
                "owner": {
                    "id": "a2a3cf98-e0cf-4197-9b81-a2d139dfdf50",
                    "name": "Titus Davis",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-8041-4147-a063-4f4fafbc39a7",
                        "name": "Country",
                        "tracks": 969845
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d03c-aaaa-42ab-9c2c-d3de2a00f9af",
                "title": "Voluptatem ullam repellat totam.",
                "media_asset": {
                    "id": "a2a3d03c-55cd-4e6d-8456-8f1625e386f8",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d03c-55cd-4e6d-8456-8f1625e386f8.itp"
                },
                "cover": {
                    "id": "a2a3d03c-692a-42ef-b48b-a087fe41302d",
                    "url": "https://via.placeholder.com/640x480.png/00eecc?text=consequatur"
                },
                "owner": {
                    "id": "a2a3cf99-0c41-40e6-9483-928d03322dad",
                    "name": "Sylvan Toy",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-8041-4147-a063-4f4fafbc39a7",
                        "name": "Country",
                        "tracks": 969845
                    },
                    {
                        "id": "a2a3cf67-afbe-49db-8c6f-63fd6f50cf84",
                        "name": "Pop",
                        "tracks": 806939
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfb6-dae8-4b7a-bd99-33ab44d5b882",
                "title": "Nisi exercitationem asperiores sit harum vero.",
                "media_asset": {
                    "id": "a2a3cfb6-9cab-419e-b959-4688d4c24aca",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfb6-9cab-419e-b959-4688d4c24aca.gdl"
                },
                "cover": {
                    "id": "a2a3cfb6-a039-4257-b20a-d89fff210a95",
                    "url": "https://via.placeholder.com/640x480.png/00eeff?text=ratione"
                },
                "owner": {
                    "id": "a2a3cf69-5507-4d97-bf87-c54653dc303b",
                    "name": "Mrs. Camilla Kemmer",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    },
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfef-25d0-43e5-9d7f-e16a35d12aed",
                "title": "Occaecati hic animi eum.",
                "media_asset": {
                    "id": "a2a3cfee-c51e-4b62-9c81-78c2610b3b24",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfee-c51e-4b62-9c81-78c2610b3b24.t3"
                },
                "cover": {
                    "id": "a2a3cfee-cd7e-4933-8f6d-8d52f9c2bc36",
                    "url": "https://via.placeholder.com/640x480.png/008888?text=et"
                },
                "owner": {
                    "id": "a2a3cf6b-4157-42ec-aa32-860649d62144",
                    "name": "Madisyn Block MD",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d001-53ee-4215-b742-84fd5f17cc94",
                "title": "Aliquid consequatur aliquam maxime quibusdam.",
                "media_asset": {
                    "id": "a2a3d001-1c52-4015-8c11-8af965655316",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d001-1c52-4015-8c11-8af965655316.mag"
                },
                "cover": {
                    "id": "a2a3d001-23b6-4aff-ad7d-84264db55df3",
                    "url": "https://via.placeholder.com/640x480.png/00cc77?text=facilis"
                },
                "owner": {
                    "id": "a2a3cf6c-1a2a-4792-acf1-7a1216f6ad04",
                    "name": "Dr. Flavio Price DDS",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfd1-3fc8-4d39-a06d-058b65a98ec3",
                "title": "Ipsa qui qui voluptatem numquam assumenda ut quaerat occaecati.",
                "media_asset": {
                    "id": "a2a3cfd0-cba7-4ec3-848d-06ff09a6cb4f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfd0-cba7-4ec3-848d-06ff09a6cb4f.stl"
                },
                "cover": {
                    "id": "a2a3cfd0-d05c-4215-91dc-1292cb2f5e61",
                    "url": "https://via.placeholder.com/640x480.png/0011ee?text=aut"
                },
                "owner": {
                    "id": "a2a3cf6a-3214-4b7f-8b92-3c9e024369cc",
                    "name": "Maybelle West Jr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-99b7-4b96-92e4-d3233e83b0a2",
                        "name": "J-Pop",
                        "tracks": 712097
                    },
                    {
                        "id": "a2a3cf67-c30e-40c5-8a42-f536dd43788e",
                        "name": "Soundtrack",
                        "tracks": 217285
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa4-d1e2-4901-a81a-b9c8ff0864f0",
                "title": "Est eius fugit voluptatem ipsa voluptatem ab.",
                "media_asset": {
                    "id": "a2a3cfa4-b80b-4b64-a94c-0d4c7537a925",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa4-b80b-4b64-a94c-0d4c7537a925.odft"
                },
                "cover": {
                    "id": "a2a3cfa4-bd9e-4d0d-9445-d94705e37582",
                    "url": "https://via.placeholder.com/640x480.png/00bb44?text=alias"
                },
                "owner": {
                    "id": "a2a3cf68-ca2f-4910-97cd-aec97c9a24f3",
                    "name": "Axel Steuber",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    },
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa5-7c14-4d6f-b7e5-305db27b0bd6",
                "title": "Nemo voluptate consequatur iure aut.",
                "media_asset": {
                    "id": "a2a3cfa5-34f1-46f2-8007-65cde68e92f5",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa5-34f1-46f2-8007-65cde68e92f5.gv"
                },
                "cover": {
                    "id": "a2a3cfa5-3f04-4a7d-b0a9-e922d573c428",
                    "url": "https://via.placeholder.com/640x480.png/004400?text=commodi"
                },
                "owner": {
                    "id": "a2a3cf68-cd95-43cf-8456-b33cff67987f",
                    "name": "Prof. Kylee Sipes DVM",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    },
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d03c-a7ba-49b8-90a2-b4955fe5e4ea",
                "title": "Tenetur magnam perspiciatis omnis.",
                "media_asset": {
                    "id": "a2a3d03c-330a-4f3a-920a-d2f194822dfb",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d03c-330a-4f3a-920a-d2f194822dfb.mxu"
                },
                "cover": {
                    "id": "a2a3d03c-3a62-43ad-8204-99935d257efb",
                    "url": "https://via.placeholder.com/640x480.png/00aa55?text=maiores"
                },
                "owner": {
                    "id": "a2a3cf99-0c41-40e6-9483-928d03322dad",
                    "name": "Sylvan Toy",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-8242-44bb-becc-ab26aa446772",
                        "name": "Dance",
                        "tracks": 527697
                    },
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-1a42-4bfb-bb77-1338de95ac6f",
                "title": "Dolore autem voluptatem exercitationem natus explicabo.",
                "media_asset": {
                    "id": "a2a3d042-3904-458d-91b9-d0e136d6c97c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-3904-458d-91b9-d0e136d6c97c.blorb"
                },
                "cover": {
                    "id": "a2a3d042-3cc9-497d-ba3f-7c9592fed04c",
                    "url": "https://via.placeholder.com/640x480.png/00ff55?text=delectus"
                },
                "owner": {
                    "id": "a2a3d042-3586-4400-9ce6-dff08195e366",
                    "name": "Benedict Heller MD",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2137-4684-a9b5-adebfa842557",
                "title": "Voluptatem veritatis neque doloremque eum est.",
                "media_asset": {
                    "id": "a2a3d042-5310-43ca-b05b-89bb08575c54",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-5310-43ca-b05b-89bb08575c54.mpt"
                },
                "cover": {
                    "id": "a2a3d042-5724-42b1-8066-88c7e6991069",
                    "url": "https://via.placeholder.com/640x480.png/00bb22?text=ex"
                },
                "owner": {
                    "id": "a2a3d042-4e08-4964-bb05-304af1127559",
                    "name": "Berta Muller IV",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfc5-c83e-4adb-9eb0-f12d243257bb",
                "title": "Et ea autem totam sapiente suscipit sint.",
                "media_asset": {
                    "id": "a2a3cfc5-2253-45a8-ab2b-c20695d810ed",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfc5-2253-45a8-ab2b-c20695d810ed.json"
                },
                "cover": {
                    "id": "a2a3cfc5-27e7-4c28-bccc-9d7b0e2ac81f",
                    "url": "https://via.placeholder.com/640x480.png/000077?text=rerum"
                },
                "owner": {
                    "id": "a2a3cf69-d48a-439c-88aa-252ce0e37c73",
                    "name": "Mr. Dock Schinner Jr.",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8041-4147-a063-4f4fafbc39a7",
                        "name": "Country",
                        "tracks": 969845
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfe3-d950-4226-830b-80aec47cdc52",
                "title": "Tempore nisi possimus quasi quis et natus rerum.",
                "media_asset": {
                    "id": "a2a3cfe3-bb12-4534-8143-d5590fa4ac94",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfe3-bb12-4534-8143-d5590fa4ac94.wvx"
                },
                "cover": {
                    "id": "a2a3cfe3-be6f-4250-abf2-b22f10f0fe99",
                    "url": "https://via.placeholder.com/640x480.png/008800?text=itaque"
                },
                "owner": {
                    "id": "a2a3cf6a-b26d-486f-8c52-4cdedbc68898",
                    "name": "Zoey Dibbert",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8fb2-4d34-93dd-3a9752ae9d11",
                        "name": "Hip-Hop",
                        "tracks": 795459
                    },
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-784d-416c-a25b-1268814575dd",
                "title": "Sed quia autem debitis sit sunt.",
                "media_asset": {
                    "id": "a2a3d052-3b04-49b7-9c38-b97241c03419",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d052-3b04-49b7-9c38-b97241c03419.jsonml"
                },
                "cover": {
                    "id": "a2a3d052-438f-4f27-a96d-16c2f672ab9b",
                    "url": "https://via.placeholder.com/640x480.png/001199?text=omnis"
                },
                "owner": {
                    "id": "a2a3d052-32cd-491a-9ae9-9722d1972615",
                    "name": "Hattie Crist",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfc3-3bd1-45b2-8621-f8447af2eafd",
                "title": "Nihil excepturi doloremque et id magni a aspernatur.",
                "media_asset": {
                    "id": "a2a3cfc3-2d8e-46d0-9e8f-1683d5a3a9e2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfc3-2d8e-46d0-9e8f-1683d5a3a9e2.xul"
                },
                "cover": {
                    "id": "a2a3cfc3-338e-40ef-a02c-63c8eefc406d",
                    "url": "https://via.placeholder.com/640x480.png/0044ff?text=sit"
                },
                "owner": {
                    "id": "a2a3cf69-c8bb-4fd2-b731-d0e1babf466f",
                    "name": "Betty Kris",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-fffc-4d20-9d3e-e764ee272a95",
                "title": "Reprehenderit animi facere cupiditate non fugiat quidem aut nemo.",
                "media_asset": {
                    "id": "a2a3cfa0-e819-4c93-bd2c-3ef9eb2c1a6a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa0-e819-4c93-bd2c-3ef9eb2c1a6a.tcl"
                },
                "cover": {
                    "id": "a2a3cfa0-ec1c-483d-8bf0-3e41928d5ebd",
                    "url": "https://via.placeholder.com/640x480.png/0000ee?text=voluptatibus"
                },
                "owner": {
                    "id": "a2a3cf68-b428-4b6c-a85a-fbc334eb23a7",
                    "name": "Jannie Beatty",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d022-641a-43fd-9b2c-8e41ea041561",
                "title": "Quis consectetur quo tempore iure.",
                "media_asset": {
                    "id": "a2a3d022-10cd-4994-93c4-64b767fc82e3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d022-10cd-4994-93c4-64b767fc82e3.ustar"
                },
                "cover": {
                    "id": "a2a3d022-157c-47e1-96cd-bbca98dbea3c",
                    "url": "https://via.placeholder.com/640x480.png/00ff44?text=perferendis"
                },
                "owner": {
                    "id": "a2a3cf96-e17d-4780-81e3-26385327c85e",
                    "name": "Vicente Watsica",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8686-49fc-b44f-9e0d7cdcc90e",
                        "name": "Enka",
                        "tracks": 942670
                    },
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    },
                    {
                        "id": "a2a3cf67-c553-40a8-a934-8efc6f6926c0",
                        "name": "Tex-Mex",
                        "tracks": 64984
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d01e-87c7-442f-82fa-eff2252c2134",
                "title": "Praesentium sunt eveniet quod nulla molestias.",
                "media_asset": {
                    "id": "a2a3d01e-310a-421a-8a00-4129d196c075",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d01e-310a-421a-8a00-4129d196c075.jpg"
                },
                "cover": {
                    "id": "a2a3d01e-37b3-4ad7-8300-22c837c08cba",
                    "url": "https://via.placeholder.com/640x480.png/003344?text=iusto"
                },
                "owner": {
                    "id": "a2a3cf96-b357-46ff-a62f-5d116296af2e",
                    "name": "Connie Smitham",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa6-0697-41d2-8591-dd1a3efde88c",
                "title": "Excepturi qui aliquid voluptatum sequi quas sint.",
                "media_asset": {
                    "id": "a2a3cfa5-dca3-40db-862e-31aa36737582",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa5-dca3-40db-862e-31aa36737582.ods"
                },
                "cover": {
                    "id": "a2a3cfa5-e438-4edc-9d4e-3d8c844c3e13",
                    "url": "https://via.placeholder.com/640x480.png/00aa55?text=voluptas"
                },
                "owner": {
                    "id": "a2a3cf68-d640-465a-8354-2c2a9c32246d",
                    "name": "Delfina Cartwright",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-b25d-43f3-ae5a-db127bedfd08",
                        "name": "Post-Disco",
                        "tracks": 51469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9d-0f7b-4343-aa49-8abc3f26cc87",
                "title": "Dolor accusamus neque sit voluptatum ut.",
                "media_asset": {
                    "id": "a2a3cf9c-e338-4ac9-b4b5-d3c29894defd",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9c-e338-4ac9-b4b5-d3c29894defd.xlam"
                },
                "cover": {
                    "id": "a2a3cf9c-ea63-42b8-82bf-b4409038f2bb",
                    "url": "https://via.placeholder.com/640x480.png/0000bb?text=est"
                },
                "owner": {
                    "id": "a2a3cf68-9309-481c-b8dc-c40da8cc30df",
                    "name": "Maryjane Boehm",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-acc5-4a43-bdab-f811c5e687fe",
                        "name": "Opera",
                        "tracks": 422469
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfe4-a0a2-4fee-be10-42e2977f53bd",
                "title": "Voluptatem voluptate rem voluptate sint nobis non.",
                "media_asset": {
                    "id": "a2a3cfe4-6f56-4bab-bd99-b189146f021a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfe4-6f56-4bab-bd99-b189146f021a.kpxx"
                },
                "cover": {
                    "id": "a2a3cfe4-7239-4375-94b2-a17180fb9f6c",
                    "url": "https://via.placeholder.com/640x480.png/00ffaa?text=voluptatem"
                },
                "owner": {
                    "id": "a2a3cf6a-c971-42fb-9d8c-4c22c3083775",
                    "name": "Maximillian Gulgowski",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-708f-4091-9289-6f4a65c3363e",
                        "name": "Anime",
                        "tracks": 706138
                    },
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d033-71c6-478b-bef7-a0cb0f2aad38",
                "title": "Eaque velit neque earum velit eligendi nam.",
                "media_asset": {
                    "id": "a2a3d033-523e-40eb-baff-8ecceccbaef9",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d033-523e-40eb-baff-8ecceccbaef9.sid"
                },
                "cover": {
                    "id": "a2a3d033-57e3-4d10-9182-2a8e85495767",
                    "url": "https://via.placeholder.com/640x480.png/00cc88?text=voluptatem"
                },
                "owner": {
                    "id": "a2a3cf98-b9e3-42fe-b875-074a4eaca687",
                    "name": "Lawrence Tillman",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8041-4147-a063-4f4fafbc39a7",
                        "name": "Country",
                        "tracks": 969845
                    },
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    },
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d00f-b40a-4381-aaad-2b3246571324",
                "title": "Rerum a qui at et numquam blanditiis asperiores.",
                "media_asset": {
                    "id": "a2a3d00f-9746-4cfa-a880-ec0bfe901e77",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d00f-9746-4cfa-a880-ec0bfe901e77.swf"
                },
                "cover": {
                    "id": "a2a3d00f-9aee-4ef0-a936-12715a9396b2",
                    "url": "https://via.placeholder.com/640x480.png/00bbdd?text=et"
                },
                "owner": {
                    "id": "a2a3cf95-48c7-48fe-8d07-4f80e4c3a78d",
                    "name": "Roger Huel",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-8041-4147-a063-4f4fafbc39a7",
                        "name": "Country",
                        "tracks": 969845
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-125c-4d97-afb3-915d3785fa6a",
                "title": "Quisquam aut quaerat enim sapiente rerum tenetur.",
                "media_asset": {
                    "id": "a2a3cf9f-ea92-4361-9bec-3ff4a7100432",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-ea92-4361-9bec-3ff4a7100432.sfd-hdstx"
                },
                "cover": {
                    "id": "a2a3cf9f-ee1a-4651-a96f-e9adc6b490bd",
                    "url": "https://via.placeholder.com/640x480.png/00aa55?text=veritatis"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    },
                    {
                        "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                        "name": "Latin",
                        "tracks": 377739
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfbf-c734-44bd-825e-c23db4fd56d4",
                "title": "Enim eius rem iste dolore aliquam qui voluptatum.",
                "media_asset": {
                    "id": "a2a3cfbf-4f3c-4270-a084-1f573b2b164c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfbf-4f3c-4270-a084-1f573b2b164c.tfm"
                },
                "cover": {
                    "id": "a2a3cfbf-54d5-4ce9-859c-22c28d132f3b",
                    "url": "https://via.placeholder.com/640x480.png/004477?text=cum"
                },
                "owner": {
                    "id": "a2a3cf69-9793-4742-8dac-5ecff6a29d92",
                    "name": "Mrs. Asia Balistreri",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7892-404d-a00f-9758363efe2c",
                        "name": "Classical",
                        "tracks": 891656
                    },
                    {
                        "id": "a2a3cf67-c553-40a8-a934-8efc6f6926c0",
                        "name": "Tex-Mex",
                        "tracks": 64984
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfb4-f172-4487-afa0-3632ac3e6f8b",
                "title": "Velit ipsa odit dolorem nostrum.",
                "media_asset": {
                    "id": "a2a3cfb4-ad31-4675-86ec-67bbc628e39d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfb4-ad31-4675-86ec-67bbc628e39d.jpgv"
                },
                "cover": {
                    "id": "a2a3cfb4-b0d5-4acf-92e1-2874ab8a3715",
                    "url": "https://via.placeholder.com/640x480.png/001144?text=autem"
                },
                "owner": {
                    "id": "a2a3cf69-37f5-4b21-95ea-7e54d332662c",
                    "name": "Melissa Hyatt III",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                        "name": "Jazz",
                        "tracks": 331010
                    },
                    {
                        "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                        "name": "Karaoke",
                        "tracks": 268335
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d008-6c91-4e68-8c47-48e8a8dd3ff0",
                "title": "Aut voluptates neque dolor est.",
                "media_asset": {
                    "id": "a2a3d008-41f9-4723-aff6-6bdd5fd2f8d2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d008-41f9-4723-aff6-6bdd5fd2f8d2.xar"
                },
                "cover": {
                    "id": "a2a3d008-4846-4250-822e-db6ea92751e8",
                    "url": "https://via.placeholder.com/640x480.png/002244?text=sint"
                },
                "owner": {
                    "id": "a2a3cf6c-5356-42b4-9ab5-2e455b80b949",
                    "name": "Angelica Cronin",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8242-44bb-becc-ab26aa446772",
                        "name": "Dance",
                        "tracks": 527697
                    },
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    },
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d02a-5786-4b05-96e4-b4b90ee7e31a",
                "title": "Ab ut voluptatem ratione eligendi soluta laudantium quam.",
                "media_asset": {
                    "id": "a2a3d029-f6ab-4f4d-84e7-e54f0a6e2599",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d029-f6ab-4f4d-84e7-e54f0a6e2599.jar"
                },
                "cover": {
                    "id": "a2a3d029-fb76-450f-9653-1b0ede589afd",
                    "url": "https://via.placeholder.com/640x480.png/00aaee?text=hic"
                },
                "owner": {
                    "id": "a2a3cf97-d25d-489a-843f-e2876839c200",
                    "name": "Jon Nitzsche",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-688b-4568-9efc-85e0db47f905",
                "title": "Magnam rem est aut non ea consequatur vitae.",
                "media_asset": {
                    "id": "a2a3cfa0-5070-4dcb-8303-f5ac713dbe5f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa0-5070-4dcb-8303-f5ac713dbe5f.tsv"
                },
                "cover": {
                    "id": "a2a3cfa0-5406-4be3-ba58-bf5492b98612",
                    "url": "https://via.placeholder.com/640x480.png/00ffaa?text=ad"
                },
                "owner": {
                    "id": "a2a3cf68-ae3f-43b7-ba09-7fb1f48f7795",
                    "name": "Prof. Floy Mann",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    },
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfe5-9d2a-4222-8119-b66ac3eb0509",
                "title": "Nihil consequatur aliquid quisquam tempora perferendis.",
                "media_asset": {
                    "id": "a2a3cfe5-4356-4b26-b1ff-11a79be070bd",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfe5-4356-4b26-b1ff-11a79be070bd.qt"
                },
                "cover": {
                    "id": "a2a3cfe5-471c-4f11-ad8c-cc1224ad5206",
                    "url": "https://via.placeholder.com/640x480.png/00ff11?text=quidem"
                },
                "owner": {
                    "id": "a2a3cf6a-d2af-449b-9f91-9b1ae53c7ad2",
                    "name": "Prof. Vilma Glover",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    },
                    {
                        "id": "a2a3cf67-8930-4c3f-9b9b-448a45747c46",
                        "name": "Folk",
                        "tracks": 295138
                    },
                    {
                        "id": "a2a3cf67-b8c1-47e8-9c41-f672d3a6eb4c",
                        "name": "R&B",
                        "tracks": 173357
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfb3-bd5e-4aa1-8874-00590ec3df83",
                "title": "Dolor dolor fuga dignissimos dolorum dolores.",
                "media_asset": {
                    "id": "a2a3cfb3-9d8c-4d77-b46b-4a29bcf93a6a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfb3-9d8c-4d77-b46b-4a29bcf93a6a.sql"
                },
                "cover": {
                    "id": "a2a3cfb3-a2de-4f78-997b-1cda2127e5b0",
                    "url": "https://via.placeholder.com/640x480.png/003311?text=fugiat"
                },
                "owner": {
                    "id": "a2a3cf69-2a34-43ba-86ef-93c48c955e0f",
                    "name": "Aditya Little",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    },
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    },
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfbc-4221-452e-a32d-7c2a76dc708d",
                "title": "Ea qui consequatur repellat quas sit.",
                "media_asset": {
                    "id": "a2a3cfbc-3266-48a2-8728-5354ce505845",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfbc-3266-48a2-8728-5354ce505845.cryptonote"
                },
                "cover": {
                    "id": "a2a3cfbc-37f0-41b0-96c4-7449513a029c",
                    "url": "https://via.placeholder.com/640x480.png/0044ff?text=dignissimos"
                },
                "owner": {
                    "id": "a2a3cf69-8724-4482-9fb2-24d7548a615f",
                    "name": "Floyd Vandervort",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-6486-434d-8134-787a574cb5b5",
                        "name": "Alternative",
                        "tracks": 803288
                    },
                    {
                        "id": "a2a3cf67-a980-4158-bf91-5ca47c39ddd0",
                        "name": "New Age",
                        "tracks": 668743
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfd4-ce37-4bad-a598-2a491513abb5",
                "title": "Fugit aliquam qui voluptatem et et.",
                "media_asset": {
                    "id": "a2a3cfd4-45eb-48ee-ae0b-b14a9d82e93d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfd4-45eb-48ee-ae0b-b14a9d82e93d.3gp"
                },
                "cover": {
                    "id": "a2a3cfd4-4b5e-4e0d-a27e-aee7a2c8ebcb",
                    "url": "https://via.placeholder.com/640x480.png/0033ee?text=quisquam"
                },
                "owner": {
                    "id": "a2a3cf6a-5747-4029-a4de-7f4f99d5ed51",
                    "name": "Crystal Schaden MD",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d036-e3eb-436e-b0a3-a14e34d31d78",
                "title": "Quidem corporis cum animi placeat illo nemo tenetur.",
                "media_asset": {
                    "id": "a2a3d036-aec8-467e-b6d3-589403ffe953",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d036-aec8-467e-b6d3-589403ffe953.mathml"
                },
                "cover": {
                    "id": "a2a3d036-b505-4a3f-9ce1-2f62dfe4e86e",
                    "url": "https://via.placeholder.com/640x480.png/00aa99?text=quisquam"
                },
                "owner": {
                    "id": "a2a3cf98-d741-44b6-897d-cbf68bf1f3bf",
                    "name": "Daryl Johns",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfc4-348f-46bf-bd14-5cad0aa95d9b",
                "title": "Et et quia quasi.",
                "media_asset": {
                    "id": "a2a3cfc3-bb7d-4787-9c93-84135fca080b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfc3-bb7d-4787-9c93-84135fca080b.h261"
                },
                "cover": {
                    "id": "a2a3cfc3-bff1-4b07-820c-18f18719a4d9",
                    "url": "https://via.placeholder.com/640x480.png/00ffbb?text=ab"
                },
                "owner": {
                    "id": "a2a3cf69-d0b2-419d-a1fa-a3d85fae5c3b",
                    "name": "Berta Heaney",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8930-4c3f-9b9b-448a45747c46",
                        "name": "Folk",
                        "tracks": 295138
                    },
                    {
                        "id": "a2a3cf67-c0c0-49e2-9649-10415bb78044",
                        "name": "Rock",
                        "tracks": 320924
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-d7a6-4f83-9f98-6d35499796f8",
                "title": "Facere excepturi quae aliquid et libero qui magni quo.",
                "media_asset": {
                    "id": "a2a3d04d-d245-45fd-8c62-9bc5f31ef9da",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-d245-45fd-8c62-9bc5f31ef9da.torrent"
                },
                "cover": {
                    "id": "a2a3d04d-d8ac-49df-befd-1a4943dbbf6d",
                    "url": "https://via.placeholder.com/640x480.png/006622?text=vel"
                },
                "owner": {
                    "id": "a2a3d04d-cccb-4e26-8ce6-44203dff6a4c",
                    "name": "Mr. Isadore Schultz",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d025-dcfa-48cd-99b5-4af797545459",
                "title": "Velit in minima molestias deleniti debitis ad facilis consequatur.",
                "media_asset": {
                    "id": "a2a3d025-8201-4446-930a-d6e93000380b",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d025-8201-4446-930a-d6e93000380b.jpe"
                },
                "cover": {
                    "id": "a2a3d025-8b2c-47f8-be58-1f60fb431c3d",
                    "url": "https://via.placeholder.com/640x480.png/0077aa?text=numquam"
                },
                "owner": {
                    "id": "a2a3cf96-f6b6-4184-9684-771b7f0c082f",
                    "name": "Ms. Carmela Bogisich",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    },
                    {
                        "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                        "name": "Vocal",
                        "tracks": 612111
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cf9b-e0d9-42aa-a7ed-b41a0dadefca",
                "title": "Est alias sequi ipsum quis est in est consequatur.",
                "media_asset": {
                    "id": "a2a3cf9b-aa1b-4269-83b3-136c8a659e71",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9b-aa1b-4269-83b3-136c8a659e71.pas"
                },
                "cover": {
                    "id": "a2a3cf9b-b0f3-46d4-b02e-f2aa092a4905",
                    "url": "https://via.placeholder.com/640x480.png/00ccff?text=voluptatem"
                },
                "owner": {
                    "id": "a2a3cf68-8614-4465-9311-1e94999a3383",
                    "name": "Larue Hahn",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-c553-40a8-a934-8efc6f6926c0",
                        "name": "Tex-Mex",
                        "tracks": 64984
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfe2-d97b-4f2e-81e5-db45b3aa5aa3",
                "title": "Ut rerum ut et ducimus.",
                "media_asset": {
                    "id": "a2a3cfe2-a118-440c-896d-9f647b950fe8",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfe2-a118-440c-896d-9f647b950fe8.sfv"
                },
                "cover": {
                    "id": "a2a3cfe2-a3e3-49aa-ad0f-19ffed388e50",
                    "url": "https://via.placeholder.com/640x480.png/00eecc?text=non"
                },
                "owner": {
                    "id": "a2a3cf6a-9774-486f-891c-e73a20ae63f6",
                    "name": "Mr. Riley Bartell IV",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-8242-44bb-becc-ab26aa446772",
                        "name": "Dance",
                        "tracks": 527697
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa0-10fe-4ac4-8062-d2e3ed64b82c",
                "title": "Numquam facilis ea et quaerat natus.",
                "media_asset": {
                    "id": "a2a3cf9f-df16-4b83-8940-d6ce90c5d5f8",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf9f-df16-4b83-8940-d6ce90c5d5f8.rip"
                },
                "cover": {
                    "id": "a2a3cf9f-e302-4df3-8c4a-1df7fc2c6366",
                    "url": "https://via.placeholder.com/640x480.png/004477?text=fugiat"
                },
                "owner": {
                    "id": "a2a3cf68-acef-4085-8a7c-993c8ab3b1c8",
                    "name": "Karley Roberts",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                        "name": "Comedy",
                        "tracks": 15336
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d052-50dd-40ea-b0c2-79a8bf852f0f",
                "title": "Incidunt dolor nulla eius.",
                "media_asset": {
                    "id": "a2a3d051-198c-481d-9551-1acb7327d429",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d051-198c-481d-9551-1acb7327d429.gv"
                },
                "cover": {
                    "id": "a2a3d051-2048-4a87-b757-b292cf2ddacd",
                    "url": "https://via.placeholder.com/640x480.png/00bbcc?text=maxime"
                },
                "owner": {
                    "id": "a2a3d051-1371-4617-b062-64fb02339981",
                    "name": "Frankie Berge II",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa2-3c0f-42a5-9d4b-60e70f5aaf55",
                "title": "Aut necessitatibus dolorum eligendi.",
                "media_asset": {
                    "id": "a2a3cfa1-f15a-427b-b071-768204e6d593",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa1-f15a-427b-b071-768204e6d593.xslt"
                },
                "cover": {
                    "id": "a2a3cfa1-f76f-493f-b563-d01f54eef8a4",
                    "url": "https://via.placeholder.com/640x480.png/00cc00?text=saepe"
                },
                "owner": {
                    "id": "a2a3cf68-baec-4a72-a4e5-73a2ce3ebc74",
                    "name": "Mr. Jeffry Buckridge",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                        "name": "Industrial",
                        "tracks": 152478
                    },
                    {
                        "id": "a2a3cf67-bc85-4c3c-9a3a-e2f36571c43f",
                        "name": "Rap",
                        "tracks": 746832
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d020-0840-4cb3-9f78-118c5b657a56",
                "title": "Consequatur molestias molestiae aut sunt cumque id aut.",
                "media_asset": {
                    "id": "a2a3d01f-bb5a-4013-b127-0a98d018901f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d01f-bb5a-4013-b127-0a98d018901f.st"
                },
                "cover": {
                    "id": "a2a3d01f-c08c-4c7a-8d4d-c1306e0e75f5",
                    "url": "https://via.placeholder.com/640x480.png/00dd11?text=ab"
                },
                "owner": {
                    "id": "a2a3cf96-bcda-4dd5-a733-21f15a778a7d",
                    "name": "Delilah Dare PhD",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-6486-434d-8134-787a574cb5b5",
                        "name": "Alternative",
                        "tracks": 803288
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d02f-aa5d-42dc-ab77-0eebeeaa934a",
                "title": "Occaecati repellendus qui voluptatem reiciendis nam aliquam qui.",
                "media_asset": {
                    "id": "a2a3d02f-599d-4cf4-a804-2a979a14d23f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d02f-599d-4cf4-a804-2a979a14d23f.sxg"
                },
                "cover": {
                    "id": "a2a3d02f-5eda-4849-800b-7750cee4f7b5",
                    "url": "https://via.placeholder.com/640x480.png/00ee88?text=vitae"
                },
                "owner": {
                    "id": "a2a3cf98-9514-4fd0-8f87-822eae6b11db",
                    "name": "Dianna Feil V",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-9201-496b-8b23-bc56e47fbcf9",
                        "name": "Indie",
                        "tracks": 193240
                    },
                    {
                        "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                        "name": "Progressive",
                        "tracks": 649504
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d012-1564-42e0-99ea-a57983e4d8a7",
                "title": "Repudiandae quia distinctio id distinctio.",
                "media_asset": {
                    "id": "a2a3d011-f582-4046-ba28-d06629508ff5",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d011-f582-4046-ba28-d06629508ff5.mxl"
                },
                "cover": {
                    "id": "a2a3d011-fbf4-4c68-a5fe-e953438bb847",
                    "url": "https://via.placeholder.com/640x480.png/0066ee?text=aperiam"
                },
                "owner": {
                    "id": "a2a3cf95-6d7d-4d91-bb20-ae238f6b6ac3",
                    "name": "Israel Marvin",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-845b-44d8-b4cb-1bd4ea3b1829",
                        "name": "Electronic",
                        "tracks": 467893
                    },
                    {
                        "id": "a2a3cf67-9756-4f78-a3b5-50c71eac4991",
                        "name": "Instrumental",
                        "tracks": 740740
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfae-b2c6-46b0-95d2-823badf2180c",
                "title": "Et porro quia tenetur fugit ipsum blanditiis.",
                "media_asset": {
                    "id": "a2a3cfad-f441-4a65-bbad-616e5966c15c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfad-f441-4a65-bbad-616e5966c15c.xo"
                },
                "cover": {
                    "id": "a2a3cfad-f9d2-48ac-889e-d85d9aace4b3",
                    "url": "https://via.placeholder.com/640x480.png/0022ff?text=eos"
                },
                "owner": {
                    "id": "a2a3cf68-f9e2-47c1-8d90-87c997a31ad0",
                    "name": "Orie Collier V",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-72fd-4f49-a8f5-bca3466e789c",
                        "name": "Blues",
                        "tracks": 979429
                    },
                    {
                        "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                        "name": "Kayokyoku",
                        "tracks": 591041
                    },
                    {
                        "id": "a2a3cf67-befa-485a-88f6-4da6fc05971b",
                        "name": "Reggae",
                        "tracks": 28379
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfef-ba4f-47ed-be19-617107f643c5",
                "title": "Consequatur cum qui ipsam tempore id.",
                "media_asset": {
                    "id": "a2a3cfef-6328-43f5-919a-e6e94abdb07a",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfef-6328-43f5-919a-e6e94abdb07a.src"
                },
                "cover": {
                    "id": "a2a3cfef-6939-41be-b505-43ba63a31013",
                    "url": "https://via.placeholder.com/640x480.png/00dd66?text=neque"
                },
                "owner": {
                    "id": "a2a3cf6b-4c98-45ba-9cbe-cedf164989f6",
                    "name": "Mrs. Leonor Schiller",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-7cd1-47b6-b0ce-7efee87b51fe",
                        "name": "Commercial",
                        "tracks": 203015
                    },
                    {
                        "id": "a2a3cf67-a69b-4bc7-9d29-571d841d9b24",
                        "name": "Metal",
                        "tracks": 952064
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3cfa2-4365-417c-8757-2c318d2e5ec2",
                "title": "Maxime eum autem dolor vero et eos natus.",
                "media_asset": {
                    "id": "a2a3cfa2-2f3c-47d9-81d6-1545836010db",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cfa2-2f3c-47d9-81d6-1545836010db.sid"
                },
                "cover": {
                    "id": "a2a3cfa2-37ca-4c8d-af0b-f82870b6ca13",
                    "url": "https://via.placeholder.com/640x480.png/000000?text=deserunt"
                },
                "owner": {
                    "id": "a2a3cf68-baec-4a72-a4e5-73a2ce3ebc74",
                    "name": "Mr. Jeffry Buckridge",
                    "avatar_url": null
                },
                "genres": [
                    {
                        "id": "a2a3cf67-6486-434d-8134-787a574cb5b5",
                        "name": "Alternative",
                        "tracks": 803288
                    }
                ],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d04e-c73e-4647-b195-0329052c608f",
                "title": "Id qui aliquam cupiditate pariatur mollitia enim debitis.",
                "media_asset": {
                    "id": "a2a3d04d-6d91-4bf7-8215-bd8d3751fed7",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d04d-6d91-4bf7-8215-bd8d3751fed7.xls"
                },
                "cover": {
                    "id": "a2a3d04d-74c1-48bb-835d-cd3e6dc51a6e",
                    "url": "https://via.placeholder.com/640x480.png/007733?text=consequatur"
                },
                "owner": {
                    "id": "a2a3d04d-67b6-4142-aa19-7422da0d3fc6",
                    "name": "Prof. Caden Lockman",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            }
        ],
        "is_editable": false
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

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 "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 269
access-control-allow-origin: *
set-cookie: qplet_core_service_session=c6AllythebKZJmsmwMGAYZ0dEEOLuI1rBruWcKIe; expires=Tue, 01 Sep 2026 08:38:25 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": "a2a3cf99-ddc5-40e0-8027-ee9848bc45d3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf99-ddc5-40e0-8027-ee9848bc45d3.htke"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-0b78-4519-871b-470cf56b93e7",
                "title": "Labore animi atque eligendi in rerum voluptas praesentium.",
                "media_asset": {
                    "id": "a2a3d041-ff5e-42d9-b4a0-361c22fdc2e4",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d041-ff5e-42d9-b4a0-361c22fdc2e4.msh"
                },
                "owner": {
                    "id": "a2a3d041-fc61-49d4-9285-5c0493dc5a06",
                    "name": "Shanel Daniel",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-0e85-4d65-976a-cfe6279ab501",
                "title": "Eos at et quas laborum qui inventore quia.",
                "media_asset": {
                    "id": "a2a3d042-0a8c-4871-9554-3174d333e52f",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-0a8c-4871-9554-3174d333e52f.mcurl"
                },
                "owner": {
                    "id": "a2a3d042-0743-4ea9-a814-418434080fdd",
                    "name": "Ms. Sally Spencer II",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-1118-47ba-85cc-1489f8cef83c",
                "title": "Aut ab numquam et recusandae aliquid.",
                "media_asset": {
                    "id": "a2a3d042-1790-4ae6-a3ff-65476adb8180",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-1790-4ae6-a3ff-65476adb8180.otp"
                },
                "owner": {
                    "id": "a2a3d042-13d6-44c6-8614-3dad026237fb",
                    "name": "Miss Enola Zemlak V",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-13c1-48df-95d1-9d5d38380d07",
                "title": "Asperiores doloremque est et vel omnis ea quia.",
                "media_asset": {
                    "id": "a2a3d042-2251-440c-af21-40cea9b2e6b2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-2251-440c-af21-40cea9b2e6b2.ahead"
                },
                "owner": {
                    "id": "a2a3d042-1ea8-4a1f-b98b-daaed2c7f170",
                    "name": "Edd Spinka",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-1656-4500-9634-5eb9f19f0920",
                "title": "Repellat ut tenetur reprehenderit inventore illum.",
                "media_asset": {
                    "id": "a2a3d042-2deb-4ca3-a505-c560da323d08",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-2deb-4ca3-a505-c560da323d08.sit"
                },
                "owner": {
                    "id": "a2a3d042-2913-4fc8-b95c-d11b3020ad00",
                    "name": "Miss Kaycee D'Amore",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-1a42-4bfb-bb77-1338de95ac6f",
                "title": "Dolore autem voluptatem exercitationem natus explicabo.",
                "media_asset": {
                    "id": "a2a3d042-3904-458d-91b9-d0e136d6c97c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-3904-458d-91b9-d0e136d6c97c.blorb"
                },
                "owner": {
                    "id": "a2a3d042-3586-4400-9ce6-dff08195e366",
                    "name": "Benedict Heller MD",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-1de5-46bc-ade8-9d7e4e71009b",
                "title": "Perspiciatis dignissimos velit ut laboriosam voluptatem.",
                "media_asset": {
                    "id": "a2a3d042-4547-4697-bbf8-b13158e0b068",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-4547-4697-bbf8-b13158e0b068.mie"
                },
                "owner": {
                    "id": "a2a3d042-40be-4432-ad95-b1a4ee2647e4",
                    "name": "Dr. Ola Watsica Jr.",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2137-4684-a9b5-adebfa842557",
                "title": "Voluptatem veritatis neque doloremque eum est.",
                "media_asset": {
                    "id": "a2a3d042-5310-43ca-b05b-89bb08575c54",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-5310-43ca-b05b-89bb08575c54.mpt"
                },
                "owner": {
                    "id": "a2a3d042-4e08-4964-bb05-304af1127559",
                    "name": "Berta Muller IV",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-23b1-4d20-a1bb-9f0fa2c9dba1",
                "title": "Ut ullam sapiente modi vel perspiciatis tenetur neque.",
                "media_asset": {
                    "id": "a2a3d042-5e1c-4719-a9ed-eba452539951",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-5e1c-4719-a9ed-eba452539951.sti"
                },
                "owner": {
                    "id": "a2a3d042-5a52-46a2-a8ce-f47ecf410018",
                    "name": "Justice Wuckert",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-25fc-4648-990c-832442978af0",
                "title": "Quo aliquid nihil at ullam qui dolor suscipit.",
                "media_asset": {
                    "id": "a2a3d042-6c19-47fe-8985-03959c273cee",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-6c19-47fe-8985-03959c273cee.vcf"
                },
                "owner": {
                    "id": "a2a3d042-664a-4c0f-93ec-80a97142669e",
                    "name": "Prof. Toy Daugherty",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2849-4b35-ade9-6d83290a76ad",
                "title": "Quasi deserunt soluta ex ipsum est assumenda.",
                "media_asset": {
                    "id": "a2a3d042-7a16-4eec-8b73-504cb3b08e89",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-7a16-4eec-8b73-504cb3b08e89.ttl"
                },
                "owner": {
                    "id": "a2a3d042-7546-440c-9cdd-2d51a4fb7130",
                    "name": "Kellie Ullrich",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2a91-48e2-ae05-1fab458d8d3d",
                "title": "Qui quasi dignissimos magni et fuga minus repellat.",
                "media_asset": {
                    "id": "a2a3d042-86f6-4519-ae17-7ade501f015d",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-86f6-4519-ae17-7ade501f015d.jsonml"
                },
                "owner": {
                    "id": "a2a3d042-8223-4e81-a25b-894f0b9d26fe",
                    "name": "Hilma Baumbach V",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2c8d-47f4-9992-97ae4f0f02d9",
                "title": "Alias in consequatur quia autem non aspernatur labore.",
                "media_asset": {
                    "id": "a2a3d042-9691-4fed-9cb1-440197fd1b49",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-9691-4fed-9cb1-440197fd1b49.sfv"
                },
                "owner": {
                    "id": "a2a3d042-9047-4a93-8e5b-6125738f8cd1",
                    "name": "Susanna Roob",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-2f0f-4e89-b138-a032453309d7",
                "title": "Perspiciatis eum ducimus sunt possimus officia consequatur quia.",
                "media_asset": {
                    "id": "a2a3d042-a464-42e5-92eb-279196bfcfb1",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-a464-42e5-92eb-279196bfcfb1.flw"
                },
                "owner": {
                    "id": "a2a3d042-9f44-4937-8a7d-e950b5129eb5",
                    "name": "Prof. Shawna Jakubowski V",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-3107-492b-9d83-d0a4a2e7dfed",
                "title": "Aut vero aut maxime est sit quos.",
                "media_asset": {
                    "id": "a2a3d042-b305-42a5-8b7f-63aef14213e6",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-b305-42a5-8b7f-63aef14213e6.gtar"
                },
                "owner": {
                    "id": "a2a3d042-af05-46f7-b43b-4bcbf3f785dd",
                    "name": "Miss Marielle Hartmann",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-3462-479d-97a8-a3d00a8fa569",
                "title": "Vero fuga voluptatum quis fuga.",
                "media_asset": {
                    "id": "a2a3d042-c053-4623-a8ac-eab2285ab20c",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-c053-4623-a8ac-eab2285ab20c.java"
                },
                "owner": {
                    "id": "a2a3d042-bb84-4894-92e2-5958916c2877",
                    "name": "Sydnee Ratke III",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-3622-4f7c-8502-2b9d9bc24bb9",
                "title": "Iure et fuga consequatur quo.",
                "media_asset": {
                    "id": "a2a3d042-d0c0-47ff-a2cc-421fa37d7bdf",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-d0c0-47ff-a2cc-421fa37d7bdf.xpi"
                },
                "owner": {
                    "id": "a2a3d042-cbaf-457e-8596-5a378b703d8f",
                    "name": "Dr. Henry Stokes",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-397b-48ca-bad2-fbbb87cc5f4a",
                "title": "Quia enim nulla beatae aut deserunt ipsam.",
                "media_asset": {
                    "id": "a2a3d042-de80-4a61-879f-8f5918526fca",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-de80-4a61-879f-8f5918526fca.g3"
                },
                "owner": {
                    "id": "a2a3d042-d9f8-407f-9e5f-5e48884ec16b",
                    "name": "Carlos Price",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-3c8f-4b42-94e0-fa53499a27f6",
                "title": "Amet qui vel doloremque dolorem ducimus.",
                "media_asset": {
                    "id": "a2a3d042-ee57-4ad7-9b19-d1e611ddf4f3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d042-ee57-4ad7-9b19-d1e611ddf4f3.sub"
                },
                "owner": {
                    "id": "a2a3d042-e914-4aff-9226-742993367dcf",
                    "name": "Angeline Lubowitz",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "is_liked": 0
            },
            {
                "id": "a2a3d043-3ed4-4efb-93d8-34df83554abc",
                "title": "Qui autem sint repellendus excepturi.",
                "media_asset": {
                    "id": "a2a3d043-00e6-43fd-bc73-f40f3cf32af2",
                    "url": "http://localhost:8083/v1/media-assets/a2a3d043-00e6-43fd-bc73-f40f3cf32af2.uvvx"
                },
                "owner": {
                    "id": "a2a3d042-f9dd-4ccd-8e7f-72d6ae7dbf5b",
                    "name": "Coty Bashirian PhD",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "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"
}
 

Request      

GET v1/playlists/{playlist_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

playlist_id   string   

The ID of the playlist. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

Create

requires authentication

Add new Playlist

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 268
access-control-allow-origin: *
set-cookie: qplet_core_service_session=fZ9wf2JXasY3qjZWHx7draIFIhUJEtMdC3LXj3ZB; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3d10b-1673-4734-beb1-fa8c544ef3db",
        "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.sid",
            "filename": "enim-sunt-nisi-eumsid",
            "created_at": "2026-09-01T06:34:20+00:00",
            "type": "image",
            "analytics": {
                "views": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            }
        },
        "tracks_count": 1,
        "tracks": [
            {
                "id": "00000000-a791-4783-9845-4b571a9e579f",
                "title": "Rolling in the Deep",
                "media_asset": {
                    "id": "a2a3cf99-ddc5-40e0-8027-ee9848bc45d3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf99-ddc5-40e0-8027-ee9848bc45d3.htke"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "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"
}
 

Request      

POST v1/playlists

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

name   string   

Example: My favourite

cover_id   string  optional  

Media Asset ID. Must be a valid UUID. Example: 00000000-422e-41ff-a266-2b0a093307e6

description   string  optional  

Example: Write short or long description about your album in here ...

tracks   string[]   

Media Asset ID. Must be a valid UUID.

Update

requires authentication

Update a Playlist

Example request:
curl --request PATCH \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 267
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Yux9A6Iq06On9BuU3H4liKX2SenAtDilt6cPd2pX; expires=Tue, 01 Sep 2026 08:38:25 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.sid",
            "filename": "enim-sunt-nisi-eumsid",
            "created_at": "2026-09-01T06:34:20+00:00",
            "type": "image",
            "analytics": {
                "views": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            }
        },
        "tracks_count": 1,
        "tracks": [
            {
                "id": "00000000-a791-4783-9845-4b571a9e579f",
                "title": "Rolling in the Deep",
                "media_asset": {
                    "id": "a2a3cf99-ddc5-40e0-8027-ee9848bc45d3",
                    "url": "http://localhost:8083/v1/media-assets/a2a3cf99-ddc5-40e0-8027-ee9848bc45d3.htke"
                },
                "owner": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "genres": [],
                "analytics": {
                    "playbacks": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                },
                "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"
}
 

Request      

PATCH v1/playlists/{playlist_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

playlist_id   string   

The ID of the playlist. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

Body Parameters

name   string   

Example: My favourite

cover_id   string  optional  

Media Asset UUID. Must be a valid UUID. Example: 00000000-422e-41ff-a266-2b0a093307e6

description   string  optional  

Example: Write short or long description about your album in here ...

tracks   string[]   

Media Asset ID. Must be a valid UUID.

Delete

requires authentication

Delete a Playlist

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 266
access-control-allow-origin: *
set-cookie: qplet_core_service_session=wuVDxnywyqlNQaKqWfGWmUX3eOiuOOawBoePz4Nz; expires=Tue, 01 Sep 2026 08:38:25 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"
}
 

Request      

DELETE v1/playlists/{playlist_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

playlist_id   string   

The ID of the playlist. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

List

Endpoint for fetching all available playlists.

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/playlists?filters[name]=" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 215
access-control-allow-origin: *
set-cookie: qplet_core_service_session=FWKr9kQRLiZZ1ocB3oECu4sVqVnjtM8cRlhRzZpk; expires=Tue, 01 Sep 2026 08:38:30 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": "a2a3d03f-6ebf-47e5-b151-17fd159c96ab",
            "name": "Consectetur",
            "description": null,
            "cover": null,
            "tracks_count": 0,
            "tracks": [],
            "is_editable": true
        },
        {
            "id": "a2a3d03f-72c0-482b-a777-f897103cbf5b",
            "name": "Eaque",
            "description": null,
            "cover": null,
            "tracks_count": 0,
            "tracks": [],
            "is_editable": true
        },
        {
            "id": "a2a3d03f-7093-453a-9b38-36299aa96e7b",
            "name": "Vero",
            "description": null,
            "cover": null,
            "tracks_count": 0,
            "tracks": [],
            "is_editable": true
        }
    ]
}
 

Request      

GET v1/playlists

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object  optional  
filters.name   string  optional  

Tracks

Add track

requires authentication

Add track to the playlist

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 265
access-control-allow-origin: *
set-cookie: qplet_core_service_session=xxNlHXg1eFBWq0IWOX1m2h56zVWxxcBPjLaZYfId; expires=Tue, 01 Sep 2026 08:38:25 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"
}
 

Request      

POST v1/playlists/{playlist_id}/{track_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

playlist_id   string   

The ID of the playlist. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

track_id   string   

The ID of the track. Example: 00000000-a791-4783-9845-4b571a9e579f

Remove track

requires authentication

Remove track from the playlist

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 264
access-control-allow-origin: *
set-cookie: qplet_core_service_session=QMAxU2ezM2YIaFsr3SMan60IWWoa5CYOhpJ2mVp1; expires=Tue, 01 Sep 2026 08:38:25 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"
}
 

Request      

DELETE v1/playlists/{playlist_id}/{track_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

playlist_id   string   

The ID of the playlist. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

track_id   string   

The ID of the track. Example: 00000000-a791-4783-9845-4b571a9e579f

Tracks

Store

requires authentication

Create a track in association to an entity

Example request:
curl --request POST \
    "https://api.qplet.dev/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\": [
        \"cadeb08a-4f97-3c81-a883-c3f8a14dedc0\"
    ],
    \"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(
    "https://api.qplet.dev/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": [
        "cadeb08a-4f97-3c81-a883-c3f8a14dedc0"
    ],
    "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 = 'https://api.qplet.dev/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' => [
                'cadeb08a-4f97-3c81-a883-c3f8a14dedc0',
            ],
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 240
access-control-allow-origin: *
set-cookie: qplet_core_service_session=76l75akL1pcK9SF5ifq63pvw9d77MGOwvr8PG6UF; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3d10b-ca66-4736-b028-7c5027fc0e4b",
        "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.mdi"
        },
        "cover": {
            "id": "00000000-422e-41ff-a266-2b0a093307e6",
            "url": "https://via.placeholder.com/640x480.png/00cc77?text=dolor"
        },
        "owner": {
            "id": "00000000-df85-4307-a069-68612c4471e3",
            "name": "Admin Test Country",
            "avatar_url": null
        },
        "genres": [],
        "analytics": {
            "playbacks": 0,
            "likes": 0,
            "comments": 0,
            "shares": 0
        },
        "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"
}
 

Request      

POST v1/tracks

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

media_asset_id   string   

Must be a valid UUID. Example: 00000000-422e-41ff-a266-2b0a093307e7

cover_id   string  optional  

Must be a valid UUID. Example: 00000000-422e-41ff-a266-2b0a093307e6

album_id   string  optional  

Must be a valid UUID. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

title   string   

Example: Rolling in the Deep

genres   string[]  optional  

Must be a valid UUID.

lyrics   object   
is_own   boolean   

Example: false

author   string  optional  

Example: Hubby Bobby

content   string  optional  

Example: Lorem ipsum dolor sit amet\nconsectetur adipiscing elit\nPhasellus consectetur\nfelis eu pretium accumsan

music   object   
is_own   boolean   

Example: false

author   string  optional  

Example: Bobby Hubby

Update

requires authentication

Update own track

Example request:
curl --request PATCH \
    "https://api.qplet.dev/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\": [
        \"0f2fd8a3-dd58-36cf-b857-46d22870f719\"
    ],
    \"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(
    "https://api.qplet.dev/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": [
        "0f2fd8a3-dd58-36cf-b857-46d22870f719"
    ],
    "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 = 'https://api.qplet.dev/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' => [
                '0f2fd8a3-dd58-36cf-b857-46d22870f719',
            ],
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 239
access-control-allow-origin: *
set-cookie: qplet_core_service_session=9Y3uLatMJxwcnCSbypms2H63mY6kFEQ4I0JruNId; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "00000000-a791-4783-9845-4b571a9e579f",
        "title": "Rolling in the Deep (Updated)",
        "media_asset": {
            "id": "a2a3cf99-ddc5-40e0-8027-ee9848bc45d3",
            "url": "http://localhost:8083/v1/media-assets/a2a3cf99-ddc5-40e0-8027-ee9848bc45d3.htke"
        },
        "cover": {
            "id": "00000000-422e-41ff-a266-2b0a093307e6",
            "url": "https://via.placeholder.com/640x480.png/00cc77?text=dolor"
        },
        "owner": {
            "id": "00000000-df85-4307-a069-68612c4471e1",
            "name": "Fan Test Country",
            "avatar_url": null
        },
        "genres": [],
        "analytics": {
            "playbacks": 0,
            "likes": 0,
            "comments": 0,
            "shares": 0
        },
        "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"
}
 

Request      

PATCH v1/tracks/{track_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

track_id   string   

The ID of the track. Example: 00000000-a791-4783-9845-4b571a9e579f

Body Parameters

media_asset_id   string   

Must be a valid UUID. Example: 00000000-422e-41ff-a266-2b0a093307e7

cover_id   string  optional  

Must be a valid UUID. Example: 00000000-422e-41ff-a266-2b0a093307e6

album_id   string  optional  

Must be a valid UUID. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

title   string   

Example: Rolling in the Deep (Updated)

genres   string[]  optional  

Must be a valid UUID.

lyrics   object   
is_own   boolean   

Example: false

author   string  optional  

Example: Hubby Bobby

content   string  optional  

Example: Lorem ipsum dolor sit amet\nconsectetur adipiscing elit\nPhasellus consectetur\nfelis eu pretium accumsan

music   object   
is_own   boolean   

Example: false

author   string  optional  

Example: Bobby Hubby

Delete

requires authentication

Delete own track

Admin can remove any track

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 238
access-control-allow-origin: *
set-cookie: qplet_core_service_session=j1qmyShfjK3jC1azZE1YJJXpexiylP2eRTC8Byj5; expires=Tue, 01 Sep 2026 08:38:25 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"
}
 

Request      

DELETE v1/tracks/{track_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

track_id   string   

The ID of the track. Example: 00000000-a791-4783-9845-4b571a9e579f

List

Endpoint for fetching list of tracks

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/tracks?filters[title]=Rolling+in+the+Deep&filters[owner]=Joe+Shmoe&filters[owner_id]=00000000-df85-4307-a069-68612c4471e2&filters[genres]=%5B%22a2a3cf67-6486-434d-8134-787a574cb5b5%22%2C%22a2a3cf67-708f-4091-9289-6f4a65c3363e%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(
    "https://api.qplet.dev/v1/tracks"
);

const params = {
    "filters[title]": "Rolling in the Deep",
    "filters[owner]": "Joe Shmoe",
    "filters[owner_id]": "00000000-df85-4307-a069-68612c4471e2",
    "filters[genres]": "["a2a3cf67-6486-434d-8134-787a574cb5b5","a2a3cf67-708f-4091-9289-6f4a65c3363e"]",
    "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 = 'https://api.qplet.dev/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]' => '["a2a3cf67-6486-434d-8134-787a574cb5b5","a2a3cf67-708f-4091-9289-6f4a65c3363e"]',
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 210
access-control-allow-origin: *
set-cookie: qplet_core_service_session=HxIdGj6nlal0Ti71kxErk8sD7eYsDSyGEds8PIJL; expires=Tue, 01 Sep 2026 08:38:30 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
    }
}
 

Request      

GET v1/tracks

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object  optional  
filters.title   string  optional  

Example: Rolling in the Deep

filters.owner   string  optional  

Example: Joe Shmoe

filters.owner_id   string  optional  

Must be a valid UUID. Example: 00000000-df85-4307-a069-68612c4471e2

filters.genres   string  optional  

List of genre IDs. Must be a valid JSON string. Example: ["a2a3cf67-6486-434d-8134-787a574cb5b5","a2a3cf67-708f-4091-9289-6f4a65c3363e"]

filters.subscribed   boolean  optional  

Example: false

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Show

Returns single track

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 209
access-control-allow-origin: *
set-cookie: qplet_core_service_session=KcFg3f5donFoQHGrKYhUUpx61oZB2NAEA5JG3Ln8; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "00000000-a791-4783-9845-4b571a9e579f",
        "title": "Rolling in the Deep",
        "media_asset": {
            "id": "a2a3cf99-ddc5-40e0-8027-ee9848bc45d3",
            "url": "http://localhost:8083/v1/media-assets/a2a3cf99-ddc5-40e0-8027-ee9848bc45d3.htke"
        },
        "cover": {
            "id": "a2a3cf99-e74d-4f6d-b125-29af7f8bd673",
            "url": "https://via.placeholder.com/640x480.png/0099cc?text=similique"
        },
        "owner": {
            "id": "00000000-df85-4307-a069-68612c4471e1",
            "name": "Fan Test Country",
            "avatar_url": null
        },
        "genres": [],
        "analytics": {
            "playbacks": 0,
            "likes": 0,
            "comments": 0,
            "shares": 0
        },
        "is_liked": 0,
        "lyrics": {
            "is_own": 0,
            "author": "Calista Braun",
            "content": "Sit totam aliquam et quae veniam nam nulla. Temporibus aspernatur est voluptate iusto eaque iure nemo rerum. Expedita nihil et doloribus. Autem et at saepe consequatur aut sequi libero sit."
        },
        "music": {
            "is_own": 0,
            "author": "Santiago Anderson"
        }
    }
}
 

Example response (404):


{
    "type": "Track",
    "message": "No query results"
}
 

Request      

GET v1/tracks/{track_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

track_id   string   

The ID of the track. Example: 00000000-a791-4783-9845-4b571a9e579f

Data

MediaAssets

Own assets

requires authentication

Endpoint for fetching own MediaAssets.

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 234
access-control-allow-origin: *
set-cookie: qplet_core_service_session=UkXpqYXcm6MVIucBHmPskdwwkOYP6tDx6rotq8LU; expires=Tue, 01 Sep 2026 08:38:25 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
    }
}
 

Request      

GET v1/media-assets/my

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object  optional  
filters.type   string  optional  

Example: image

Must be one of:
  • image
  • audio
  • video
per_page   integer  optional  

Must be between 5 and 100. Example: 100

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Create

requires authentication

Add new MediaAsset

Example request:
curl --request POST \
    "https://api.qplet.dev/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=@/var/www/html/storage/app/public/logo.png" 
const url = new URL(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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('/var/www/html/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 233
access-control-allow-origin: *
set-cookie: qplet_core_service_session=JQnharAwPC3HTCOLGOKToC7mtuzkBkYIaNMGX7oE; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "6dff4992-a85a-46a7-b051-7d2ec239b26d",
        "url": "http://localhost:8083/v1/media-assets/6dff4992-a85a-46a7-b051-7d2ec239b26d.png",
        "filename": "logo.png",
        "created_at": "2026-09-01T06:38:25+00:00",
        "type": "image",
        "analytics": {
            "views": 0,
            "likes": 0,
            "comments": 0,
            "shares": 0
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (403):


{
    "message": "This action is unauthorized."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

POST v1/media-assets

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

file   file   

Must be a file. Must not be greater than 50000 kilobytes. Example: storage/app/public/logo.png

is_public   boolean  optional  

Example: false

Delete

requires authentication

Delete a MediaAsset

Example request:
curl --request DELETE \
    "https://api.qplet.dev/v1/media-assets/id" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/media-assets/id"
);

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 = 'https://api.qplet.dev/v1/media-assets/id';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 232
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=lcEKrEfn80XhDHq7MZ4400DmiCBFxx2lx7ZC4N2P; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Unable to find the media asset you requested."
}
 

Request      

DELETE v1/media-assets/{media_asset_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

media_asset_id   string   

The ID of the media asset. Example: id

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 "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 206
access-control-allow-origin: *
set-cookie: qplet_core_service_session=MnXyn6LCVS08vtB3dNQx4BkC0iGUoXP1Zv5vorTd; expires=Tue, 01 Sep 2026 08:38:30 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
    }
}
 

Request      

GET v1/media-assets

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object  optional  
filters.type   string  optional  

Example: image

Must be one of:
  • image
  • audio
  • video
filters.is_public   boolean  optional  

Example: true

filters.owner_id   string  optional  

Must be a valid UUID. Example: 00000000-df85-4307-a069-68612c4471e2

per_page   integer  optional  

Must be between 5 and 100. Example: 100

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Get file

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/media-assets/odit.quas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/media-assets/odit.quas"
);

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 = 'https://api.qplet.dev/v1/media-assets/odit.quas';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 205
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=7Wl3pPjuwDyIXtphesswkGsV3kz0RVQijJVqA6XN; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Unable to find the media asset you requested."
}
 

Request      

GET v1/media-assets/{media_asset_id}.{extension}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

media_asset_id   string   

The ID of the media asset. Example: odit

extension   string   

Example: quas

Get file

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/media-assets/download/dignissimos.officia" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/media-assets/download/dignissimos.officia"
);

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 = 'https://api.qplet.dev/v1/media-assets/download/dignissimos.officia';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 204
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Qa7xaRh9FpNptIcInknqeS8MHSNdQKnY2VESlPqX; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Unable to find the media asset you requested."
}
 

Request      

GET v1/media-assets/download/{media_asset_id}.{extension}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

media_asset_id   string   

The ID of the media asset. Example: dignissimos

extension   string   

Example: officia

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 "https://api.qplet.dev/v1/media-assets/quibusdam" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/media-assets/quibusdam"
);

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 = 'https://api.qplet.dev/v1/media-assets/quibusdam';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 203
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=VMljO9E8gpdDMqSq2BsZc1ztAL5QjVgcMZNzCOaz; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Unable to find the media asset you requested."
}
 

Request      

GET v1/media-assets/{media_asset_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

media_asset_id   string   

The ID of the media asset. Example: quibusdam

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 "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 220
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Y9C4Dp7WJJyjHpE4RaJT5h68LIiaxiXORUaS8mfE; expires=Tue, 01 Sep 2026 08:38:29 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": [
        {
            "id": "a2a3cf67-6486-434d-8134-787a574cb5b5",
            "name": "Alternative",
            "tracks": 803288
        }
    ],
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "http://localhost:8083/v1/data/genres",
        "per_page": 100,
        "to": 1,
        "total": 1
    }
}
 

Request      

GET v1/data/genres

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object  optional  
filters.name   string  optional  

Example: Alternative

filters.is_public   boolean  optional  

Example: true

per_page   integer  optional  

Must be between 5 and 100. Example: 100

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Show

Endpoint for fetching genre details

When genre is private it can only be viewed by admin

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/data/genres/a2a3cf67-6486-434d-8134-787a574cb5b5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/data/genres/a2a3cf67-6486-434d-8134-787a574cb5b5"
);

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 = 'https://api.qplet.dev/v1/data/genres/a2a3cf67-6486-434d-8134-787a574cb5b5';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 219
access-control-allow-origin: *
set-cookie: qplet_core_service_session=tqmZIxGcsuO2eZOl1ymOFnZOFmqDvl8GZCnygFQC; expires=Tue, 01 Sep 2026 08:38:29 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3cf67-6486-434d-8134-787a574cb5b5",
        "name": "Alternative",
        "tracks": 803288
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (403):


{
    "message": "This action is unauthorized."
}
 

Example response (404):


{
    "type": "Genre",
    "message": "No query results"
}
 

Request      

GET v1/data/genres/{genre_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

genre_id   string   

The ID of the genre. Example: a2a3cf67-6486-434d-8134-787a574cb5b5

Countries

Endpoint for fetching list of countries

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/data/countries" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 218
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Vfq52fMjpsd8YJTsFa0tgJ1HNitcz7dix4LlpODy; expires=Tue, 01 Sep 2026 08:38:29 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"
        }
    ]
}
 

Request      

GET v1/data/countries

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

WIP

Routes that are still in progress

Missing Implementation

POST v1/playlists/{playlist}/{media}

requires authentication

Example request:
curl --request POST \
    "https://api.qplet.dev/v1/playlists/ab/et" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/playlists/ab/et"
);

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 = 'https://api.qplet.dev/v1/playlists/ab/et';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 208
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=QqTvnZx5Q2lpQrvGQoeRzYxEMbT1wn0cP5ZvnRdx; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Unable to find the playlist you requested."
}
 

Request      

POST v1/playlists/{playlist}/{media}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

playlist   string   

The playlist. Example: ab

media   string   

Example: et

DELETE v1/playlists/{playlist}/{media}

requires authentication

Example request:
curl --request DELETE \
    "https://api.qplet.dev/v1/playlists/id/ut" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/playlists/id/ut"
);

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 = 'https://api.qplet.dev/v1/playlists/id/ut';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 207
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=jSJ1NVk5hx9coqfGHthTFYOaco1pjwvKLwfaFF5A; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Unable to find the playlist you requested."
}
 

Request      

DELETE v1/playlists/{playlist}/{media}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

playlist   string   

The playlist. Example: id

media   string   

Example: ut

POST v1/interest/{entity}/{id}

requires authentication

Example request:
curl --request POST \
    "https://api.qplet.dev/v1/interest/sint/est" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/interest/sint/est"
);

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 = 'https://api.qplet.dev/v1/interest/sint/est';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 196
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Tw28uztX1s4GxN8mbPGiEt3IqysNpsXL6NOZYRyy; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 


 

Request      

POST v1/interest/{entity}/{id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

entity   string   

Example: sint

id   string   

The ID of the {entity}. Example: est

DELETE v1/interest/{entity}/{id}

requires authentication

Example request:
curl --request DELETE \
    "https://api.qplet.dev/v1/interest/deserunt/et" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/interest/deserunt/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 = 'https://api.qplet.dev/v1/interest/deserunt/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 (200):

Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
api-version: 20230101-000000
x-ratelimit-limit: 300
x-ratelimit-remaining: 195
access-control-allow-origin: *
set-cookie: qplet_core_service_session=QM08N41n96zICc4TMWreo2NguvV9wrYHsesbloSv; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 


 

Request      

DELETE v1/interest/{entity}/{id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

entity   string   

Example: deserunt

id   string   

The ID of the {entity}. Example: et

GET v1/notifications

requires authentication

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 194
access-control-allow-origin: *
set-cookie: qplet_core_service_session=8ZtYjsM9dd5tCLvbW6QeXLFFbYpo0OftVMRI16bA; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 


 

Request      

GET v1/notifications

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

GET v1/notifications/{notification}/read

requires authentication

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/notifications/tempora/read" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/notifications/tempora/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 = 'https://api.qplet.dev/v1/notifications/tempora/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 193
access-control-allow-origin: *
set-cookie: qplet_core_service_session=oCzhSvOgBCbUpNbqr3q2TAexAFKUmZ1GnaEZModo; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 


 

Request      

GET v1/notifications/{notification}/read

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

notification   string   

The notification. Example: tempora

GET v1/settings

requires authentication

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 192
access-control-allow-origin: *
set-cookie: qplet_core_service_session=j8WrdeXFPz0T8pB76h5gZTmQsE7Rs8to38PqTSKn; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 


 

Request      

GET v1/settings

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

PATCH v1/settings

requires authentication

Example request:
curl --request PATCH \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 191
access-control-allow-origin: *
set-cookie: qplet_core_service_session=YyQEalLBBsSPMjvrbHBCnfNo9Jzru7UFwW2vDFJa; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 


 

Request      

PATCH v1/settings

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Development

Refresh DB

Runs the migrations from scratch + runs dev seeders after

Equal to: php artisan migrate:fresh --seed

Example request:
curl --request POST \
    "https://api.qplet.dev/v1/dev/db/fresh" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
 

Request      

POST v1/dev/db/fresh

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

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 "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 299
access-control-allow-origin: *
set-cookie: qplet_core_service_session=I45bK8D9l9XDnWtSbNoQBPYjmwwbwPmFg2YzVhrW; expires=Tue, 01 Sep 2026 08:38:23 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."
}
 

Request      

GET v1/health

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Genres

Create

requires authentication

Add new Genre

Example request:
curl --request POST \
    "https://api.qplet.dev/v1/genres" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US" \
    --data "{
    \"name\": \"esse\",
    \"is_public\": false
}"
const url = new URL(
    "https://api.qplet.dev/v1/genres"
);

const headers = {
    "Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en-US",
};

let body = {
    "name": "esse",
    "is_public": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.qplet.dev/v1/genres';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en-US',
        ],
        'json' => [
            'name' => 'esse',
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 295
access-control-allow-origin: *
set-cookie: qplet_core_service_session=K8cyZyEFCMUiR42bAFmM1uhENiJzC8pPJn4DNYa6; expires=Tue, 01 Sep 2026 08:38:23 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3d108-cb26-4bdb-a699-df045c823d65",
        "name": "esse",
        "tracks": 0
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (403):


{
    "message": "This action is unauthorized."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

POST v1/genres

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

name   string   

Example: esse

is_public   boolean   

Example: false

Update

requires authentication

Update a Genre

Example request:
curl --request PATCH \
    "https://api.qplet.dev/v1/genres/a2a3cf67-6486-434d-8134-787a574cb5b5" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US" \
    --data "{
    \"name\": \"voluptatum\",
    \"is_public\": false
}"
const url = new URL(
    "https://api.qplet.dev/v1/genres/a2a3cf67-6486-434d-8134-787a574cb5b5"
);

const headers = {
    "Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en-US",
};

let body = {
    "name": "voluptatum",
    "is_public": false
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.qplet.dev/v1/genres/a2a3cf67-6486-434d-8134-787a574cb5b5';
$response = $client->patch(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en-US',
        ],
        'json' => [
            'name' => 'voluptatum',
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 294
access-control-allow-origin: *
set-cookie: qplet_core_service_session=8X8Aw316dpbRqRALAwcDoaGDfujmdyyIjTDQnJF4; expires=Tue, 01 Sep 2026 08:38:23 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3cf67-6486-434d-8134-787a574cb5b5",
        "name": "voluptatum",
        "tracks": 803288
    }
}
 

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"
}
 

Request      

PATCH v1/genres/{genre_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

genre_id   string   

The ID of the genre. Example: a2a3cf67-6486-434d-8134-787a574cb5b5

Body Parameters

name   string   

Example: voluptatum

is_public   boolean   

Example: false

Delete

requires authentication

Delete a Genre

Example request:
curl --request DELETE \
    "https://api.qplet.dev/v1/genres/a2a3cf67-6486-434d-8134-787a574cb5b5" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/genres/a2a3cf67-6486-434d-8134-787a574cb5b5"
);

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 = 'https://api.qplet.dev/v1/genres/a2a3cf67-6486-434d-8134-787a574cb5b5';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 293
access-control-allow-origin: *
set-cookie: qplet_core_service_session=tAXPoCAy6TmB2qkDE7f0nCeMGmqgg7MIfKEQVJ2n; expires=Tue, 01 Sep 2026 08:38:23 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"
}
 

Request      

DELETE v1/genres/{genre_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

genre_id   string   

The ID of the genre. Example: a2a3cf67-6486-434d-8134-787a574cb5b5

User

Update user

requires authentication

Update user details using user ID

Example request:
curl --request PATCH \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

PATCH v1/users/{user_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Body Parameters

name   string  optional  

Must be a full name of the user. Example: Joe Shmoe

password   string  optional  

Must be at least 8 characters. Example: Ye4oKoEa3Ro9ll

password_repeat   string  optional  

The password_repeat and password must match. This field is required when password is present. The value and password must match. Example: Ye4oKoEa3Ro9ll

profile   object  optional  
gender   string  optional  

Example: male

Must be one of:
  • male
  • female
nickname   string  optional  

Must be unique. Must match the regex /^[A-Za-z0-9_-]+$/. Must be between 6 and 20 characters. Example: joe_shmoe

website   string  optional  

Fully qualified URL. Must be a valid URL. Example: https://qplet.ru

about   string  optional  

Freeform multiline input. Example: Im Joe Shmoe

I love singing and dancing.`

avatar_id   string  optional  

MediaAssets ID that belongs to the user. Example: 00000000-422e-41ff-a266-2b0a093307e6

cover_id   string  optional  

MediaAssets ID that belongs to the user. Example: 00000000-422e-41ff-a266-2b0a093307e6

birthdate   string  optional  

Must be a valid date in the format Y-m-d. Example: 2000-01-01

Ban

requires authentication

Disable user account

Example request:
curl --request POST \
    "https://api.qplet.dev/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\": \"2026-10-01T06:38:24+00:00\"
}"
const url = new URL(
    "https://api.qplet.dev/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": "2026-10-01T06:38:24+00:00"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.qplet.dev/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' => '2026-10-01T06:38:24+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"
}
 

Request      

POST v1/users/{user_id}/ban

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Body Parameters

until   string  optional  

Must be a valid date in the format Y-m-d\TH:i:sP. Example: 2026-10-01T06:38:24+00:00

Unban

requires authentication

Activate user account

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

DELETE v1/users/{user_id}/ban

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Delete

requires authentication

Soft delete user from database

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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"
}
 

Request      

DELETE v1/users/{user_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Complaints

Show

requires authentication

Returns single Complaint

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/complaints/doloremque" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/complaints/doloremque"
);

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 = 'https://api.qplet.dev/v1/complaints/doloremque';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 250
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=gjaX173DhpVjLCQwdlIz35L7vkB7RJ4KLdVbaSpA; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Unable to find the complaint you requested."
}
 

Request      

GET v1/complaints/{complaint}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

complaint   string   

The complaint. Example: doloremque

List

requires authentication

Endpoint for fetching list of complaints

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 249
access-control-allow-origin: *
set-cookie: qplet_core_service_session=2Z3Z3U2b4pxLF9ZcSqVPvCe31GwKm5w2cks9Fkjp; expires=Tue, 01 Sep 2026 08:38:25 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
    }
}
 

Request      

GET v1/complaints

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object  optional  
filters.author_id   string  optional  

Must be a valid UUID. Example: 00000000-df85-4307-a069-68612c4471e1

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Analytics

Country

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 202
access-control-allow-origin: *
set-cookie: qplet_core_service_session=1nb5stbOV83NALMjzYfcWDV9NEolPcyNxKove06p; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "views": 0,
        "subscriptions": 26,
        "subscribers": 0,
        "events": 1,
        "tracks": 1,
        "playlists": 3,
        "albums": 3
    }
}
 

Request      

GET v1/analytics/users/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

user_id   string   

The ID of the user. Example: 00000000-df85-4307-a069-68612c4471e1

Playlist

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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 (200):

Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
x-ratelimit-limit: 300
x-ratelimit-remaining: 201
access-control-allow-origin: *
set-cookie: qplet_core_service_session=KEuANgHbnwVzJvBZFIZ4f7AEcwULSglEgi9YYJXK; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "tracks": 430578,
        "likes": 0
    }
}
 

Request      

GET v1/analytics/playlists/{playlist_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

playlist_id   string   

The ID of the playlist. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

Album

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 200
access-control-allow-origin: *
set-cookie: qplet_core_service_session=V9AMbmj44iqmZBhgMNcYIwUDYrg4jKd5J1tzWaWN; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "tracks": 0,
        "likes": 0
    }
}
 

Request      

GET v1/analytics/albums/{album_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

album_id   string   

The ID of the album. Example: 00000000-b7fa-4324-b250-a3c6c78b65c4

Track

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 199
access-control-allow-origin: *
set-cookie: qplet_core_service_session=cXZpxFsluNAi38525Qsv0c1BSI2C54vEVFXIvH3N; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "likes": 0,
        "playbacks": 0,
        "playlists": 1
    }
}
 

Request      

GET v1/analytics/tracks/{track_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

track_id   string   

The ID of the track. Example: 00000000-a791-4783-9845-4b571a9e579f

Post

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 198
access-control-allow-origin: *
set-cookie: qplet_core_service_session=TDTBCAHOLKA6LBDa0j8TS5WYKd2YlEZl0RFSIMiz; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "likes": 0,
        "comments": 0,
        "views": 0
    }
}
 

Request      

GET v1/analytics/posts/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

post_id   string   

The ID of the post. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

Complaints

List types

Endpoint for fetching list of complaint types

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/complaints/types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 297
access-control-allow-origin: *
set-cookie: qplet_core_service_session=nQiDk2zorFI8Uud1iXtccCv0jjssXnUqXYowAqJH; expires=Tue, 01 Sep 2026 08:38:22 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": [
        {
            "name": "album"
        },
        {
            "name": "event"
        },
        {
            "name": "comment"
        },
        {
            "name": "playlist"
        },
        {
            "name": "post"
        },
        {
            "name": "track"
        },
        {
            "name": "user"
        },
        {
            "name": "message"
        },
        {
            "name": "conversation"
        }
    ]
}
 

Request      

GET v1/complaints/types

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

List reasons

Endpoint for fetching list of complaint types

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/complaints/types/laboriosam/reasons" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/complaints/types/laboriosam/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 = 'https://api.qplet.dev/v1/complaints/types/laboriosam/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 296
access-control-allow-origin: *
set-cookie: qplet_core_service_session=vXgip8KPADoldhqcGiOd2OkzvgmfI9HkXlHzieqT; expires=Tue, 01 Sep 2026 08:38:23 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Server Error"
}
 

Request      

GET v1/complaints/types/{type}/reasons

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

type   string   

The type. Example: laboriosam

Store

requires authentication

Create a Complaint

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 248
access-control-allow-origin: *
set-cookie: qplet_core_service_session=aA4AMsp7QXG1CCaGsETjKjbXA12Q5t1KIwTIUEFL; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3d10b-9909-4f8b-8990-694aadcdf2c2",
        "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": "Et illo consectetur et corrupti qui inventore sunt. Voluptatem iure ipsam magnam libero cupiditate."
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

POST v1/complaints

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

reason_id   string   

Example: 00000000-a24e-421f-94b4-c12974b3a0d9

entity   string   

Example: post

Must be one of:
  • album
  • event
  • comment
  • playlist
  • post
  • track
  • user
  • message
  • conversation
entity_id   string   

Must be a valid UUID. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

message   string  optional  

Example: Post contains inappropriate wording.

Delete

requires authentication

Delete own Complaint

Admin can remove any Complaint

Example request:
curl --request DELETE \
    "https://api.qplet.dev/v1/complaints/natus" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/complaints/natus"
);

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 = 'https://api.qplet.dev/v1/complaints/natus';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 247
api-version: 20230101-000000
access-control-allow-origin: *
set-cookie: qplet_core_service_session=w6uiUrVXRcJO9U0OKSDnnC3Ood5vMj9A5cTgx5ne; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Unable to find the complaint you requested."
}
 

Request      

DELETE v1/complaints/{complaint}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

complaint   string   

The complaint. Example: natus

Contacts

Show

requires authentication

Returns single contact

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/contact/ullam" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/contact/ullam"
);

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 = 'https://api.qplet.dev/v1/contact/ullam';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 246
access-control-allow-origin: *
set-cookie: qplet_core_service_session=HfUUU0PJv2wmrf0ljkkf9ZpoLkuDBDXaDfslaOiz; expires=Tue, 01 Sep 2026 08:38:25 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"
}
 

Request      

GET v1/contact/{complaint}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

complaint   string   

Example: ullam

List

requires authentication

Endpoint for fetching list of contacts

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 245
access-control-allow-origin: *
set-cookie: qplet_core_service_session=dc0wOlldbJTSZbvOI53mJDe4bWZ30Qa2fyJA4fcp; expires=Tue, 01 Sep 2026 08:38:25 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
    }
}
 

Request      

GET v1/contact

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Delete

requires authentication

Delete own contact

Admin can remove any contact

Example request:
curl --request DELETE \
    "https://api.qplet.dev/v1/contact/temporibus" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/contact/temporibus"
);

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 = 'https://api.qplet.dev/v1/contact/temporibus';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 244
access-control-allow-origin: *
set-cookie: qplet_core_service_session=WWb9iBz9KOZqQhU2qwKwCLCB0n2QhUj6sDhbsXAI; expires=Tue, 01 Sep 2026 08:38:25 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"
}
 

Request      

DELETE v1/contact/{complaint}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

complaint   string   

Example: temporibus

Store

Create a contact with optionally shared entity

Example request:
curl --request POST \
    "https://api.qplet.dev/v1/contact" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US" \
    --data "{
    \"name\": \"Estel D\'Amore\",
    \"email\": \"dustin80@yahoo.com\",
    \"message\": \"Iure debitis exercitationem tempora at enim consequatur sunt. Omnis dicta et necessitatibus illo sed. Architecto et non commodi eius. Vitae provident cum sed numquam tempore.\"
}"
const url = new URL(
    "https://api.qplet.dev/v1/contact"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en-US",
};

let body = {
    "name": "Estel D'Amore",
    "email": "dustin80@yahoo.com",
    "message": "Iure debitis exercitationem tempora at enim consequatur sunt. Omnis dicta et necessitatibus illo sed. Architecto et non commodi eius. Vitae provident cum sed numquam tempore."
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.qplet.dev/v1/contact';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en-US',
        ],
        'json' => [
            'name' => 'Estel D\'Amore',
            'email' => 'dustin80@yahoo.com',
            'message' => 'Iure debitis exercitationem tempora at enim consequatur sunt. Omnis dicta et necessitatibus illo sed. Architecto et non commodi eius. Vitae provident cum sed numquam tempore.',
        ],
    ]
);
$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: 190
access-control-allow-origin: *
set-cookie: qplet_core_service_session=onAih0QLRnkyDMTHk89hJ2WoOhVgo7WG4paEhZw9; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3d113-15b1-4e92-aaab-74ebc8fb4fad",
        "name": "Estel D'Amore",
        "email": "dustin80@yahoo.com",
        "message": "Iure debitis exercitationem tempora at enim consequatur sunt. Omnis dicta et necessitatibus illo sed. Architecto et non commodi eius. Vitae provident cum sed numquam tempore."
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

POST v1/contact

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

name   string   

Example: Estel D'Amore

email   string   

Must be a valid email address. Example: dustin80@yahoo.com

message   string   

Example: Iure debitis exercitationem tempora at enim consequatur sunt. Omnis dicta et necessitatibus illo sed. Architecto et non commodi eius. Vitae provident cum sed numquam tempore.

Conversations

Chats

List

requires authentication

Endpoint for fetching a list of conversations

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 263
access-control-allow-origin: *
set-cookie: qplet_core_service_session=ro4idVy1RIFwrR2K6nsob7DDmYDJTaD0sdreooew; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": [
        {
            "id": "a2a3d04a-97c6-4565-9190-dcbf0442c5de",
            "name": "Fan Test Country",
            "unread_count": 0,
            "latest_message": {
                "id": "a2a3d04b-93e3-473e-a9e4-b58f9cf038c9",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Delectus natus quibusdam voluptatibus neque ut. Illo minus et nisi.",
                "created_at": 1788244572
            },
            "participants": [
                {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                }
            ]
        },
        {
            "id": "a2a3d04b-96fe-40f7-a677-d60164eecd01",
            "name": "Author Test Country",
            "unread_count": 0,
            "latest_message": {
                "id": "a2a3d04c-a31d-40fc-86b1-6399f625ed91",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Animi sapiente beatae sapiente iste omnis. Fugit numquam hic quo est neque atque quod totam. Nostrum qui vero similique eos quidem dolorem.",
                "created_at": 1788244573
            },
            "participants": [
                {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                }
            ]
        },
        {
            "id": "a2a3d049-07de-4553-8202-b5077d00dc2e",
            "name": "Author Test Country",
            "unread_count": 0,
            "latest_message": {
                "id": "a2a3d04a-0c29-4d87-bd97-b06a196c32ca",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Alias rerum aliquid et consequatur. Atque voluptatem culpa excepturi totam blanditiis aut. Id esse molestias ex possimus rerum animi.",
                "created_at": 1788244571
            },
            "participants": [
                {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                }
            ]
        },
        {
            "id": "a2a3d046-9fd8-44e8-b6ca-b88a54181a04",
            "name": "Fan Test Country",
            "unread_count": 0,
            "latest_message": {
                "id": "a2a3d047-8d01-420d-aecf-abdf56bc9172",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Consequuntur debitis id ullam ratione. Impedit repudiandae facere quidem minus molestiae magnam reprehenderit.",
                "created_at": 1788244570
            },
            "participants": [
                {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                }
            ]
        },
        {
            "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
            "name": "Fan Test Country, Author Test Country",
            "unread_count": 0,
            "latest_message": {
                "id": "a2a3d04a-93f8-4914-8d62-e4e8c144740f",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Consequuntur aut neque tenetur quia harum. Autem soluta aut et temporibus sit. Aspernatur sit fugit veritatis ut et aut fugiat. Praesentium quia nihil repellat consequatur qui.",
                "created_at": 1788244572
            },
            "participants": [
                {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                }
            ]
        }
    ],
    "meta": {
        "path": "http://localhost:8083/v1/conversations",
        "per_page": 20,
        "next_cursor": null,
        "prev_cursor": null
    }
}
 

Request      

GET v1/conversations

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

requires authentication

Global search across conversations

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/conversations/search" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/conversations/search"
);

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 = 'https://api.qplet.dev/v1/conversations/search';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 262
access-control-allow-origin: *
set-cookie: qplet_core_service_session=g9Juf73eRtYHUHFFkU0hByZBEskCZ3LAx4uePsVB; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": [
        {
            "id": "7ac8ab55-6731-40b8-84ba-d0b63191a8c3",
            "type": "message",
            "match": "This is a sample message containing the search term."
        },
        {
            "id": "7aae5b91-3e71-4255-bb02-4eb8fecf0c80",
            "type": "participant",
            "match": "Anita"
        },
        {
            "id": "024384a8-d462-46d9-a05c-a39d09fafbc8",
            "type": "participant",
            "match": "User with name matching the search term."
        }
    ]
}
 

Show

requires authentication

Returns single conversation with a list of recent messages

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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 (200):

Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
x-ratelimit-limit: 300
x-ratelimit-remaining: 261
access-control-allow-origin: *
set-cookie: qplet_core_service_session=y3ZHCEfAOx6JNrAnrCXTkdAlOKBCCBzDmH0H3vt3; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
        "name": "Fan Test Country, Author Test Country",
        "unread_count": 0,
        "participants": [
            {
                "id": "00000000-df85-4307-a069-68612c4471e1",
                "name": "Fan Test Country",
                "avatar_url": null
            },
            {
                "id": "00000000-df85-4307-a069-68612c4471e2",
                "name": "Author Test Country",
                "avatar_url": null
            },
            {
                "id": "00000000-df85-4307-a069-68612c4471e3",
                "name": "Admin Test Country",
                "avatar_url": null
            }
        ],
        "messages": [
            {
                "id": "a2a3d045-26a5-41ca-81cc-10a8d929a79c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quam et ut minus quidem. Quia enim totam temporibus voluptas culpa qui inventore ipsum. Quo est ipsam vero et praesentium adipisci et.",
                "created_at": 1788244470
            },
            {
                "id": "a2a3d045-2e82-4bf5-923e-107ed28d69fe",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quia eligendi sit sed cupiditate sit dolore. Tempora minima ducimus aliquam ut eveniet eos. Qui praesentium reiciendis molestiae cumque.",
                "created_at": 1788244477
            },
            {
                "id": "a2a3d045-35c5-44ab-ad0f-41ee8b2e2699",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Rerum ea repellat voluptatem ut alias. Explicabo sit culpa doloremque corrupti nihil animi voluptate. Aut magnam dolore impedit dolor libero. Cumque maiores quibusdam consequatur eveniet et.",
                "created_at": 1788244484
            },
            {
                "id": "a2a3d045-3cd9-4a86-8121-d4feeb24c447",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quisquam error architecto commodi non sapiente odit aut. Pariatur quis corrupti quas velit veniam. Dolorum odit quis id et et autem.",
                "created_at": 1788244491
            },
            {
                "id": "a2a3d045-43d8-4ab9-9185-cdaafcc20270",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Qui nihil quo ea voluptas fuga accusamus. Impedit quasi dolorum beatae distinctio quo. Soluta nemo alias rerum iusto labore.",
                "created_at": 1788244498
            },
            {
                "id": "a2a3d045-4bb2-475b-bea7-b4aa5d064e7b",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quia omnis autem necessitatibus vero. Aut eum sit quae eum. Rem officiis totam eos ex et enim esse. Cum enim quo excepturi est magni nostrum ad consequuntur.",
                "created_at": 1788244505
            },
            {
                "id": "a2a3d045-53d9-48bc-9105-47763dfc28d9",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Debitis animi ducimus omnis placeat. Natus cumque architecto et ea sunt nobis aut omnis. Qui repellat fugit vero.",
                "created_at": 1788244512
            },
            {
                "id": "a2a3d045-5aec-4a38-a48d-1a9ded8a14b2",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Consectetur voluptatum aspernatur doloribus quod neque cupiditate. Ut qui ipsam beatae maiores beatae voluptatem.",
                "created_at": 1788244519
            },
            {
                "id": "a2a3d045-629b-43c6-bf06-452bad82659b",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Aut nemo quia temporibus soluta blanditiis dolor non. Excepturi quibusdam nihil et consequatur qui aut molestias. Debitis dolor necessitatibus et illo facere.",
                "created_at": 1788244526
            },
            {
                "id": "a2a3d045-6aad-4161-9d9e-f6bca3118e41",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quis mollitia dicta ab debitis. Reprehenderit qui veritatis quia qui et voluptate animi autem. Et enim error cumque non assumenda beatae sit facilis.",
                "created_at": 1788244533
            },
            {
                "id": "a2a3d045-7220-4248-9612-912e6dd3026a",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Eligendi odio quasi doloremque beatae quae est culpa. Ut a aut rerum. Pariatur qui enim magni deleniti alias soluta pariatur. Culpa accusamus consequatur saepe soluta harum dolores ipsa.",
                "created_at": 1788244540
            },
            {
                "id": "a2a3d045-7a84-4d42-a68e-21cd48dba34a",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Nihil et sunt ut et et. Aut quisquam maiores soluta officia doloribus dolorem ut. Accusantium non consequuntur rerum qui repellendus. Sit nostrum eum sed ex et odio.",
                "created_at": 1788244547
            },
            {
                "id": "a2a3d045-829d-47f5-ab7c-bc73ea9cc313",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quasi delectus et placeat aut asperiores perferendis. Iure provident id quod soluta nisi iusto ut. Voluptates sit odit magnam voluptatem. Laboriosam earum maiores minima non explicabo ipsam.",
                "created_at": 1788244554
            },
            {
                "id": "a2a3d045-8a04-46c9-926c-bf47581b3f8c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Fugiat ratione doloremque excepturi. Eligendi et autem tempora exercitationem. Voluptatem quo vel quia dicta optio impedit. Voluptatem sit et dolorem et.",
                "created_at": 1788244561
            },
            {
                "id": "a2a3d045-9245-4868-b57f-0c1e7c7330bc",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Nihil magnam sint eligendi quaerat adipisci qui libero. Accusamus et officiis doloremque minima exercitationem pariatur. Nisi quidem non quae incidunt et sed itaque.",
                "created_at": 1788244568
            },
            {
                "id": "a2a3d047-9c96-4ae0-a402-9cbce8caf118",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Et optio eius consequatur fugiat. Veniam delectus beatae dignissimos. Repudiandae temporibus excepturi officiis quia dolorem aut quidem nobis. Temporibus corporis cum corrupti quas qui non tempora.",
                "created_at": 1788244472
            },
            {
                "id": "a2a3d047-a3a8-496d-af5b-10ecef6773fc",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Aperiam sint corporis odio. Neque possimus quam nulla aut dolore illum eveniet. Amet cum ipsam tempore nam.",
                "created_at": 1788244479
            },
            {
                "id": "a2a3d047-ac6b-4540-85a8-ee8df2b6741d",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Reiciendis consequatur quia ullam laudantium temporibus repellendus harum. Eos impedit et assumenda sed unde est natus culpa. Asperiores est ex pariatur natus quia eveniet.",
                "created_at": 1788244486
            },
            {
                "id": "a2a3d047-b4b3-424b-9e09-c741ef1435f8",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Ut tempore praesentium aut ab debitis. Vero ab rem error debitis repellat reiciendis quo quia.",
                "created_at": 1788244493
            },
            {
                "id": "a2a3d047-bc94-47b1-9492-159634c0c691",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Sed sunt natus rerum ut est voluptas maxime. Libero modi nesciunt quia et. Animi ex aut maxime nemo maxime commodi.",
                "created_at": 1788244500
            },
            {
                "id": "a2a3d047-c52d-4e45-89a0-b3bf417adcbf",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Quaerat tempore neque labore iste. Quo amet ut ut et maiores. Aspernatur illum qui cupiditate.",
                "created_at": 1788244507
            },
            {
                "id": "a2a3d047-cc9f-4d3c-b938-0d05f9abd11a",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Illum sint earum est veritatis quae sunt. Aut fugit non ea reprehenderit. Nihil voluptatum consequatur neque sit et expedita.",
                "created_at": 1788244514
            },
            {
                "id": "a2a3d047-d3f9-448c-b44c-4fd4309fae19",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Molestias ea dicta dolores nam. Asperiores ex nulla ipsam qui. Qui molestiae molestias commodi consequuntur et id. Quae fugit ea asperiores rerum perspiciatis. Quia eligendi eius cumque sed et.",
                "created_at": 1788244521
            },
            {
                "id": "a2a3d047-db6d-4682-8ed6-c11bedf65172",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Minima sed iusto provident enim ut beatae. Distinctio vero sint commodi magni. Magnam non reprehenderit sed explicabo odio id. Ipsa voluptas ab labore magnam nulla.",
                "created_at": 1788244528
            },
            {
                "id": "a2a3d047-e333-4ef9-8819-db9a17118632",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Voluptatem magni porro provident. Aut ut dolores magni eveniet ducimus. Excepturi aliquid fugiat voluptatem aut dignissimos voluptatem aut ab.",
                "created_at": 1788244535
            },
            {
                "id": "a2a3d047-eb79-44fe-95b0-181fed71399d",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Ut et quos saepe ea adipisci qui saepe. Quae est vel ipsum nostrum mollitia ut vitae quia.",
                "created_at": 1788244542
            },
            {
                "id": "a2a3d047-f352-4082-9483-a4c36fab63b6",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Tempora minima minus quos temporibus quam minus iusto. Odio dolore velit et nobis expedita sint est temporibus. Aut dolores in consequatur fugiat.",
                "created_at": 1788244549
            },
            {
                "id": "a2a3d047-fd02-4962-9683-9b06210ec62c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Distinctio distinctio sed labore amet impedit. Fugit enim adipisci ea quam. Ut quisquam fugit voluptate ratione quas reprehenderit.",
                "created_at": 1788244556
            },
            {
                "id": "a2a3d048-0626-4279-85ca-3cd3ab0866bb",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Aperiam dolor repudiandae et. Eaque eius ut iusto tenetur aliquam quidem.",
                "created_at": 1788244563
            },
            {
                "id": "a2a3d048-0dff-4c08-9753-40b653f1c87d",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Atque adipisci autem rerum sed eveniet. Est earum nesciunt autem sunt. Autem est impedit non. Maiores qui eius dicta qui. Qui excepturi ad veniam nobis nihil libero consequatur.",
                "created_at": 1788244570
            },
            {
                "id": "a2a3d04a-1c21-4a07-af46-eeba1af3f434",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "In culpa cum harum vel. Et officia et porro a eaque enim. Omnis deleniti omnis dolor possimus.",
                "created_at": 1788244473
            },
            {
                "id": "a2a3d04a-2656-4dbe-bff7-25f5c6af93a9",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Nemo quod et et nam molestias. Minima maxime voluptate natus eaque alias consectetur.",
                "created_at": 1788244480
            },
            {
                "id": "a2a3d04a-2e16-437a-8a06-f5eeb08c64de",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Vel dolores rerum similique blanditiis libero ut placeat. Sequi omnis magnam ratione beatae. Magni ex animi quo et maiores sint deleniti perspiciatis. Et rerum et dicta sit.",
                "created_at": 1788244487
            },
            {
                "id": "a2a3d04a-3b0b-4d18-b0e4-48b452869171",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Itaque minus rerum hic totam. Dolor porro voluptas consequuntur rerum. Hic error aliquid eum qui dolores distinctio.",
                "created_at": 1788244494
            },
            {
                "id": "a2a3d04a-41a8-4ae9-8ab8-c9edeb3534ac",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Ea eum eum ut consectetur voluptas pariatur. Inventore et libero voluptatem quae perspiciatis architecto.",
                "created_at": 1788244501
            },
            {
                "id": "a2a3d04a-4c06-44d5-97a3-9fbcfea23b6b",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Est laudantium aut et voluptas aut. Quia possimus a odio consectetur omnis odio ipsum. Quia nihil repellendus fugiat laborum voluptatem ipsa necessitatibus quis.",
                "created_at": 1788244508
            },
            {
                "id": "a2a3d04a-556b-40fe-ba44-b95359fea6ad",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Porro magni porro omnis illo. Qui odio facere et. Ut omnis sapiente quas est delectus beatae. Nisi est aut sed.",
                "created_at": 1788244515
            },
            {
                "id": "a2a3d04a-5cfd-4d9b-9f8d-fa131455273f",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Autem est sit officia ut libero. Ut modi aut maiores. Mollitia quisquam aliquam maiores assumenda sequi id voluptas. Maxime asperiores illo quia eos neque sint numquam.",
                "created_at": 1788244523
            },
            {
                "id": "a2a3d04a-6447-4d9d-8e7c-1855b79ef5cf",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Dicta ipsum dignissimos expedita voluptates. Tempore amet est aliquid in qui. Aperiam enim nemo tempore.",
                "created_at": 1788244530
            },
            {
                "id": "a2a3d04a-6b0e-482a-b920-956969166c0c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Ut eos et assumenda nemo inventore et. Est non vel enim odio sunt ab.",
                "created_at": 1788244537
            },
            {
                "id": "a2a3d04a-731f-4bbe-b4ed-7ffb99410427",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Non assumenda voluptatem labore. Quo tempora a et repellat. Laudantium perspiciatis nihil deserunt non.",
                "created_at": 1788244544
            },
            {
                "id": "a2a3d04a-79fb-47b6-8031-b65fa3eb80ed",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Corporis in repudiandae eum eum nostrum inventore. Voluptatem et deserunt facilis alias fugit. Placeat qui est recusandae dolor blanditiis recusandae in.",
                "created_at": 1788244551
            },
            {
                "id": "a2a3d04a-8161-4657-87c8-421b2e52ed41",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Temporibus quo et quia odio dicta placeat aut. Saepe iusto inventore sint et consequatur adipisci.",
                "created_at": 1788244558
            },
            {
                "id": "a2a3d04a-8bd7-4342-b5f4-f149d2cc129f",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Ut quisquam iusto doloribus soluta commodi qui. Beatae dolore repellendus iure earum non hic in. Repellat et saepe autem voluptatem.",
                "created_at": 1788244565
            },
            {
                "id": "a2a3d04a-93f8-4914-8d62-e4e8c144740f",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Consequuntur aut neque tenetur quia harum. Autem soluta aut et temporibus sit. Aspernatur sit fugit veritatis ut et aut fugiat. Praesentium quia nihil repellat consequatur qui.",
                "created_at": 1788244572
            }
        ]
    }
}
 

Example response (404):


{
    "type": "Conversation",
    "message": "No query results"
}
 

Request      

GET v1/conversations/{conversation_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

conversation_id   string   

The ID of the conversation. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

Store

requires authentication

Create a conversation in association to an entity

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 260
access-control-allow-origin: *
set-cookie: qplet_core_service_session=n787IOlF3LJDg98gFyfzQjh1qROo58IKaQq4Cc9H; expires=Tue, 01 Sep 2026 08:38:25 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."
        ]
    }
}
 

Request      

POST v1/conversations

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

name   string  optional  

This field is required when type or group is present. Example: Name

type   string   

Example: private

Must be one of:
  • private
  • group
participants   string[]   

Must be a valid UUID.

Update

requires authentication

Update own conversation

Example request:
curl --request PATCH \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 259
access-control-allow-origin: *
set-cookie: qplet_core_service_session=9EUocET8UOOwEniYvOFK4Zd0X5Rb2jD8rtb4SMDW; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
        "name": "Fan Test Country, Author Test Country",
        "unread_count": 0,
        "participants": [
            {
                "id": "00000000-df85-4307-a069-68612c4471e1",
                "name": "Fan Test Country",
                "avatar_url": null
            },
            {
                "id": "00000000-df85-4307-a069-68612c4471e2",
                "name": "Author Test Country",
                "avatar_url": null
            },
            {
                "id": "00000000-df85-4307-a069-68612c4471e3",
                "name": "Admin Test Country",
                "avatar_url": 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"
}
 

Request      

PATCH v1/conversations/{conversation_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

conversation_id   string   

The ID of the conversation. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

Body Parameters

name   string  optional  

This field is required when type or group is present. Example: New name

Delete

requires authentication

Delete own conversation

Admin can remove any conversation

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 258
access-control-allow-origin: *
set-cookie: qplet_core_service_session=YPQQGZk8v20JT9Y0JsjYeVk9DzwF7PmLXk3skxVL; expires=Tue, 01 Sep 2026 08:38:25 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"
}
 

Request      

DELETE v1/conversations/{conversation_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

conversation_id   string   

The ID of the conversation. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

Settings

requires authentication

Returns settings for specific conversation

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/settings" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/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 = 'https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 257
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Q7jGHmaJofRXGqWKO9LDqxllhltMTwFxhI2ow5xy; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
        "name": "Fan Test Country, Author Test Country",
        "unread_count": 0,
        "participants": [
            {
                "id": "00000000-df85-4307-a069-68612c4471e1",
                "name": "Fan Test Country",
                "avatar_url": null
            },
            {
                "id": "00000000-df85-4307-a069-68612c4471e2",
                "name": "Author Test Country",
                "avatar_url": null
            },
            {
                "id": "00000000-df85-4307-a069-68612c4471e3",
                "name": "Admin Test Country",
                "avatar_url": null
            }
        ],
        "messages": [
            {
                "id": "a2a3d045-26a5-41ca-81cc-10a8d929a79c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quam et ut minus quidem. Quia enim totam temporibus voluptas culpa qui inventore ipsum. Quo est ipsam vero et praesentium adipisci et.",
                "created_at": 1788244470
            },
            {
                "id": "a2a3d045-2e82-4bf5-923e-107ed28d69fe",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quia eligendi sit sed cupiditate sit dolore. Tempora minima ducimus aliquam ut eveniet eos. Qui praesentium reiciendis molestiae cumque.",
                "created_at": 1788244477
            },
            {
                "id": "a2a3d045-35c5-44ab-ad0f-41ee8b2e2699",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Rerum ea repellat voluptatem ut alias. Explicabo sit culpa doloremque corrupti nihil animi voluptate. Aut magnam dolore impedit dolor libero. Cumque maiores quibusdam consequatur eveniet et.",
                "created_at": 1788244484
            },
            {
                "id": "a2a3d045-3cd9-4a86-8121-d4feeb24c447",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quisquam error architecto commodi non sapiente odit aut. Pariatur quis corrupti quas velit veniam. Dolorum odit quis id et et autem.",
                "created_at": 1788244491
            },
            {
                "id": "a2a3d045-43d8-4ab9-9185-cdaafcc20270",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Qui nihil quo ea voluptas fuga accusamus. Impedit quasi dolorum beatae distinctio quo. Soluta nemo alias rerum iusto labore.",
                "created_at": 1788244498
            },
            {
                "id": "a2a3d045-4bb2-475b-bea7-b4aa5d064e7b",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quia omnis autem necessitatibus vero. Aut eum sit quae eum. Rem officiis totam eos ex et enim esse. Cum enim quo excepturi est magni nostrum ad consequuntur.",
                "created_at": 1788244505
            },
            {
                "id": "a2a3d045-53d9-48bc-9105-47763dfc28d9",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Debitis animi ducimus omnis placeat. Natus cumque architecto et ea sunt nobis aut omnis. Qui repellat fugit vero.",
                "created_at": 1788244512
            },
            {
                "id": "a2a3d045-5aec-4a38-a48d-1a9ded8a14b2",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Consectetur voluptatum aspernatur doloribus quod neque cupiditate. Ut qui ipsam beatae maiores beatae voluptatem.",
                "created_at": 1788244519
            },
            {
                "id": "a2a3d045-629b-43c6-bf06-452bad82659b",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Aut nemo quia temporibus soluta blanditiis dolor non. Excepturi quibusdam nihil et consequatur qui aut molestias. Debitis dolor necessitatibus et illo facere.",
                "created_at": 1788244526
            },
            {
                "id": "a2a3d045-6aad-4161-9d9e-f6bca3118e41",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quis mollitia dicta ab debitis. Reprehenderit qui veritatis quia qui et voluptate animi autem. Et enim error cumque non assumenda beatae sit facilis.",
                "created_at": 1788244533
            },
            {
                "id": "a2a3d045-7220-4248-9612-912e6dd3026a",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Eligendi odio quasi doloremque beatae quae est culpa. Ut a aut rerum. Pariatur qui enim magni deleniti alias soluta pariatur. Culpa accusamus consequatur saepe soluta harum dolores ipsa.",
                "created_at": 1788244540
            },
            {
                "id": "a2a3d045-7a84-4d42-a68e-21cd48dba34a",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Nihil et sunt ut et et. Aut quisquam maiores soluta officia doloribus dolorem ut. Accusantium non consequuntur rerum qui repellendus. Sit nostrum eum sed ex et odio.",
                "created_at": 1788244547
            },
            {
                "id": "a2a3d045-829d-47f5-ab7c-bc73ea9cc313",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quasi delectus et placeat aut asperiores perferendis. Iure provident id quod soluta nisi iusto ut. Voluptates sit odit magnam voluptatem. Laboriosam earum maiores minima non explicabo ipsam.",
                "created_at": 1788244554
            },
            {
                "id": "a2a3d045-8a04-46c9-926c-bf47581b3f8c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Fugiat ratione doloremque excepturi. Eligendi et autem tempora exercitationem. Voluptatem quo vel quia dicta optio impedit. Voluptatem sit et dolorem et.",
                "created_at": 1788244561
            },
            {
                "id": "a2a3d045-9245-4868-b57f-0c1e7c7330bc",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Nihil magnam sint eligendi quaerat adipisci qui libero. Accusamus et officiis doloremque minima exercitationem pariatur. Nisi quidem non quae incidunt et sed itaque.",
                "created_at": 1788244568
            },
            {
                "id": "a2a3d047-9c96-4ae0-a402-9cbce8caf118",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Et optio eius consequatur fugiat. Veniam delectus beatae dignissimos. Repudiandae temporibus excepturi officiis quia dolorem aut quidem nobis. Temporibus corporis cum corrupti quas qui non tempora.",
                "created_at": 1788244472
            },
            {
                "id": "a2a3d047-a3a8-496d-af5b-10ecef6773fc",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Aperiam sint corporis odio. Neque possimus quam nulla aut dolore illum eveniet. Amet cum ipsam tempore nam.",
                "created_at": 1788244479
            },
            {
                "id": "a2a3d047-ac6b-4540-85a8-ee8df2b6741d",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Reiciendis consequatur quia ullam laudantium temporibus repellendus harum. Eos impedit et assumenda sed unde est natus culpa. Asperiores est ex pariatur natus quia eveniet.",
                "created_at": 1788244486
            },
            {
                "id": "a2a3d047-b4b3-424b-9e09-c741ef1435f8",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Ut tempore praesentium aut ab debitis. Vero ab rem error debitis repellat reiciendis quo quia.",
                "created_at": 1788244493
            },
            {
                "id": "a2a3d047-bc94-47b1-9492-159634c0c691",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Sed sunt natus rerum ut est voluptas maxime. Libero modi nesciunt quia et. Animi ex aut maxime nemo maxime commodi.",
                "created_at": 1788244500
            },
            {
                "id": "a2a3d047-c52d-4e45-89a0-b3bf417adcbf",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Quaerat tempore neque labore iste. Quo amet ut ut et maiores. Aspernatur illum qui cupiditate.",
                "created_at": 1788244507
            },
            {
                "id": "a2a3d047-cc9f-4d3c-b938-0d05f9abd11a",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Illum sint earum est veritatis quae sunt. Aut fugit non ea reprehenderit. Nihil voluptatum consequatur neque sit et expedita.",
                "created_at": 1788244514
            },
            {
                "id": "a2a3d047-d3f9-448c-b44c-4fd4309fae19",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Molestias ea dicta dolores nam. Asperiores ex nulla ipsam qui. Qui molestiae molestias commodi consequuntur et id. Quae fugit ea asperiores rerum perspiciatis. Quia eligendi eius cumque sed et.",
                "created_at": 1788244521
            },
            {
                "id": "a2a3d047-db6d-4682-8ed6-c11bedf65172",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Minima sed iusto provident enim ut beatae. Distinctio vero sint commodi magni. Magnam non reprehenderit sed explicabo odio id. Ipsa voluptas ab labore magnam nulla.",
                "created_at": 1788244528
            },
            {
                "id": "a2a3d047-e333-4ef9-8819-db9a17118632",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Voluptatem magni porro provident. Aut ut dolores magni eveniet ducimus. Excepturi aliquid fugiat voluptatem aut dignissimos voluptatem aut ab.",
                "created_at": 1788244535
            },
            {
                "id": "a2a3d047-eb79-44fe-95b0-181fed71399d",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Ut et quos saepe ea adipisci qui saepe. Quae est vel ipsum nostrum mollitia ut vitae quia.",
                "created_at": 1788244542
            },
            {
                "id": "a2a3d047-f352-4082-9483-a4c36fab63b6",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Tempora minima minus quos temporibus quam minus iusto. Odio dolore velit et nobis expedita sint est temporibus. Aut dolores in consequatur fugiat.",
                "created_at": 1788244549
            },
            {
                "id": "a2a3d047-fd02-4962-9683-9b06210ec62c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Distinctio distinctio sed labore amet impedit. Fugit enim adipisci ea quam. Ut quisquam fugit voluptate ratione quas reprehenderit.",
                "created_at": 1788244556
            },
            {
                "id": "a2a3d048-0626-4279-85ca-3cd3ab0866bb",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Aperiam dolor repudiandae et. Eaque eius ut iusto tenetur aliquam quidem.",
                "created_at": 1788244563
            },
            {
                "id": "a2a3d048-0dff-4c08-9753-40b653f1c87d",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Atque adipisci autem rerum sed eveniet. Est earum nesciunt autem sunt. Autem est impedit non. Maiores qui eius dicta qui. Qui excepturi ad veniam nobis nihil libero consequatur.",
                "created_at": 1788244570
            },
            {
                "id": "a2a3d04a-1c21-4a07-af46-eeba1af3f434",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "In culpa cum harum vel. Et officia et porro a eaque enim. Omnis deleniti omnis dolor possimus.",
                "created_at": 1788244473
            },
            {
                "id": "a2a3d04a-2656-4dbe-bff7-25f5c6af93a9",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Nemo quod et et nam molestias. Minima maxime voluptate natus eaque alias consectetur.",
                "created_at": 1788244480
            },
            {
                "id": "a2a3d04a-2e16-437a-8a06-f5eeb08c64de",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Vel dolores rerum similique blanditiis libero ut placeat. Sequi omnis magnam ratione beatae. Magni ex animi quo et maiores sint deleniti perspiciatis. Et rerum et dicta sit.",
                "created_at": 1788244487
            },
            {
                "id": "a2a3d04a-3b0b-4d18-b0e4-48b452869171",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Itaque minus rerum hic totam. Dolor porro voluptas consequuntur rerum. Hic error aliquid eum qui dolores distinctio.",
                "created_at": 1788244494
            },
            {
                "id": "a2a3d04a-41a8-4ae9-8ab8-c9edeb3534ac",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Ea eum eum ut consectetur voluptas pariatur. Inventore et libero voluptatem quae perspiciatis architecto.",
                "created_at": 1788244501
            },
            {
                "id": "a2a3d04a-4c06-44d5-97a3-9fbcfea23b6b",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Est laudantium aut et voluptas aut. Quia possimus a odio consectetur omnis odio ipsum. Quia nihil repellendus fugiat laborum voluptatem ipsa necessitatibus quis.",
                "created_at": 1788244508
            },
            {
                "id": "a2a3d04a-556b-40fe-ba44-b95359fea6ad",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Porro magni porro omnis illo. Qui odio facere et. Ut omnis sapiente quas est delectus beatae. Nisi est aut sed.",
                "created_at": 1788244515
            },
            {
                "id": "a2a3d04a-5cfd-4d9b-9f8d-fa131455273f",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Autem est sit officia ut libero. Ut modi aut maiores. Mollitia quisquam aliquam maiores assumenda sequi id voluptas. Maxime asperiores illo quia eos neque sint numquam.",
                "created_at": 1788244523
            },
            {
                "id": "a2a3d04a-6447-4d9d-8e7c-1855b79ef5cf",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Dicta ipsum dignissimos expedita voluptates. Tempore amet est aliquid in qui. Aperiam enim nemo tempore.",
                "created_at": 1788244530
            },
            {
                "id": "a2a3d04a-6b0e-482a-b920-956969166c0c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Ut eos et assumenda nemo inventore et. Est non vel enim odio sunt ab.",
                "created_at": 1788244537
            },
            {
                "id": "a2a3d04a-731f-4bbe-b4ed-7ffb99410427",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Non assumenda voluptatem labore. Quo tempora a et repellat. Laudantium perspiciatis nihil deserunt non.",
                "created_at": 1788244544
            },
            {
                "id": "a2a3d04a-79fb-47b6-8031-b65fa3eb80ed",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Corporis in repudiandae eum eum nostrum inventore. Voluptatem et deserunt facilis alias fugit. Placeat qui est recusandae dolor blanditiis recusandae in.",
                "created_at": 1788244551
            },
            {
                "id": "a2a3d04a-8161-4657-87c8-421b2e52ed41",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Temporibus quo et quia odio dicta placeat aut. Saepe iusto inventore sint et consequatur adipisci.",
                "created_at": 1788244558
            },
            {
                "id": "a2a3d04a-8bd7-4342-b5f4-f149d2cc129f",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Ut quisquam iusto doloribus soluta commodi qui. Beatae dolore repellendus iure earum non hic in. Repellat et saepe autem voluptatem.",
                "created_at": 1788244565
            },
            {
                "id": "a2a3d04a-93f8-4914-8d62-e4e8c144740f",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Consequuntur aut neque tenetur quia harum. Autem soluta aut et temporibus sit. Aspernatur sit fugit veritatis ut et aut fugiat. Praesentium quia nihil repellat consequatur qui.",
                "created_at": 1788244572
            }
        ]
    }
}
 

Example response (404):


{
    "type": "Conversation",
    "message": "No query results"
}
 

Request      

GET v1/conversations/{conversation_id}/settings

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

conversation_id   string   

The ID of the conversation. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

Messages

requires authentication

Search within a specific conversation

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/search" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/search"
);

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 = 'https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/search';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 256
access-control-allow-origin: *
set-cookie: qplet_core_service_session=4emPhr5aZ1BQUIcMuIvhhIJ51SzJp0G96UiqVPYT; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": [
        {
            "id": "7ac8ab55-6731-40b8-84ba-d0b63191a8c3",
            "type": "message",
            "match": "This is a sample message containing the search term."
        },
        {
            "id": "7aae5b91-3e71-4255-bb02-4eb8fecf0c80",
            "type": "message",
            "match": "User with name matching the search term."
        }
    ]
}
 

Example response (404):


{
    "type": "Conversation",
    "message": "No query results"
}
 

Store

requires authentication

Send a message to user or conversation

Example request:
curl --request POST \
    "https://api.qplet.dev/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\",
    \"attachments\": [
        \"0d256194-08fd-3951-87f4-f73f0d9d604e\"
    ]
}"
const url = new URL(
    "https://api.qplet.dev/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",
    "attachments": [
        "0d256194-08fd-3951-87f4-f73f0d9d604e"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.qplet.dev/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',
            'attachments' => [
                '0d256194-08fd-3951-87f4-f73f0d9d604e',
            ],
        ],
    ]
);
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 255
access-control-allow-origin: *
set-cookie: qplet_core_service_session=HtMtLKT7WRsxij7k44eZ2B4scbKpRybM3g2R83cW; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "The selected attachments.0 is invalid.",
    "errors": {
        "attachments.0": [
            "The selected attachments.0 is invalid."
        ]
    }
}
 

Request      

POST v1/conversations/{conversation_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

conversation_id   string   

The ID of the conversation. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

Body Parameters

content   string   

Example: My message to the private chat

attachments   string[]   

Must be a valid UUID.

Update

requires authentication

Update own message

Example request:
curl --request PATCH \
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/a2a3d045-26a5-41ca-81cc-10a8d929a79c" \
    --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(
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/a2a3d045-26a5-41ca-81cc-10a8d929a79c"
);

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 = 'https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/a2a3d045-26a5-41ca-81cc-10a8d929a79c';
$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 (200):

Show headers
cache-control: no-cache, private
content-type: application/json
api-version: 20230101-000000
x-ratelimit-limit: 300
x-ratelimit-remaining: 254
access-control-allow-origin: *
set-cookie: qplet_core_service_session=EQ3e12x5xF45n6YbE4oOyP5jaag5mFpeboEqiM6T; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3d045-26a5-41ca-81cc-10a8d929a79c",
        "author": {
            "id": "00000000-df85-4307-a069-68612c4471e1",
            "name": "Fan Test Country",
            "avatar_url": null
        },
        "content": "My conversation to the private",
        "created_at": 1788244470,
        "updated_at": 1788244705
    }
}
 

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"
}
 

Request      

PATCH v1/conversations/{conversation_id}/{message_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

conversation_id   string   

The ID of the conversation. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

message_id   string   

The ID of the message. Example: a2a3d045-26a5-41ca-81cc-10a8d929a79c

Body Parameters

content   string   

Example: My conversation to the private

Delete

requires authentication

Delete own message

Admin can remove any message

Example request:
curl --request DELETE \
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/a2a3d045-26a5-41ca-81cc-10a8d929a79c" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/a2a3d045-26a5-41ca-81cc-10a8d929a79c"
);

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 = 'https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/a2a3d045-26a5-41ca-81cc-10a8d929a79c';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 253
access-control-allow-origin: *
set-cookie: qplet_core_service_session=gS06fgtCePUcJ6cQzWoATI5toShM41jCN4S3shvA; expires=Tue, 01 Sep 2026 08:38:25 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": "Message",
    "message": "No query results"
}
 

Request      

DELETE v1/conversations/{conversation_id}/{message_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

conversation_id   string   

The ID of the conversation. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

message_id   string   

The ID of the message. Example: a2a3d045-26a5-41ca-81cc-10a8d929a79c

Participants

List participants

requires authentication

Get a list of users participating in this conversation.

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/participants" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/participants"
);

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 = 'https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/participants';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 252
access-control-allow-origin: *
set-cookie: qplet_core_service_session=FRCx18J47VGtWjrymjvWRedKXq43w7P9Sf0yPdX6; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": [
        {
            "id": "00000000-df85-4307-a069-68612c4471e1",
            "name": "Fan Test Country",
            "analytics": {
                "tracks": 1,
                "albums": 3,
                "subscribers": 0
            }
        },
        {
            "id": "00000000-df85-4307-a069-68612c4471e2",
            "name": "Author Test Country",
            "analytics": {
                "tracks": 4,
                "albums": 0,
                "subscribers": 25
            }
        },
        {
            "id": "00000000-df85-4307-a069-68612c4471e3",
            "name": "Admin Test Country",
            "email": "admin@qplet.ru",
            "analytics": {
                "tracks": 1,
                "albums": 3,
                "subscribers": 0
            }
        }
    ]
}
 

Request      

GET v1/conversations/{conversation_id}/participants

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

conversation_id   string   

The ID of the conversation. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

Add participants

requires authentication

Add one or more existing users to the conversation.

Example request:
curl --request POST \
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/participants" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US" \
    --data "{
    \"participants\": [
        \"00000000-df85-4307-a069-68612c4471e2\"
    ]
}"
const url = new URL(
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/participants"
);

const headers = {
    "Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en-US",
};

let body = {
    "participants": [
        "00000000-df85-4307-a069-68612c4471e2"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/participants';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en-US',
        ],
        'json' => [
            'participants' => [
                '00000000-df85-4307-a069-68612c4471e2',
            ],
        ],
    ]
);
$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: 251
access-control-allow-origin: *
set-cookie: qplet_core_service_session=DNPElto22t74dIuRX6ylAki1XYgyVsJj8cLD65eu; expires=Tue, 01 Sep 2026 08:38:25 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "00000000-53f7-4a5b-8c34-e171172c8ba8",
        "name": "Fan Test Country, Author Test Country",
        "unread_count": 0,
        "participants": [
            {
                "id": "00000000-df85-4307-a069-68612c4471e1",
                "name": "Fan Test Country",
                "avatar_url": null
            },
            {
                "id": "00000000-df85-4307-a069-68612c4471e2",
                "name": "Author Test Country",
                "avatar_url": null
            },
            {
                "id": "00000000-df85-4307-a069-68612c4471e3",
                "name": "Admin Test Country",
                "avatar_url": null
            }
        ],
        "messages": [
            {
                "id": "a2a3d045-26a5-41ca-81cc-10a8d929a79c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quam et ut minus quidem. Quia enim totam temporibus voluptas culpa qui inventore ipsum. Quo est ipsam vero et praesentium adipisci et.",
                "created_at": 1788244470
            },
            {
                "id": "a2a3d045-2e82-4bf5-923e-107ed28d69fe",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quia eligendi sit sed cupiditate sit dolore. Tempora minima ducimus aliquam ut eveniet eos. Qui praesentium reiciendis molestiae cumque.",
                "created_at": 1788244477
            },
            {
                "id": "a2a3d045-35c5-44ab-ad0f-41ee8b2e2699",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Rerum ea repellat voluptatem ut alias. Explicabo sit culpa doloremque corrupti nihil animi voluptate. Aut magnam dolore impedit dolor libero. Cumque maiores quibusdam consequatur eveniet et.",
                "created_at": 1788244484
            },
            {
                "id": "a2a3d045-3cd9-4a86-8121-d4feeb24c447",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quisquam error architecto commodi non sapiente odit aut. Pariatur quis corrupti quas velit veniam. Dolorum odit quis id et et autem.",
                "created_at": 1788244491
            },
            {
                "id": "a2a3d045-43d8-4ab9-9185-cdaafcc20270",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Qui nihil quo ea voluptas fuga accusamus. Impedit quasi dolorum beatae distinctio quo. Soluta nemo alias rerum iusto labore.",
                "created_at": 1788244498
            },
            {
                "id": "a2a3d045-4bb2-475b-bea7-b4aa5d064e7b",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quia omnis autem necessitatibus vero. Aut eum sit quae eum. Rem officiis totam eos ex et enim esse. Cum enim quo excepturi est magni nostrum ad consequuntur.",
                "created_at": 1788244505
            },
            {
                "id": "a2a3d045-53d9-48bc-9105-47763dfc28d9",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Debitis animi ducimus omnis placeat. Natus cumque architecto et ea sunt nobis aut omnis. Qui repellat fugit vero.",
                "created_at": 1788244512
            },
            {
                "id": "a2a3d045-5aec-4a38-a48d-1a9ded8a14b2",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Consectetur voluptatum aspernatur doloribus quod neque cupiditate. Ut qui ipsam beatae maiores beatae voluptatem.",
                "created_at": 1788244519
            },
            {
                "id": "a2a3d045-629b-43c6-bf06-452bad82659b",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Aut nemo quia temporibus soluta blanditiis dolor non. Excepturi quibusdam nihil et consequatur qui aut molestias. Debitis dolor necessitatibus et illo facere.",
                "created_at": 1788244526
            },
            {
                "id": "a2a3d045-6aad-4161-9d9e-f6bca3118e41",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quis mollitia dicta ab debitis. Reprehenderit qui veritatis quia qui et voluptate animi autem. Et enim error cumque non assumenda beatae sit facilis.",
                "created_at": 1788244533
            },
            {
                "id": "a2a3d045-7220-4248-9612-912e6dd3026a",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Eligendi odio quasi doloremque beatae quae est culpa. Ut a aut rerum. Pariatur qui enim magni deleniti alias soluta pariatur. Culpa accusamus consequatur saepe soluta harum dolores ipsa.",
                "created_at": 1788244540
            },
            {
                "id": "a2a3d045-7a84-4d42-a68e-21cd48dba34a",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Nihil et sunt ut et et. Aut quisquam maiores soluta officia doloribus dolorem ut. Accusantium non consequuntur rerum qui repellendus. Sit nostrum eum sed ex et odio.",
                "created_at": 1788244547
            },
            {
                "id": "a2a3d045-829d-47f5-ab7c-bc73ea9cc313",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Quasi delectus et placeat aut asperiores perferendis. Iure provident id quod soluta nisi iusto ut. Voluptates sit odit magnam voluptatem. Laboriosam earum maiores minima non explicabo ipsam.",
                "created_at": 1788244554
            },
            {
                "id": "a2a3d045-8a04-46c9-926c-bf47581b3f8c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Fugiat ratione doloremque excepturi. Eligendi et autem tempora exercitationem. Voluptatem quo vel quia dicta optio impedit. Voluptatem sit et dolorem et.",
                "created_at": 1788244561
            },
            {
                "id": "a2a3d045-9245-4868-b57f-0c1e7c7330bc",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e1",
                    "name": "Fan Test Country",
                    "avatar_url": null
                },
                "content": "Nihil magnam sint eligendi quaerat adipisci qui libero. Accusamus et officiis doloremque minima exercitationem pariatur. Nisi quidem non quae incidunt et sed itaque.",
                "created_at": 1788244568
            },
            {
                "id": "a2a3d047-9c96-4ae0-a402-9cbce8caf118",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Et optio eius consequatur fugiat. Veniam delectus beatae dignissimos. Repudiandae temporibus excepturi officiis quia dolorem aut quidem nobis. Temporibus corporis cum corrupti quas qui non tempora.",
                "created_at": 1788244472
            },
            {
                "id": "a2a3d047-a3a8-496d-af5b-10ecef6773fc",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Aperiam sint corporis odio. Neque possimus quam nulla aut dolore illum eveniet. Amet cum ipsam tempore nam.",
                "created_at": 1788244479
            },
            {
                "id": "a2a3d047-ac6b-4540-85a8-ee8df2b6741d",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Reiciendis consequatur quia ullam laudantium temporibus repellendus harum. Eos impedit et assumenda sed unde est natus culpa. Asperiores est ex pariatur natus quia eveniet.",
                "created_at": 1788244486
            },
            {
                "id": "a2a3d047-b4b3-424b-9e09-c741ef1435f8",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Ut tempore praesentium aut ab debitis. Vero ab rem error debitis repellat reiciendis quo quia.",
                "created_at": 1788244493
            },
            {
                "id": "a2a3d047-bc94-47b1-9492-159634c0c691",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Sed sunt natus rerum ut est voluptas maxime. Libero modi nesciunt quia et. Animi ex aut maxime nemo maxime commodi.",
                "created_at": 1788244500
            },
            {
                "id": "a2a3d047-c52d-4e45-89a0-b3bf417adcbf",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Quaerat tempore neque labore iste. Quo amet ut ut et maiores. Aspernatur illum qui cupiditate.",
                "created_at": 1788244507
            },
            {
                "id": "a2a3d047-cc9f-4d3c-b938-0d05f9abd11a",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Illum sint earum est veritatis quae sunt. Aut fugit non ea reprehenderit. Nihil voluptatum consequatur neque sit et expedita.",
                "created_at": 1788244514
            },
            {
                "id": "a2a3d047-d3f9-448c-b44c-4fd4309fae19",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Molestias ea dicta dolores nam. Asperiores ex nulla ipsam qui. Qui molestiae molestias commodi consequuntur et id. Quae fugit ea asperiores rerum perspiciatis. Quia eligendi eius cumque sed et.",
                "created_at": 1788244521
            },
            {
                "id": "a2a3d047-db6d-4682-8ed6-c11bedf65172",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Minima sed iusto provident enim ut beatae. Distinctio vero sint commodi magni. Magnam non reprehenderit sed explicabo odio id. Ipsa voluptas ab labore magnam nulla.",
                "created_at": 1788244528
            },
            {
                "id": "a2a3d047-e333-4ef9-8819-db9a17118632",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Voluptatem magni porro provident. Aut ut dolores magni eveniet ducimus. Excepturi aliquid fugiat voluptatem aut dignissimos voluptatem aut ab.",
                "created_at": 1788244535
            },
            {
                "id": "a2a3d047-eb79-44fe-95b0-181fed71399d",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Ut et quos saepe ea adipisci qui saepe. Quae est vel ipsum nostrum mollitia ut vitae quia.",
                "created_at": 1788244542
            },
            {
                "id": "a2a3d047-f352-4082-9483-a4c36fab63b6",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Tempora minima minus quos temporibus quam minus iusto. Odio dolore velit et nobis expedita sint est temporibus. Aut dolores in consequatur fugiat.",
                "created_at": 1788244549
            },
            {
                "id": "a2a3d047-fd02-4962-9683-9b06210ec62c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Distinctio distinctio sed labore amet impedit. Fugit enim adipisci ea quam. Ut quisquam fugit voluptate ratione quas reprehenderit.",
                "created_at": 1788244556
            },
            {
                "id": "a2a3d048-0626-4279-85ca-3cd3ab0866bb",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Aperiam dolor repudiandae et. Eaque eius ut iusto tenetur aliquam quidem.",
                "created_at": 1788244563
            },
            {
                "id": "a2a3d048-0dff-4c08-9753-40b653f1c87d",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e2",
                    "name": "Author Test Country",
                    "avatar_url": null
                },
                "content": "Atque adipisci autem rerum sed eveniet. Est earum nesciunt autem sunt. Autem est impedit non. Maiores qui eius dicta qui. Qui excepturi ad veniam nobis nihil libero consequatur.",
                "created_at": 1788244570
            },
            {
                "id": "a2a3d04a-1c21-4a07-af46-eeba1af3f434",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "In culpa cum harum vel. Et officia et porro a eaque enim. Omnis deleniti omnis dolor possimus.",
                "created_at": 1788244473
            },
            {
                "id": "a2a3d04a-2656-4dbe-bff7-25f5c6af93a9",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Nemo quod et et nam molestias. Minima maxime voluptate natus eaque alias consectetur.",
                "created_at": 1788244480
            },
            {
                "id": "a2a3d04a-2e16-437a-8a06-f5eeb08c64de",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Vel dolores rerum similique blanditiis libero ut placeat. Sequi omnis magnam ratione beatae. Magni ex animi quo et maiores sint deleniti perspiciatis. Et rerum et dicta sit.",
                "created_at": 1788244487
            },
            {
                "id": "a2a3d04a-3b0b-4d18-b0e4-48b452869171",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Itaque minus rerum hic totam. Dolor porro voluptas consequuntur rerum. Hic error aliquid eum qui dolores distinctio.",
                "created_at": 1788244494
            },
            {
                "id": "a2a3d04a-41a8-4ae9-8ab8-c9edeb3534ac",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Ea eum eum ut consectetur voluptas pariatur. Inventore et libero voluptatem quae perspiciatis architecto.",
                "created_at": 1788244501
            },
            {
                "id": "a2a3d04a-4c06-44d5-97a3-9fbcfea23b6b",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Est laudantium aut et voluptas aut. Quia possimus a odio consectetur omnis odio ipsum. Quia nihil repellendus fugiat laborum voluptatem ipsa necessitatibus quis.",
                "created_at": 1788244508
            },
            {
                "id": "a2a3d04a-556b-40fe-ba44-b95359fea6ad",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Porro magni porro omnis illo. Qui odio facere et. Ut omnis sapiente quas est delectus beatae. Nisi est aut sed.",
                "created_at": 1788244515
            },
            {
                "id": "a2a3d04a-5cfd-4d9b-9f8d-fa131455273f",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Autem est sit officia ut libero. Ut modi aut maiores. Mollitia quisquam aliquam maiores assumenda sequi id voluptas. Maxime asperiores illo quia eos neque sint numquam.",
                "created_at": 1788244523
            },
            {
                "id": "a2a3d04a-6447-4d9d-8e7c-1855b79ef5cf",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Dicta ipsum dignissimos expedita voluptates. Tempore amet est aliquid in qui. Aperiam enim nemo tempore.",
                "created_at": 1788244530
            },
            {
                "id": "a2a3d04a-6b0e-482a-b920-956969166c0c",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Ut eos et assumenda nemo inventore et. Est non vel enim odio sunt ab.",
                "created_at": 1788244537
            },
            {
                "id": "a2a3d04a-731f-4bbe-b4ed-7ffb99410427",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Non assumenda voluptatem labore. Quo tempora a et repellat. Laudantium perspiciatis nihil deserunt non.",
                "created_at": 1788244544
            },
            {
                "id": "a2a3d04a-79fb-47b6-8031-b65fa3eb80ed",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Corporis in repudiandae eum eum nostrum inventore. Voluptatem et deserunt facilis alias fugit. Placeat qui est recusandae dolor blanditiis recusandae in.",
                "created_at": 1788244551
            },
            {
                "id": "a2a3d04a-8161-4657-87c8-421b2e52ed41",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Temporibus quo et quia odio dicta placeat aut. Saepe iusto inventore sint et consequatur adipisci.",
                "created_at": 1788244558
            },
            {
                "id": "a2a3d04a-8bd7-4342-b5f4-f149d2cc129f",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Ut quisquam iusto doloribus soluta commodi qui. Beatae dolore repellendus iure earum non hic in. Repellat et saepe autem voluptatem.",
                "created_at": 1788244565
            },
            {
                "id": "a2a3d04a-93f8-4914-8d62-e4e8c144740f",
                "author": {
                    "id": "00000000-df85-4307-a069-68612c4471e3",
                    "name": "Admin Test Country",
                    "avatar_url": null
                },
                "content": "Consequuntur aut neque tenetur quia harum. Autem soluta aut et temporibus sit. Aspernatur sit fugit veritatis ut et aut fugiat. Praesentium quia nihil repellat consequatur qui.",
                "created_at": 1788244572
            }
        ]
    }
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

POST v1/conversations/{conversation_id}/participants

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

conversation_id   string   

The ID of the conversation. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

Body Parameters

participants   string[]   

Array of User UUIDs to add.

Remove participant

requires authentication

Remove a user from the conversation.

Example request:
curl --request DELETE \
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/participants" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US" \
    --data "{
    \"user_id\": \"00000000-df85-4307-a069-68612c4471e2\"
}"
const url = new URL(
    "https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/participants"
);

const headers = {
    "Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en-US",
};

let body = {
    "user_id": "00000000-df85-4307-a069-68612c4471e2"
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.qplet.dev/v1/conversations/00000000-53f7-4a5b-8c34-e171172c8ba8/participants';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en-US',
        ],
        'json' => [
            'user_id' => '00000000-df85-4307-a069-68612c4471e2',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (204):

Empty response
 

Request      

DELETE v1/conversations/{conversation_id}/participants

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

conversation_id   string   

The ID of the conversation. Example: 00000000-53f7-4a5b-8c34-e171172c8ba8

Body Parameters

user_id   string   

The UUID of the user to remove. Example: 00000000-df85-4307-a069-68612c4471e2

Events

Store

requires authentication

Create a event with optionally shared entity

Example request:
curl --request POST \
    "https://api.qplet.dev/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\": \"2026-10-01\",
    \"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(
    "https://api.qplet.dev/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": "2026-10-01",
    "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 = 'https://api.qplet.dev/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' => '2026-10-01',
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 279
access-control-allow-origin: *
set-cookie: qplet_core_service_session=YWU890t3p4k5zLbD8KwPVVzMlR9zWu7DVFGSiD1v; expires=Tue, 01 Sep 2026 08:38:24 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "id": "a2a3d10a-5b6e-4462-b862-2aad3bc745bf",
        "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": "2026-10-01",
        "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.sid"
        },
        "cover": {
            "id": "00000000-422e-41ff-a266-2b0a093307e6",
            "url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.sid"
        },
        "media": null,
        "tags": null,
        "created_at": 1788244704,
        "analytics": {
            "interested": 0,
            "subscribed": 0,
            "views": 0,
            "likes": 0,
            "comments": 0,
            "shares": 0
        }
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

POST v1/events

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

title   string   

Example: My Event content

date   string   

Must be a valid date in the format Y-m-d. Example: 2026-10-01

time   string  optional  

Must be a valid date in the format H:i:s. Example: 18:00

type   string  optional  

Example: online

Must be one of:
  • online
  • onsite
  • hybrid
location   string  optional  

Example: Metro Manila

seats   integer  optional  

Example: 500

website   string  optional  

Must be a valid URL. Example: https://www.example.com

content   string  optional  

Example: Some information about My Event. So this is the content.

banner_id   string  optional  

Example: 00000000-422e-41ff-a266-2b0a093307e6

cover_id   string  optional  

Example: 00000000-422e-41ff-a266-2b0a093307e6

media   object  optional  
tags   object  optional  

Update

requires authentication

Update own event

Example request:
curl --request PATCH \
    "https://api.qplet.dev/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\": \"2026-10-01\",
    \"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(
    "https://api.qplet.dev/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": "2026-10-01",
    "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 = 'https://api.qplet.dev/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' => '2026-10-01',
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 278
access-control-allow-origin: *
set-cookie: qplet_core_service_session=HUuAjqriAaYR2TK3iPOzyK0BhlpImOMDyrafyMYq; expires=Tue, 01 Sep 2026 08:38:24 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": "2026-10-01",
        "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.sid"
        },
        "cover": {
            "id": "00000000-422e-41ff-a266-2b0a093307e6",
            "url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.sid"
        },
        "media": null,
        "tags": null,
        "created_at": 1788244574,
        "updated_at": 1788244704,
        "analytics": {
            "interested": 0,
            "subscribed": 3,
            "views": 0,
            "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"
}
 

Request      

PATCH v1/events/{event_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

event_id   string   

The ID of the event. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

Body Parameters

title   string   

Example: My Event content

date   string   

Must be a valid date in the format Y-m-d. Example: 2026-10-01

time   string  optional  

Must be a valid date in the format H:i:s. Example: 18:00

type   string  optional  

Example: online

Must be one of:
  • online
  • onsite
  • hybrid
location   string  optional  

Example: Metro Manila

seats   integer  optional  

Example: 500

website   string  optional  

Must be a valid URL. Example: https://www.example.com

content   string  optional  

Example: Some information about My Event. So this is the content.

banner_id   string  optional  

Example: 00000000-422e-41ff-a266-2b0a093307e6

cover_id   string  optional  

Example: 00000000-422e-41ff-a266-2b0a093307e6

media   object  optional  
tags   object  optional  

Delete

requires authentication

Delete own event

Admin can remove any event

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 277
access-control-allow-origin: *
set-cookie: qplet_core_service_session=DAfNDHhPBmFJvLElL26PcRClZ00MHfrofYco0AKg; expires=Tue, 01 Sep 2026 08:38:24 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"
}
 

Request      

DELETE v1/events/{event_id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

event_id   string   

The ID of the event. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

List

Endpoint for fetching list of events

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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]=2026-09-11&filters[date][to]=2026-10-01&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(
    "https://api.qplet.dev/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]": "2026-09-11",
    "filters[date][to]": "2026-10-01",
    "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 = 'https://api.qplet.dev/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]' => '2026-09-11',
            'filters[date][to]' => '2026-10-01',
            '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
x-ratelimit-limit: 300
x-ratelimit-remaining: 229
access-control-allow-origin: *
set-cookie: qplet_core_service_session=fSJfRGMIforw7S4twtwF3rlR1pTGN6KAO1dWkuaM; expires=Tue, 01 Sep 2026 08:38:26 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
    }
}
 

Request      

GET v1/events

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

filters   object  optional  
filters.title   string  optional  

Example: party

filters.author_id   string  optional  

Must be a valid UUID. Example: 00000000-df85-4307-a069-68612c4471e1

filters.is_available   boolean  optional  

Example: true

filters.participant   object  optional  
filters.participant.id   string  optional  

Must be a valid UUID. Example: 00000000-df85-4307-a069-68612c4471e1

filters.participant.inclusive   boolean  optional  

Example: false

filters.subscribed_to_organiser   boolean  optional  

Example: false

filters.date   object  optional  
filters.date.from   string  optional  

Must be a valid date in the format Y-m-d. Example: 2026-09-11

filters.date.to   string  optional  

Must be a valid date in the format Y-m-d. Example: 2026-10-01

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Show

Returns single event

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 228
access-control-allow-origin: *
set-cookie: qplet_core_service_session=J1NOqyPbQwQCCWpv95pxBJjFdq92Houleryba1gf; expires=Tue, 01 Sep 2026 08:38:26 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": "Velit facilis dolores ullam aspernatur nihil architecto.",
        "content": "Facilis aperiam error at dolor ut omnis tempora. Odio doloribus voluptates rerum sunt hic rerum. Exercitationem quos cum doloribus illo est quam qui.",
        "date": "1980-07-08",
        "time": "02:34:23",
        "type": "offline",
        "location": "7822 Warren Mountain Apt. 547\nNew Jessieport, KS 58805",
        "seats": "20",
        "free_seats": 17,
        "website": "https://reichert.net/quibusdam-rem-ut-facilis-itaque-neque.html",
        "media": null,
        "tags": null,
        "is_subscribed": true,
        "created_at": 1788244574,
        "analytics": {
            "interested": 0,
            "subscribed": 3,
            "views": 0,
            "likes": 0,
            "comments": 0,
            "shares": 0
        }
    }
}
 

Example response (404):


{
    "type": "Event",
    "message": "No query results"
}
 

Request      

GET v1/events/{event_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

event_id   string   

The ID of the event. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

List user subscriptions

Endpoint for fetching list of events user is subscribed to

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 227
access-control-allow-origin: *
set-cookie: qplet_core_service_session=aiQWMuyp6rkcglPcPwLCl5tOPZIC1NPYjEFAtleV; expires=Tue, 01 Sep 2026 08:38:26 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": "Velit facilis dolores ullam aspernatur nihil architecto.",
            "content": "Facilis aperiam error at dolor ut omnis tempora. Odio doloribus voluptates rerum sunt hic rerum. Exercitationem quos cum doloribus illo est quam qui.",
            "date": "1980-07-08",
            "time": "02:34:23",
            "type": "offline",
            "location": "7822 Warren Mountain Apt. 547\nNew Jessieport, KS 58805",
            "seats": "20",
            "free_seats": 17,
            "website": "https://reichert.net/quibusdam-rem-ut-facilis-itaque-neque.html",
            "media": null,
            "tags": null,
            "is_subscribed": true,
            "created_at": 1788244574,
            "analytics": {
                "interested": 0,
                "subscribed": 3,
                "views": 0,
                "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
    }
}
 

Request      

GET v1/events/subscribed/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

id   string  optional  

Country ID. Example: 00000000-df85-4307-a069-68612c4471e3

Query Parameters

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Subscriptions

Subscribe

requires authentication

Subscribe signed in user to an event

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 276
access-control-allow-origin: *
set-cookie: qplet_core_service_session=eR1pzmMGrXmefC3hOjQ3hKQPBwjJaWhWAcbNkLbQ; expires=Tue, 01 Sep 2026 08:38:24 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"
}
 

Request      

POST v1/events/{event_id}/subscribe

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

event_id   string   

The ID of the event. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

Unsubscribe

requires authentication

Unsubscribe signed in user from an event

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 275
access-control-allow-origin: *
set-cookie: qplet_core_service_session=HJFor8anPajtIlzMNhMpSYH6GLgmfEsYKYba8HjM; expires=Tue, 01 Sep 2026 08:38:24 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"
}
 

Request      

DELETE v1/events/{event_id}/subscribe

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

event_id   string   

The ID of the event. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

Show interest

requires authentication

Show interest of signed in user to an event

Example request:
curl --request POST \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 274
access-control-allow-origin: *
set-cookie: qplet_core_service_session=89AkBvJ9NNZk2wP0FFxr4mhK2C8KSvFrS2UGX3iS; expires=Tue, 01 Sep 2026 08:38:24 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"
}
 

Request      

POST v1/events/{event_id}/show-interest

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

event_id   string   

The ID of the event. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

Remove interest

requires authentication

Remove interest of the signed in user from an event

Example request:
curl --request DELETE \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 273
access-control-allow-origin: *
set-cookie: qplet_core_service_session=3syYk3FJf5CCJtUMf5ti2m7VMyude5tBjUZ4HOl2; expires=Tue, 01 Sep 2026 08:38:24 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"
}
 

Request      

DELETE v1/events/{event_id}/show-interest

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

event_id   string   

The ID of the event. Example: 00000000-fdb0-43ce-b555-e0a26ed563ac

Own

Created by me

requires authentication

List of events created by currently logged-in user

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 272
access-control-allow-origin: *
set-cookie: qplet_core_service_session=okWd2ozUASrnC5obIwkGLqqB8qgIgb5nyUDQtlkv; expires=Tue, 01 Sep 2026 08:38:24 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
    }
}
 

Request      

GET v1/events/my

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

My subscriptions

requires authentication

List of events currently logged-in user is subscribed to

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 271
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Aqhb99N2HNZPCoW0KQxOqFSlhXRVqRtmbzFE8jNM; expires=Tue, 01 Sep 2026 08:38:24 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": "Velit facilis dolores ullam aspernatur nihil architecto.",
            "content": "Facilis aperiam error at dolor ut omnis tempora. Odio doloribus voluptates rerum sunt hic rerum. Exercitationem quos cum doloribus illo est quam qui.",
            "date": "1980-07-08",
            "time": "02:34:23",
            "type": "offline",
            "location": "7822 Warren Mountain Apt. 547\nNew Jessieport, KS 58805",
            "seats": "20",
            "free_seats": 17,
            "website": "https://reichert.net/quibusdam-rem-ut-facilis-itaque-neque.html",
            "media": null,
            "tags": null,
            "is_subscribed": true,
            "created_at": 1788244574,
            "analytics": {
                "interested": 0,
                "subscribed": 3,
                "views": 0,
                "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
    }
}
 

Request      

GET v1/events/my/subscriptions

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Query Parameters

per_page   integer  optional  

Must be between 5 and 100. Example: 20

page   integer  optional  

Must be at least 1. Example: 1

cursor   string  optional  
pagination_type   string  optional  

Example: page

Must be one of:
  • cursor
  • page

Likes

Store

requires authentication

Add like to an entity

Example request:
curl --request POST \
    "https://api.qplet.dev/v1/like/post/vero" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/like/post/vero"
);

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 = 'https://api.qplet.dev/v1/like/post/vero';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 231
access-control-allow-origin: *
set-cookie: qplet_core_service_session=MBfwj0gz83gSSIJYjgJPqAzD9AtKmeaxN8u6wte3; expires=Tue, 01 Sep 2026 08:38:26 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "likes": 1
    }
}
 

Example response (401):


{
    "message": "Unauthenticated."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

POST v1/like/{entity}/{id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

entity   Entity name the like is for   

Example: post

Must be one of:
  • post
  • album
  • event
  • playlist
  • track
id   string   

ID of the entity Example: vero

Delete

requires authentication

Delete own like

Example request:
curl --request DELETE \
    "https://api.qplet.dev/v1/like/omnis/est" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/like/omnis/est"
);

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 = 'https://api.qplet.dev/v1/like/omnis/est';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 230
access-control-allow-origin: *
set-cookie: qplet_core_service_session=euYu90erUPZqWXgfIviG0dtKKWNKtD8z03wsXgPk; expires=Tue, 01 Sep 2026 08:38:26 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Server Error"
}
 

Request      

DELETE v1/like/{entity}/{id}

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

entity   string   

Example: omnis

id   string   

The ID of the {entity}. Example: est

Other

GET v1/deploy

requires authentication

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 189
access-control-allow-origin: *
set-cookie: qplet_core_service_session=xMqZYZgF8aXNzjO4Wy5gmlvqDjdTvqIMS15hLxG5; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

<pre>
All done!
</pre>

 

Request      

GET v1/deploy

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Search

Search

Find relevant entities of type: albums, talents and tracks

Example request:
curl --request POST \
    "https://api.qplet.dev/v1/search/quod" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/search/quod"
);

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 = 'https://api.qplet.dev/v1/search/quod';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 197
access-control-allow-origin: *
set-cookie: qplet_core_service_session=KGgnAOduc1C2s2Y3jgsZUI46Sd4KuMa45BfE2B1n; expires=Tue, 01 Sep 2026 08:38:30 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": [
        {
            "id": "a2a3d033-6ab6-47f2-a049-c740982a08e3",
            "title": "Voluptatem ea quas pariatur consectetur minus non.",
            "media_asset": {
                "id": "a2a3d033-2d08-48c2-a3e6-c4d9d4e85744",
                "url": "http://localhost:8083/v1/media-assets/a2a3d033-2d08-48c2-a3e6-c4d9d4e85744.wmz"
            },
            "owner": {
                "id": "a2a3cf98-b9e3-42fe-b875-074a4eaca687",
                "name": "Lawrence Tillman",
                "avatar_url": null
            },
            "genres": [
                {
                    "id": "a2a3cf67-6486-434d-8134-787a574cb5b5",
                    "name": "Alternative",
                    "tracks": 803288
                }
            ],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3d027-04cc-461f-a06f-7591fb910325",
            "title": "Culpa labore dolorem nemo commodi.",
            "media_asset": {
                "id": "a2a3d026-e6aa-4b7b-95f5-01e542c4a168",
                "url": "http://localhost:8083/v1/media-assets/a2a3d026-e6aa-4b7b-95f5-01e542c4a168.svd"
            },
            "owner": {
                "id": "a2a3cf97-9055-48a8-b5af-7e49d90c134f",
                "name": "Mr. Dameon Welch II",
                "avatar_url": null
            },
            "genres": [
                {
                    "id": "a2a3cf67-708f-4091-9289-6f4a65c3363e",
                    "name": "Anime",
                    "tracks": 706138
                }
            ],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3d04d-25be-4497-8299-6f9bfdfcd8a0",
            "name": "Iure",
            "description": null,
            "is_liked": 0,
            "entity": "album"
        },
        {
            "id": "a2a3d04c-e5bb-40d0-b21c-deb0ebdbb640",
            "name": "Numquam",
            "description": null,
            "is_liked": 0,
            "entity": "album"
        },
        {
            "id": "a2a3cfc7-c37f-44bc-a223-e4f099a1a276",
            "title": "Dolorum nihil possimus et eligendi.",
            "media_asset": {
                "id": "a2a3cfc7-70d8-479d-aec5-9c6c0fcc799a",
                "url": "http://localhost:8083/v1/media-assets/a2a3cfc7-70d8-479d-aec5-9c6c0fcc799a.sm"
            },
            "owner": {
                "id": "a2a3cf69-e69e-45ac-9d12-5840754d3c5d",
                "name": "Tania Green",
                "avatar_url": null
            },
            "genres": [
                {
                    "id": "a2a3cf67-8930-4c3f-9b9b-448a45747c46",
                    "name": "Folk",
                    "tracks": 295138
                },
                {
                    "id": "a2a3cf67-c851-4e88-a0e2-c89562a31396",
                    "name": "Vocal",
                    "tracks": 612111
                }
            ],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3cf68-d061-4e12-a712-cbff5c7dbc72",
            "name": "Dr. Webster Breitenberg",
            "avatar_url": null,
            "entity": "user"
        },
        {
            "id": "a2a3d049-8d31-4c69-b497-2dbd5f6877b3",
            "name": "Dr. Adella Hills",
            "avatar_url": null,
            "entity": "user"
        },
        {
            "id": "a2a3cf9d-2ec4-440c-b694-ebada2ffa4de",
            "title": "Et aperiam vel sit expedita.",
            "media_asset": {
                "id": "a2a3cf9d-293a-4c41-b1a6-fa16e8cd192c",
                "url": "http://localhost:8083/v1/media-assets/a2a3cf9d-293a-4c41-b1a6-fa16e8cd192c.woff"
            },
            "owner": {
                "id": "a2a3cf68-9523-4bf4-a6fe-15e620846e03",
                "name": "Leatha Rempel",
                "avatar_url": null
            },
            "genres": [
                {
                    "id": "a2a3cf67-a052-4f86-8bbf-c691ddd4de81",
                    "name": "Karaoke",
                    "tracks": 268335
                },
                {
                    "id": "a2a3cf67-b5ac-44c1-ac5b-6f1bf26d1328",
                    "name": "Progressive",
                    "tracks": 649504
                }
            ],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3d000-4b24-4291-b944-df1da2c7f57f",
            "title": "Provident dignissimos itaque ut non.",
            "media_asset": {
                "id": "a2a3d000-18cf-4aca-8da6-40307a07d058",
                "url": "http://localhost:8083/v1/media-assets/a2a3d000-18cf-4aca-8da6-40307a07d058.tmo"
            },
            "owner": {
                "id": "a2a3cf6c-14e9-4406-8e92-094df267b438",
                "name": "Vaughn Deckow",
                "avatar_url": null
            },
            "genres": [
                {
                    "id": "a2a3cf67-a45e-4869-84e0-3d24745d64ad",
                    "name": "Latin",
                    "tracks": 377739
                },
                {
                    "id": "a2a3cf67-acc5-4a43-bdab-f811c5e687fe",
                    "name": "Opera",
                    "tracks": 422469
                }
            ],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3cfea-aafb-4e2a-9ee3-8954c7e955a7",
            "name": "Quinn Schulist",
            "avatar_url": null,
            "entity": "user"
        },
        {
            "id": "a2a3d050-a489-4aba-bd33-85617f4eaee4",
            "title": "Aut recusandae alias ut iusto quo aut.",
            "media_asset": {
                "id": "a2a3d04f-ef9b-4996-b990-5fd7ddbd481e",
                "url": "http://localhost:8083/v1/media-assets/a2a3d04f-ef9b-4996-b990-5fd7ddbd481e.ait"
            },
            "owner": {
                "id": "a2a3d04f-ea81-4138-ad7d-2e581d3a42d1",
                "name": "Mr. Emile Rogahn",
                "avatar_url": null
            },
            "genres": [],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3cfae-95ca-43b5-9c82-914ff940dd22",
            "name": "Dr. Pedro Dooley",
            "avatar_url": null,
            "entity": "user"
        },
        {
            "id": "a2a3d040-ab6c-4d06-9cd6-9178e561970a",
            "title": "Est in distinctio deleniti accusamus.",
            "media_asset": {
                "id": "a2a3d040-281f-43cb-9232-d3761eefb6ba",
                "url": "http://localhost:8083/v1/media-assets/a2a3d040-281f-43cb-9232-d3761eefb6ba.mks"
            },
            "owner": {
                "id": "a2a3d040-2557-4788-a074-633213302c5a",
                "name": "Mr. Enos Kohler",
                "avatar_url": null
            },
            "genres": [],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3d04d-38ea-447b-ba8e-cc61c921d72f",
            "name": "Unde",
            "description": null,
            "is_liked": 0,
            "entity": "album"
        },
        {
            "id": "a2a3d04d-1231-43f0-a116-da215894707f",
            "name": "Esse",
            "description": null,
            "is_liked": 0,
            "entity": "album"
        },
        {
            "id": "a2a3d03a-f984-4174-9d70-ac8286b2a2e1",
            "name": "Mrs. Eudora Kessler III",
            "avatar_url": null,
            "entity": "user"
        },
        {
            "id": "a2a3d023-5d52-487d-a111-bc8d8214c99b",
            "title": "Accusantium pariatur ut provident eum.",
            "media_asset": {
                "id": "a2a3d023-3871-41ed-9c04-5454721f2048",
                "url": "http://localhost:8083/v1/media-assets/a2a3d023-3871-41ed-9c04-5454721f2048.webm"
            },
            "owner": {
                "id": "a2a3cf96-e6e1-440b-beb3-dcc7f2c9d986",
                "name": "Mr. Geoffrey Walter",
                "avatar_url": null
            },
            "genres": [
                {
                    "id": "a2a3cf67-9dde-48d3-bd77-11098c8caeac",
                    "name": "K-Pop",
                    "tracks": 625883
                }
            ],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3d01e-4f5f-4cf0-ace5-c6a246dfa312",
            "name": "Darby Lesch",
            "avatar_url": null,
            "entity": "user"
        },
        {
            "id": "a2a3d04c-b1ec-4a14-bfeb-76b0c71ef38d",
            "name": "Omnis",
            "description": null,
            "cover": {
                "id": "00000000-422e-41ff-a266-2b0a093307e6",
                "url": "http://localhost:8083/v1/media-assets/00000000-422e-41ff-a266-2b0a093307e6.sid",
                "filename": "enim-sunt-nisi-eumsid",
                "created_at": "2026-09-01T06:34:20+00:00",
                "type": "image",
                "analytics": {
                    "views": 0,
                    "likes": 0,
                    "comments": 0,
                    "shares": 0
                }
            },
            "is_liked": 0,
            "entity": "album"
        },
        {
            "id": "a2a3cfe3-3c4b-47a5-9659-0af8e0eef6b5",
            "title": "Laudantium quia similique tenetur.",
            "media_asset": {
                "id": "a2a3cfe3-1259-475e-9fb2-f6c313382530",
                "url": "http://localhost:8083/v1/media-assets/a2a3cfe3-1259-475e-9fb2-f6c313382530.curl"
            },
            "owner": {
                "id": "a2a3cf6a-aeb0-4b96-a150-765f843cc0a0",
                "name": "Prof. Jocelyn Collins Jr.",
                "avatar_url": null
            },
            "genres": [
                {
                    "id": "a2a3cf67-8fb2-4d34-93dd-3a9752ae9d11",
                    "name": "Hip-Hop",
                    "tracks": 795459
                },
                {
                    "id": "a2a3cf67-9bb1-4260-b872-56462023c73e",
                    "name": "Jazz",
                    "tracks": 331010
                },
                {
                    "id": "a2a3cf67-afbe-49db-8c6f-63fd6f50cf84",
                    "name": "Pop",
                    "tracks": 806939
                }
            ],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3d032-de20-4ca9-b564-c24cad122c76",
            "title": "Eos fugit sapiente rem similique veritatis non.",
            "media_asset": {
                "id": "a2a3d032-85a5-4fa2-8ad3-910e65fe921e",
                "url": "http://localhost:8083/v1/media-assets/a2a3d032-85a5-4fa2-8ad3-910e65fe921e.qt"
            },
            "owner": {
                "id": "a2a3cf98-b28a-4bcb-8c61-e76584bb4863",
                "name": "Mrs. Krystal Hegmann",
                "avatar_url": null
            },
            "genres": [
                {
                    "id": "a2a3cf67-7aea-4da2-b3c1-ddaf89f9d2cb",
                    "name": "Comedy",
                    "tracks": 15336
                },
                {
                    "id": "a2a3cf67-9409-45cd-becb-63dd59ab5d43",
                    "name": "Industrial",
                    "tracks": 152478
                },
                {
                    "id": "a2a3cf67-a251-4a69-bb5e-44da5e53fe01",
                    "name": "Kayokyoku",
                    "tracks": 591041
                }
            ],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3d041-ca1b-44da-b3c1-3b801a42b389",
            "title": "Culpa voluptatum voluptatem eum pariatur.",
            "media_asset": {
                "id": "a2a3d041-58f5-4aad-807a-fb0bcd9db36e",
                "url": "http://localhost:8083/v1/media-assets/a2a3d041-58f5-4aad-807a-fb0bcd9db36e.xwd"
            },
            "owner": {
                "id": "a2a3d041-5694-4db3-84b6-24dfa6114d79",
                "name": "Victoria Fay II",
                "avatar_url": null
            },
            "genres": [],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        },
        {
            "id": "a2a3cfa8-44a0-4355-bf6e-904a5cf134e8",
            "title": "Ea totam vero incidunt.",
            "media_asset": {
                "id": "a2a3cfa8-3345-4eb1-9b63-afd14fd92f0a",
                "url": "http://localhost:8083/v1/media-assets/a2a3cfa8-3345-4eb1-9b63-afd14fd92f0a.lnk"
            },
            "owner": {
                "id": "a2a3cf68-e195-4fbe-8f43-2135c7caeebe",
                "name": "Gregory Bins Jr.",
                "avatar_url": null
            },
            "genres": [
                {
                    "id": "a2a3cf67-8242-44bb-becc-ab26aa446772",
                    "name": "Dance",
                    "tracks": 527697
                },
                {
                    "id": "a2a3cf67-afbe-49db-8c6f-63fd6f50cf84",
                    "name": "Pop",
                    "tracks": 806939
                },
                {
                    "id": "a2a3cf67-b8c1-47e8-9c41-f672d3a6eb4c",
                    "name": "R&B",
                    "tracks": 173357
                }
            ],
            "analytics": {
                "playbacks": 0,
                "likes": 0,
                "comments": 0,
                "shares": 0
            },
            "is_liked": 0,
            "entity": "track"
        }
    ]
}
 

Request      

POST v1/search/{term}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

URL Parameters

term   string   

Example: quod

User Settings

List

requires authentication

Endpoint for all the user settings

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 290
access-control-allow-origin: *
set-cookie: qplet_core_service_session=TxKJvARs0mtFQGjB5OBAp498HqAlF23ZNoGkduyX; expires=Tue, 01 Sep 2026 08:38:24 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "profile": null,
        "contact": null,
        "social": null,
        "notifications": null,
        "system": null
    }
}
 

Request      

GET v1/users/me/settings

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Profile

Show

requires authentication

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 289
access-control-allow-origin: *
set-cookie: qplet_core_service_session=5iBJc3NEU54LjG1CjB8pfJSEN2RNEG5QKwKtEVWd; expires=Tue, 01 Sep 2026 08:38:24 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": 1,
            "albums": 3,
            "subscribers": 0
        }
    }
}
 

Request      

GET v1/users/me/settings/profile

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Update

requires authentication

Example request:
curl --request PUT \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 288
access-control-allow-origin: *
set-cookie: qplet_core_service_session=i68jWeKO2tLsddP02Wi2pi6mMjK4gNxSAPkyWifr; expires=Tue, 01 Sep 2026 08:38:24 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "message": "Server Error"
}
 

Request      

PUT v1/users/me/settings/profile

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

name   string  optional  

Must be a full name of the user. Example: Joe Shmoe

password   string  optional  

Must be at least 8 characters. Example: Ye4oKoEa3Ro9ll

password_repeat   string  optional  

The password_repeat and password must match. This field is required when password is present. The value and password must match. Example: Ye4oKoEa3Ro9ll

profile   object  optional  
gender   string  optional  

Example: male

Must be one of:
  • male
  • female
nickname   string  optional  

Must be unique. Must match the regex /^[A-Za-z0-9_-]+$/. Must be between 6 and 20 characters. Example: joe_shmoe

website   string  optional  

Fully qualified URL. Must be a valid URL. Example: https://qplet.ru

about   string  optional  

Freeform multiline input. Example: Im Joe Shmoe

I love singing and dancing.`

avatar_id   string  optional  

MediaAssets ID that belongs to the user. Example: 00000000-422e-41ff-a266-2b0a093307e6

cover_id   string  optional  

MediaAssets ID that belongs to the user. Example: 00000000-422e-41ff-a266-2b0a093307e6

birthdate   string  optional  

Must be a valid date in the format Y-m-d. Example: 2000-01-01

Contact

Show

requires authentication

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 287
access-control-allow-origin: *
set-cookie: qplet_core_service_session=rP6wAvxqbiTWjMXlcSdCyUCMfH3oifyU675c0qw9; expires=Tue, 01 Sep 2026 08:38:24 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "country": {
            "id": null,
            "name": null
        }
    }
}
 

Request      

GET v1/users/me/settings/contact

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Update

requires authentication

Example request:
curl --request PUT \
    "https://api.qplet.dev/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\": \"in\"
}"
const url = new URL(
    "https://api.qplet.dev/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": "in"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.qplet.dev/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' => 'in',
        ],
    ]
);
$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: 286
access-control-allow-origin: *
set-cookie: qplet_core_service_session=KPkHKmB2fa36x7ldwc4L6IM373K7I5ddCdGHZi8P; expires=Tue, 01 Sep 2026 08:38:24 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": "in"
    }
}
 

Example response (403):


{
    "message": "This action is unauthorized."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

PUT v1/users/me/settings/contact

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

email   string  optional  

Must be a valid email address. Example: another.joe@example.com

phone   string  optional  

Example: +7911 123456

country_id   string  optional  

Example: ru

city   string  optional  

Example: Moscow

zipcode   string  optional  

Example: 101000

address   string  optional  

Example: Leninstreet 18

address_additional   string  optional  

Example: in

Social

Show

requires authentication

Example request:
curl --request GET \
    --get "https://api.qplet.dev/v1/users/me/settings/social" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US"
const url = new URL(
    "https://api.qplet.dev/v1/users/me/settings/social"
);

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 = 'https://api.qplet.dev/v1/users/me/settings/social';
$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
x-ratelimit-limit: 300
x-ratelimit-remaining: 285
access-control-allow-origin: *
set-cookie: qplet_core_service_session=JZ5ZEGQ9MQnoDYTXjYI7hF6cJgTx1cJjFJIkAEcc; expires=Tue, 01 Sep 2026 08:38:24 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "facebook_com": null,
        "instagram_com": null,
        "youtube_com": null,
        "twitter_com": null,
        "tiktok_com": null,
        "vk_ru": null,
        "ok_ru": null,
        "discord_com": null,
        "snapchat_com": null,
        "telegram_org": null,
        "whatsapp_com": null,
        "viber_com": null,
        "skype_com": null,
        "pinterest_com": null
    }
}
 

Request      

GET v1/users/me/settings/social

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Update

requires authentication

Example request:
curl --request PUT \
    "https://api.qplet.dev/v1/users/me/settings/social" \
    --header "Authorization: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en-US" \
    --data "{
    \"facebook_com\": \"facebook_com\",
    \"instagram_com\": \"instagram_com\",
    \"youtube_com\": \"youtube_com\",
    \"twitter_com\": \"twitter_com\",
    \"tiktok_com\": \"tiktok_com\",
    \"vk_ru\": \"vk_ru\",
    \"ok_ru\": \"ok_ru\",
    \"discord_com\": \"discord_com\",
    \"snapchat_com\": \"snapchat_com\",
    \"telegram_org\": \"telegram_org\",
    \"whatsapp_com\": \"whatsapp_com\",
    \"viber_com\": \"viber_com\",
    \"skype_com\": \"skype_com\",
    \"pinterest_com\": \"pinterest_com\"
}"
const url = new URL(
    "https://api.qplet.dev/v1/users/me/settings/social"
);

const headers = {
    "Authorization": "Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en-US",
};

let body = {
    "facebook_com": "facebook_com",
    "instagram_com": "instagram_com",
    "youtube_com": "youtube_com",
    "twitter_com": "twitter_com",
    "tiktok_com": "tiktok_com",
    "vk_ru": "vk_ru",
    "ok_ru": "ok_ru",
    "discord_com": "discord_com",
    "snapchat_com": "snapchat_com",
    "telegram_org": "telegram_org",
    "whatsapp_com": "whatsapp_com",
    "viber_com": "viber_com",
    "skype_com": "skype_com",
    "pinterest_com": "pinterest_com"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.qplet.dev/v1/users/me/settings/social';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en-US',
        ],
        'json' => [
            'facebook_com' => 'facebook_com',
            'instagram_com' => 'instagram_com',
            'youtube_com' => 'youtube_com',
            'twitter_com' => 'twitter_com',
            'tiktok_com' => 'tiktok_com',
            'vk_ru' => 'vk_ru',
            'ok_ru' => 'ok_ru',
            'discord_com' => 'discord_com',
            'snapchat_com' => 'snapchat_com',
            'telegram_org' => 'telegram_org',
            'whatsapp_com' => 'whatsapp_com',
            'viber_com' => 'viber_com',
            'skype_com' => 'skype_com',
            'pinterest_com' => 'pinterest_com',
        ],
    ]
);
$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: 284
access-control-allow-origin: *
set-cookie: qplet_core_service_session=730WdzRyjS1Dsz6uIawVqdvFTTITrrLPBVnQZfwd; expires=Tue, 01 Sep 2026 08:38:24 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "facebook_com": "facebook_com",
        "instagram_com": "instagram_com",
        "youtube_com": "youtube_com",
        "twitter_com": "twitter_com",
        "tiktok_com": "tiktok_com",
        "vk_ru": "vk_ru",
        "ok_ru": "ok_ru",
        "discord_com": "discord_com",
        "snapchat_com": "snapchat_com",
        "telegram_org": "telegram_org",
        "whatsapp_com": "whatsapp_com",
        "viber_com": "viber_com",
        "skype_com": "skype_com",
        "pinterest_com": "pinterest_com"
    }
}
 

Example response (403):


{
    "message": "This action is unauthorized."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

PUT v1/users/me/settings/social

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

facebook_com   string  optional  

Example: facebook_com

instagram_com   string  optional  

Example: instagram_com

youtube_com   string  optional  

Example: youtube_com

twitter_com   string  optional  

Example: twitter_com

tiktok_com   string  optional  

Example: tiktok_com

vk_ru   string  optional  

Example: vk_ru

ok_ru   string  optional  

Example: ok_ru

discord_com   string  optional  

Example: discord_com

snapchat_com   string  optional  

Example: snapchat_com

telegram_org   string  optional  

Example: telegram_org

whatsapp_com   string  optional  

Example: whatsapp_com

viber_com   string  optional  

Example: viber_com

skype_com   string  optional  

Example: skype_com

pinterest_com   string  optional  

Example: pinterest_com

System

Show

requires authentication

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 283
access-control-allow-origin: *
set-cookie: qplet_core_service_session=NtIiQwfIi8nzlICOs5e7gWoGxbl0hmf03hvCzqcJ; expires=Tue, 01 Sep 2026 08:38:24 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "language": null,
        "first_screen": null
    }
}
 

Request      

GET v1/users/me/settings/system

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Update

requires authentication

Example request:
curl --request PUT \
    "https://api.qplet.dev/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\": \"albums\"
}"
const url = new URL(
    "https://api.qplet.dev/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": "albums"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.qplet.dev/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' => 'albums',
        ],
    ]
);
$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: 282
access-control-allow-origin: *
set-cookie: qplet_core_service_session=diL2W5AnXf9mSjrLzzvLBW8RAFpcEZ8Hq1nvdrU5; expires=Tue, 01 Sep 2026 08:38:24 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "data": {
        "language": "ru",
        "first_screen": "albums"
    }
}
 

Example response (403):


{
    "message": "This action is unauthorized."
}
 

Example response (422):


{
    "message": "Validation Exception"
}
 

Request      

PUT v1/users/me/settings/system

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

language   string   

Example: ru

Must be one of:
  • ru
  • en
first_screen   string   

Example: albums

Must be one of:
  • wall
  • profile
  • player
  • albums

Notifications

Show

requires authentication

Example request:
curl --request GET \
    --get "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 281
access-control-allow-origin: *
set-cookie: qplet_core_service_session=Z0ozW06kBQPEUSahaFS3S1lTHmtZZpSG89LevSqt; expires=Tue, 01 Sep 2026 08:38:24 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
        }
    }
}
 

Request      

GET v1/users/me/settings/notifications

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Update

requires authentication

Example request:
curl --request PUT \
    "https://api.qplet.dev/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(
    "https://api.qplet.dev/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 = 'https://api.qplet.dev/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
x-ratelimit-limit: 300
x-ratelimit-remaining: 280
access-control-allow-origin: *
set-cookie: qplet_core_service_session=H2vYRzQhrDjCiiivVNrP824A3r9NL2ij0CaiAFWj; expires=Tue, 01 Sep 2026 08:38:24 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"
}
 

Request      

PUT v1/users/me/settings/notifications

Headers

Authorization      

Example: Bearer 3|lnvo4g0zUDVYTM6tqvVwUxP3jrt8ci8Nv8zpAbty

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en-US

Body Parameters

sound   boolean   

Example: true

profile   object   

Example: 1

view   boolean   

Example: true

subscription   boolean   

Example: true

subscribers   boolean   

Example: true

event   object   

Example: 1

new   boolean   

Example: true

like   boolean   

Example: true

view   boolean   

Example: true

subscription   boolean   

Example: true

comment   boolean   

Example: true

updated   boolean   

Example: true

post   object   

Example: 1

new   boolean   

Example: true

like   boolean   

Example: true

share   boolean   

Example: true

comment   boolean   

Example: true

track   object   

Example: 1

new   boolean   

Example: true

like   boolean   

Example: true

comment   boolean   

Example: true

album   object   

Example: 1

new   boolean   

Example: true

like   boolean   

Example: true

comment   boolean   

Example: true

message   object  optional  
new   boolean   

Example: true