Tiga endpoint, tiga format. Pilih yang sudah dipakai aplikasimu — tidak perlu mengubah kode selain base URL dan API key.
Base URL
Semua request lewat domain kita — bukan domain provider. Beberapa bentuk base URL diterima sekaligus, pakai yang paling cocok dengan aplikasimu; hasilnya sama.
Gaya
Base URL yang bisa dipakai
OpenAI
https://api.advance.my.id/v1
OpenAI (lengkap)
https://api.advance.my.id/api/openai/v1
Claude
https://api.advance.my.id
Gemini
https://api.advance.my.id/v1beta
Gemini (lengkap)
https://api.advance.my.id/api/gemini/v1beta
Base URL apa pun yang berakhiran /v1 otomatis diarahkan ke gateway yang sama.
GET /v1/me menjawab tiga hal yang biasanya harus dibuka dashboard dulu: sisa kuota, masa aktif, dan batas laju key yang sedang dipakai. Berguna untuk cron atau agent yang ingin berhenti sendiri sebelum kena penolakan.
Balasan memuat quota.limit, quota.left, validity.days_left, limits.requests_per_minute, usage_24h, dan usable (false kalau kuota habis atau masa aktif berakhir). Endpoint ini tidak memotong kuota.
Hitung biaya sebelum kirim
POST /v1/tokenize mengembalikan jumlah token dan kuota yang akan dipotong — tanpa benar-benar memanggil model dan tanpa memotong kuota. Cocok untuk membuat pagar anggaran di aplikasimu: tolak request sebelum terkirim kalau enough bernilai false.
Balasan berisi tokens_input, tokens_output, quota_units, quota_left, enough, dan est_idr (perkiraan rupiah memakai tarif paket termurah). Angkanya perkiraan ±5% — angka inilah yang dipakai gateway untuk memotong kuota, jadi selalu sama dengan tagihan asli.
Autentikasi
Kirim API key lewat header. Tiga bentuk header diterima agar cocok dengan SDK masing-masing.
# Semua endpoint menerima salah satu header berikut
Authorization: Bearer sk-adv-xxxxxxxx
x-api-key: sk-adv-xxxxxxxx
x-goog-api-key: sk-adv-xxxxxxxx # khusus Gemini
OpenAI compatible
Mendukung stream, tools, response_format, dan /v1/models.
Panjang output dibatasi otomatis agar tidak pernah melewati sisa kuota.
Permintaan yang tidak cukup kuota ditolak dengan 402 sebelum dikirim ke model.
TPD · TPM · RPM UNLIMITED: tidak ada batas harian, per menit, atau per detik. Satu-satunya batas adalah sisa token di akunmu dan stok sistem — selama keduanya ada, request dilayani.
Setiap potongan tercatat di ledger dan bisa diaudit.
Masa aktif & perpanjangan
TOKEN TIDAK HANGUS. Saat masa aktif habis, key hanya berhenti melayani: sisa kuota tetap tersimpan apa adanya dan langsung bisa dipakai lagi setelah diperpanjang.
Perpanjangan dijual terpisah dari token — 10 hari Rp 3.000, tanpa membeli token. Tombolnya ada di Dashboard → API Key.
Masa aktif maksimal 28 hari ke depan, jadi perpanjangan baru terbuka saat sisa masa aktif ≤ 18 hari (28 − 10).
Permintaan dari key yang masa aktifnya habis ditolak 403 key_expired, dan pesannya menyebutkan sisa kuotamu.
Gangguan di sisi kami tidak pernah ditagih. Kalau permintaanmu gagal karena galat 5xx, kuota pengganti masuk otomatis: setiap 3 kegagalan dalam 24 jam = 4.500 kuota, maksimal 45.000 per key per hari.
Webhook
Satu URL per akun, diatur di Dashboard → Pengaturan. Kami mengirim POST dengan JSON { event, at, data } untuk kejadian pesanan.lunas, perpanjangan.lunas, kuota.menipis (sisa ≤ 20%), dan key.kedaluwarsa.
# header yang dikirim
x-advance-event: pesanan.lunas
x-advance-signature: sha256=<hmac sha256 dari body mentah memakai secret-mu>
# verifikasi di server-mu (node)
const sig = "sha256=" + crypto.createHmac("sha256", SECRET).update(rawBody).digest("hex");
if (sig !== req.headers["x-advance-signature"]) return res.status(401).end();
# balas 2xx dalam < 8 detik. Gagal: diulang 3x (0,5 dtk, 1,5 dtk, 4 dtk)
# untuk galat jaringan dan 5xx. Balasan 4xx tidak diulang.
API key lengkap TIDAK pernah dikirim lewat webhook — payload hanya memuat id dan prefix key. Ambil key-nya di dashboard.
Kode error
401 invalid_api_key Key salah atau tidak dikirim
403 key_revoked Key dicabut admin
403 key_expired Masa aktif habis
402 insufficient_quota Sisa kuota tidak cukup
404 model_not_found Model/alias tidak dikenal
429 rate_limit_exceeded Melebihi batas request/menit atau token/menit key
503 service_unavailable Maintenance (mode tolak request)