Autentikasi

API key, header, dan permukaan mana yang memakainya.

Ringkasan

API pelanggan memakai satu API key berawalan sk-nusa-. Key yang sama berlaku untuk semua model yang aktif.

Ada satu aturan yang perlu kamu pegang: key ini hanya berlaku di path /v1/. Konsol punya cara masuknya sendiri, dan keduanya tidak bisa saling menggantikan.

Key mana untuk apa

Dua permukaan, dua cara masuk, dan tidak ada jalur dari yang satu ke yang lain.

PermukaanCara masukContoh path
API pelangganAPI key sk-nusa-…/v1/chat/completions · /v1/messages
Konsol (browser)Cookie sesi-

Key hilang atau salah

Request tanpa key, atau dengan key yang tidak dikenali, dijawab dengan satu bentuk yang sama:

401
{
  "error": {
    "message": "Invalid API key.",
    "type": "authentication_error",
    "code": "invalid_api_key"
  }
}

Pesannya sengaja sama untuk semua kegagalan: key tidak ada, sudah dicabut, atau salah ketik. Membedakannya akan memberi tahu pemanggil key mana yang benar-benar ada, jadi tidak dilakukan.

Perhatikan bahwa GET /v1/models juga butuh key. Seluruh prefix /v1/ dijaga oleh satu pemeriksaan, jadi tidak ada rute di dalamnya yang bisa dipanggil tanpa key.

Mengelola key

Kelola key dari halaman API key di konsol.

  • Dicabut, tidak dihapus. Request dan baris catatan transaksi merujuk key, jadi key yang dicabut tetap tersimpan sebagai jejak audit, tapi langsung berhenti mengautentikasi. Karena itu tidak ada tombol hapus.
  • Bisa diganti nama. Nama hanya untukmu; tidak ikut ke autentikasi.
  • Bisa dibatasi nilainya. Setiap key punya batas belanja sendiri, terpisah dari saldo dompet. Lihat Batas pengeluaran key.

Membuat key dilakukan di konsol, bukan lewat API key itu sendiri. Halaman API key yang menyimpannya, dan secret-nya ditampilkan di sana saat dibuat.

Troubleshooting

GejalaPenyebabSolusi
401Header tidak terkirim, atau nilainya tidak diawali Bearer .cetak header yang benar-benar terkirim; banyak klien membuang header kosong tanpa memberi tahu
401Key sudah dicabut.buat key baru di halaman API key; key lama tidak bisa dihidupkan lagi
401 di rute konsolAPI key dikirim ke rute yang butuh cookie sesi.masuk lewat halaman login; key tidak berlaku di sana
400Content-Type tidak diset application/json, sehingga body-nya tidak bisa di-parse.set header itu pada setiap request yang membawa body