List published products and bundles
curl --request GET \
--url https://api.kawan.digital/v1/products \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.kawan.digital/v1/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.kawan.digital/v1/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"success": true,
"data": {
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"type": "product",
"title": "Ebook Starter",
"slug": "ebook-starter",
"price": 99000,
"status": "published"
}
],
"has_more": false
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Missing or invalid Authorization header."
}
}{
"success": false,
"error": {
"code": "PLAN_REQUIRED",
"message": "Public API is not available on this store's plan."
}
}{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded."
}
}Catalog
List published products and bundles
Returns published catalog items. Use id + type when creating an order
(product_id or bundle_id).
GET
/
products
List published products and bundles
curl --request GET \
--url https://api.kawan.digital/v1/products \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.kawan.digital/v1/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.kawan.digital/v1/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"success": true,
"data": {
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"type": "product",
"title": "Ebook Starter",
"slug": "ebook-starter",
"price": 99000,
"status": "published"
}
],
"has_more": false
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Missing or invalid Authorization header."
}
}{
"success": false,
"error": {
"code": "PLAN_REQUIRED",
"message": "Public API is not available on this store's plan."
}
}{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded."
}
}Authorizations
API key from Dashboard → Developer API. Shown once when created.
Query Parameters
Required range:
x >= 0Required range:
1 <= x <= 50