Lewati ke konten
kenari.

Kuota akun

Baca sisa kuota paket dan anggaran kupon kamu dalam Rupiah utuh, supaya agen atau skrip bisa memeriksanya sebelum memulai pekerjaan yang panjang. Endpoint ini khusus kenari dan tidak punya padanan di OpenAI maupun Anthropic.

GET /v1/account/quota

Endpoint ini tidak menerima parameter query maupun body. Endpoint ini membutuhkan API key di header Authorization.

HeaderWajibKeterangan
AuthorizationyaBearer kn-.... API key dibagikan dan key yang dibatasi ditolak. Lihat Autentikasi & API key.

Response berisi dua field, plan dan coupon. Masing-masing berupa objek, atau null kalau tidak berlaku.

FieldTipeKeterangan
planobjek atau nullPaket aktif kamu. null kalau kamu belum pernah berlangganan, paket sudah berakhir, atau paket tidak lagi ditawarkan.
plan.namestringNama paket.
plan.windowsobjekJendela kuota yang punya plafon. Nama field yang mungkin muncul adalah five_hour, week, dan month. Jendela tanpa plafon tidak ditampilkan, jadi objek ini bisa kosong.
plan.windows.<key>.used_rpintegerRupiah yang terpakai di jendela ini, dibulatkan ke atas.
plan.windows.<key>.remaining_rpintegerRupiah yang tersisa di jendela ini, dibulatkan ke bawah dan tidak pernah di bawah 0.
plan.windows.<key>.resets_atstringWaktu jendela rolling ini direset, dalam RFC 3339 UTC.
couponobjek atau nullKupon aktif. null kalau kamu tidak punya atau kupon sudah kedaluwarsa. Kupon dilaporkan terpisah dari paket, jadi kamu bisa punya kupon tanpa paket.
coupon.namestringNama kupon.
coupon.used_rpintegerRupiah yang terpakai dari kupon, dibulatkan ke atas.
coupon.remaining_rpinteger atau nullRupiah yang tersisa di kupon: anggaran yang dibulatkan ke bawah menjadi Rupiah utuh, dikurangi used_rp, dan tidak pernah di bawah 0. null kalau kupon tidak punya batas pengeluaran.
coupon.expires_atstringWaktu kupon kedaluwarsa, dalam RFC 3339 UTC.
coupon.scope_modelsarray of stringId model yang ditanggung kupon.
{
"plan": {
"name": "Indie",
"windows": {
"week": {
"used_rp": 12000,
"remaining_rp": 63000,
"resets_at": "2026-10-13T07:12:00Z"
},
"month": {
"used_rp": 12000,
"remaining_rp": 288000,
"resets_at": "2026-10-30T07:12:00Z"
}
}
},
"coupon": null
}

Untuk cara kerja jendela, kupon, dan model tercakup, lihat Langganan.

Terminal window
curl https://kenari.id/v1/account/quota \
-H "Authorization: Bearer $KENARI_API_KEY"
import os
import requests
response = requests.get(
"https://kenari.id/v1/account/quota",
headers={"Authorization": f"Bearer {os.environ['KENARI_API_KEY']}"},
)
response.raise_for_status()
quota = response.json()
for name, window in (quota["plan"] or {}).get("windows", {}).items():
print(name, window["remaining_rp"], window["resets_at"])
const response = await fetch("https://kenari.id/v1/account/quota", {
headers: { Authorization: `Bearer ${process.env.KENARI_API_KEY}` },
});
if (!response.ok) throw new Error(await response.text());
const quota = await response.json();
for (const [name, window] of Object.entries(quota.plan?.windows ?? {})) {
console.log(name, window.remaining_rp, window.resets_at);
}

Tool MCP kenari_quota mengembalikan data paket dan kupon yang sama sebagai teks biasa. Lihat Server MCP.

Membaca kuota kamu gratis. Lihat Cara penagihan.

StatusKodeKapan
401Tidak adaKey tidak ada, tidak valid, atau sudah kedaluwarsa. Body-nya pesan teks singkat, bukan JSON.
403shared_key_not_allowedKey adalah API key dibagikan. API key dibagikan tidak bisa membaca kuota pemiliknya.
403restricted_key_not_allowedKey punya pembatasan model, batas biaya, atau batas token. Pakai key tanpa pembatasan dari akun itu sendiri.
500internal_errorPembacaan kuota gagal di kenari. Coba lagi sekali.

Lihat Error untuk format error dan kode lainnya.