Autentikasi
Setiap request membawa kunci API dari konsol. Kunci diawali dengan inferray_.
Mengirim kunci
Kirimkan sebagai Bearer token:
curl https://api.inferray.com/v1/chat/completions \
-H "Authorization: Bearer $INFERRAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-5.5", "messages": [{"role": "user", "content": "Hello"}]}'
Klien Anthropic mengirim x-api-key sebagai gantinya. Inferray membaca kedua header tersebut di setiap endpoint.
Jangan pernah menaruh kunci di URL atau query string, dan jangan pernah mengirimkannya ke browser atau aplikasi mobile: siapa pun yang memegangnya dapat menghabiskan saldo Anda. Panggil Inferray dari server Anda dan simpan kunci di environment variable atau secret manager.
Kepemilikan kunci
Sebuah kunci dimiliki oleh satu proyek, dan proyek tersebut dimiliki oleh sebuah organisasi. Setiap request yang dibuat dengan kunci itu ditagihkan ke organisasi tersebut dan muncul di log serta analitik proyek itu. Buat satu kunci per aplikasi atau environment agar penggunaannya tetap terpisah dan kunci yang bocor dapat diganti tanpa memengaruhi kunci lain — lihat Kunci API dan proyek.
Kunci yang dibuat di workspace Token Plan menggunakan kredit bulanan Token Plan tersebut, bukan saldo.
Saat autentikasi gagal
| Status | Arti |
|---|---|
401 | Kunci tidak ada, formatnya salah, sudah dihapus, atau sudah di-roll. Periksa header dan kuncinya. |
429 | Terlalu banyak request, atau terlalu banyak percobaan yang gagal. Tunggu selama Retry-After. |
503 | Kunci tidak dapat diperiksa saat ini. Kunci mungkin sepenuhnya valid; coba lagi sebentar lagi. Tidak ada yang dikirim atau ditagih. |
Memeriksa kunci dari API
GET /v1/key menjelaskan kunci yang membuat request: namanya, pengeluarannya sejauh ini, dan untuk kunci Token Plan, kredit Token Plan tersebut.
curl https://api.inferray.com/v1/key \
-H "Authorization: Bearer $INFERRAY_API_KEY"
{
"data": {
"label": "Production",
"usage": "12.48",
"limit": null,
"devPlan": "none",
"devPlanCreditsUsed": "0",
"devPlanCreditsLimit": "0",
"devPlanCreditsRemaining": "0"
}
}
Jumlah dinyatakan dalam USD, sebagai string. usage adalah jumlah yang telah dibelanjakan kunci ini.
Untuk kunci Token Plan, devPlan menyebutkan tier Token Plan, dan ketiga field devPlanCredits memberikan kredit yang terpakai, kredit untuk periode tersebut, dan sisanya.
GET /v1/credits mengembalikan saldo prabayar organisasi dan total pengeluarannya:
{ "balance": "87.52", "total_used": "112.48" }
Kedua endpoint ini gratis dan hanya menjelaskan organisasi Anda sendiri. Keduanya berguna sebagai health check dalam skrip deploy, atau untuk memberi peringatan sebelum saldo habis.
Request dari browser
API melayani request lintas origin, sehingga tool yang berjalan di browser — notebook, playground lokal — dapat memanggilnya. Namun itu tidak menjadikan browser tempat yang aman untuk kunci: gunakan hanya dengan kunci milik Anda di mesin yang Anda kendalikan.