Base URL: https://rakabinora.rkstore.xyz/v1. Semua request memakai header Authorization: Bearer rkapi_… dan JSON. API key dibuat di Dashboard → API key. Jangan taruh key di kode client/publik; simpan di environment variable bot Anda.
products.read · licenses.read · licenses.verify · licenses.write. Key tanpa izin yang sesuai mendapat 403.
Limit per menit diatur per key. Respons membawa X-RateLimit-Limit dan X-RateLimit-Remaining. Terlampaui → 429 + Retry-After. 401 key salah/kedaluwarsa/revoked, 400 input salah, 404 tidak ditemukan.
Izin products.read. Daftar produk aktif.
Izin licenses.verify. Cek status tanpa mendaftarkan HWID (pendaftaran hanya lewat loader).
curl -X POST https://rakabinora.rkstore.xyz/v1/licenses/verify \
-H "Authorization: Bearer $RK_API_KEY" -H "content-type: application/json" \
-d '{"key":"rkdesign-AB12-CD34-EF56","hwid":"opsional"}'
# {"valid":true,"reason":null,"product":"main","expires_at":null,"max_hwid":1,"hwid_count":0}
Izin licenses.read. Detail lisensi.
Izin licenses.write. Body: product (slug), days (0 = lifetime), max, note. Respons 201 {"key":"…"}.
# Python
import os, requests
r = requests.post("https://rakabinora.rkstore.xyz/v1/licenses/verify",
headers={"Authorization": "Bearer " + os.environ["RK_API_KEY"]}, json={"key": "rkdesign-AB12-CD34-EF56"}, timeout=10)
print(r.json())
// Node.js (Telegram/WhatsApp bot)
const r = await fetch("https://rakabinora.rkstore.xyz/v1/licenses/verify", { method: "POST",
headers: { Authorization: `Bearer ${process.env.RK_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({ key }) });
// PHP
$ch = curl_init("https://rakabinora.rkstore.xyz/v1/licenses/verify");
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER=>true, CURLOPT_POST=>true,
CURLOPT_HTTPHEADER=>["Authorization: Bearer ".getenv("RK_API_KEY"), "content-type: application/json"],
CURLOPT_POSTFIELDS=>json_encode(["key"=>$key])]);
echo curl_exec($ch);