Arti error 401 Unauthorized di API AI dan cara memperbaikinya

401Header otorisasi hilang, salah format, atau key ditolak.

Langkah perbaikan di bawah berlaku untuk key dari OpenAI, Anthropic, Google maupun gateway. Bagian terakhir menjelaskan pesan dan solusinya di Ezkielyna API.

Dicek · Sumber: dokumentasi Ezkielyna API · Gagal = Gratis · halaman status

Artinya

401 adalah kode HTTP untuk "belum terautentikasi". Bedanya dengan invalid API key: 401 juga muncul kalau key tidak terkirim sama sekali atau dikirim di header yang salah.

Contoh pesan yang muncul

Teksnya bisa sedikit berbeda antar versi aplikasi dan SDK. Bagian yang ditulis N, M atau nama-model diganti angka atau nama sungguhan.

  • HTTP401 Unauthorized
  • OpenAIYou didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth
  • Anthropicauthentication_error

Penyebab umum

  • Header salah untuk formatnya. Format OpenAI: Authorization: Bearer sk-... (dengan kata Bearer dan spasi). Format Anthropic: x-api-key: ... ditambah anthropic-version. Gemini: x-goog-api-key atau parameter key.
  • Header tidak ikut terkirim: aplikasi membaca variabel yang kosong, atau proxy dan reverse proxy membuang header Authorization.
  • Alamat memakai http:// atau di-redirect ke host lain; banyak klien tidak meneruskan header Authorization ke host baru setelah redirect.
  • Key kedaluwarsa, dinonaktifkan, atau (di beberapa layanan) kuota key-nya habis.

Cara memperbaiki, langkah demi langkah

  1. Tes key dengan daftar model. Panggil GET /v1/models dengan key-mu. Request ini tidak menjalankan model, jadi tidak memakai token. Kalau di sini 401, masalahnya ada di key atau header, bukan di aplikasi.
  2. Pakai header yang sesuai format. OpenAI SDK dan klien OpenAI-compatible mengirim Bearer sendiri; cukup isi api_key. Kalau menulis request manual, pastikan ada kata Bearer dan satu spasi.
  3. Selalu pakai https:// dan alamat akhir. Tulis base URL lengkap dengan https:// supaya tidak ada redirect yang membuang header.
  4. Periksa proxy. Kalau request lewat Nginx, Cloudflare Worker atau server sendiri, pastikan header Authorization atau x-api-key diteruskan.
tes key (tanpa memakai token)
curl https://api.ezkielyna.store/v1/models \
  -H "Authorization: Bearer $EZKIELYNA_API_KEY"
# 200 + daftar model = key dan header benar
# 401 = key salah, nonaktif, atau header tidak terkirim

Di Ezkielyna API

  • Menurut tabel troubleshooting dokumentasi Ezkielyna API, 401 Invalid token berarti key salah, terhapus atau nonaktif, atau kuota key itu sendiri sudah habis (status Exhausted di menu API Keys). Solusinya: salin ulang key dari API Keys, atau naikkan kuota key.
  • Ezkielyna menerima format OpenAI (Authorization: Bearer) di https://api.ezkielyna.store/v1 dan format Anthropic untuk klien seperti Claude Code di https://api.ezkielyna.store.
contoh respons Ezkielyna API (dicek 11 Nov 2026)
{"error":{"type":"authentication_error","code":"invalid_api_key","message":"API key rejected: it is wrong, expired, disabled, or out of credit. ... | API key ditolak: salah, kedaluwarsa, nonaktif, atau saldo habis. Kirim sebagai Authorization: Bearer sk-... dan cek di https://api.ezkielyna.store/console/token."}}

Alat bantu: Cek API Key · cara beli API key

Pertanyaan umum

Apa beda 401 dan 403?

401 berarti server belum tahu siapa kamu (key tidak ada atau ditolak). 403 berarti key dikenali tapi tidak boleh melakukan request itu, misalnya saldo habis atau tidak punya akses.

Kenapa curl berhasil tapi aplikasi saya 401?

Biasanya aplikasi membaca variabel yang berbeda atau kosong, atau base URL aplikasi berbeda dari yang kamu tes. Bandingkan alamat dan nama variabelnya.

In English

HTTP 401 Unauthorized means the server could not authenticate the request: no key, the wrong header (OpenAI format needs Authorization: Bearer, Anthropic format x-api-key), a proxy or redirect dropping the header, or a rejected key. Test with GET /v1/models, which runs no model and uses no tokens.