Migrasi URL dasar dan SDK26 Oktober 2026Cxj

Cara Mendapatkan Kunci API OpenAI dan Mengatasi Error 401 “Invalid API Key”

Diagnosis error 401 kunci API OpenAI tidak valid dengan aman, termasuk endpoint yang salah, secret usang, kunci dicabut, kontrol proyek, dan allowlist IP.

Cara Mendapatkan Kunci API OpenAI dan Mengatasi Error 401 “Invalid API Key”

Error 401 OpenAI adalah masalah autentikasi, tetapi tidak selalu berarti hal yang sama. Perbaikan tercepat adalah mengidentifikasi nama host permintaan, mengonfirmasi rahasia mana yang benar-benar dimuat oleh proses yang berjalan, lalu menggunakan isi error untuk membedakan kunci yang salah dari kunci yang dicabut, ketidakcocokan kredensial gateway, atau pemblokiran daftar izin IP.

Jika Anda mencari cara mendapatkan kunci API OpenAI karena sebuah permintaan baru saja gagal, jangan menempelkan rahasia baru ke konfigurasi yang sama secara sembarangan. Pertama, pastikan apakah permintaan menuju api.openai.com atau ke gateway yang kompatibel dengan OpenAI. Kedua endpoint tersebut mungkin memerlukan kredensial yang berbeda.

Jangan pernah menempelkan kunci API lengkap ke tiket, chat, tangkapan layar, log, atau daftar periksa ini. Sebagai gantinya, bandingkan sidik jari yang diturunkan secara aman atau akhiran tersamarkan yang ditampilkan oleh penyedia Anda.

Apa arti “invalid API key”?

Artinya, layanan yang menerima permintaan tidak dapat mengautentikasi kredensial yang diberikan untuk permintaan tersebut. Untuk permintaan OpenAI langsung, error resmi dapat berbunyi Incorrect API key provided. Pemeriksaan awal OpenAI adalah membandingkan kunci tersamarkan dalam error dengan kunci yang dimaksud, memastikan aplikasi tidak beralih antara dua kunci, dan mengonfirmasi konfigurasi organisasi yang benar ketika diperlukan. Panduan kunci salah OpenAI adalah sumber kebenaran untuk pesan tersebut secara persis.

Status HTTP saja tidak cukup untuk mendiagnosis penyebabnya. Misalnya, OpenAI mendokumentasikan bahwa permintaan yang diblokir oleh daftar izin IP mengembalikan HTTP 401 dengan jenis error ip_not_authorized—bahkan dengan kunci yang valid. Baca isi error sebelum merotasi apa pun. Panduan daftar izin IP OpenAI menjelaskan perbedaannya.

Daftar periksa diagnosis lima menit

Lakukan pemeriksaan ini secara berurutan. Berhentilah saat bukti mengarah ke suatu penyebab; mengubah beberapa hal sekaligus membuat perbaikan yang berhasil sulit dibuktikan.

Pemeriksaan Yang perlu diperiksa dengan aman Kesimpulan yang mungkin Langkah berikutnya
1. Host permintaan Nama host setelah pengalihan, misalnya api.openai.com dibandingkan domain gateway Kunci OpenAI langsung dikirim ke penyedia lain, atau sebaliknya Gunakan kredensial yang diterbitkan oleh operator endpoint
2. Isi error yang tepat Pesan error, type, dan code—jangan pernah rahasia lengkap Kunci salah/dicabut, pemblokiran IP, atau aturan autentikasi khusus penyedia Ikuti cabang di bawah yang sesuai dengan isi error
3. Sumber rahasia runtime Lingkungan proses, referensi rahasia deployment, nama rahasia CI, atau revisi kontainer Nilai lama, kosong, terpotong, atau dalam tanda kutip masih berjalan Perbarui sumber rahasia aktif dan mulai ulang/deploy ulang dengan sengaja
4. Siklus hidup kunci Apakah kunci dihapus, dicabut, terekspos, atau dikonfigurasi untuk kedaluwarsa Kunci asli tidak dapat lagi mengautentikasi Buat pengganti dan rotasikan dengan aman
5. Proyek dan izin Keanggotaan proyek, proyek yang dituju, dan izin kunci Kunci ada tetapi tidak memiliki akses yang dibutuhkan permintaan Gunakan kunci proyek yang dituju atau minta pemilik menyesuaikan akses
6. Kontrol jaringan IP keluar dan konfigurasi daftar izin IP OpenAI ip_not_authorized atau perubahan IP infrastruktur Perbarui daftar izin; berikan waktu propagasi sebelum menguji ulang

1. Konfirmasikan endpoint sebelum menyentuh kunci

Ini adalah pemeriksaan terpenting ketika sebuah SDK memiliki base_url yang dapat dikonfigurasi.

  • Permintaan ke https://api.openai.com/... memerlukan kredensial API OpenAI.
  • Permintaan ke gateway atau proxy memerlukan kredensial dan format autentikasi yang didokumentasikan gateway tersebut.
  • Sebuah permintaan dapat terlihat “kompatibel dengan OpenAI” dalam kode, tetapi tetap dikirim ke host non-OpenAI.

Cara mendapatkan kunci API OpenAI hanya relevan setelah Anda mengonfirmasi bahwa permintaan benar-benar menuju OpenAI. Jika host adalah gateway, membuat kunci OpenAI baru tidak akan memperbaiki error 401 dari gateway tersebut. Bandingkan nama host yang dikonfigurasi, URL dasar SDK, variabel deployment, dan konfigurasi proxy apa pun; jangan mencatat header Authorization saat melakukannya.

Untuk penyiapan perutean multi-model, simpan konfigurasi endpoint dan kunci bersama-sama. Panduan pemecahan masalah API yang kompatibel dengan OpenAI yang lebih luas membahas URL dasar, nama model, streaming, dan pemeriksaan khusus perutean setelah pengujian kredensial langsung ini berhasil.

2. Verifikasi bahwa aplikasi memuat satu rahasia yang dimaksud

Penyebab umum error “invalid API key” adalah kesalahan konfigurasi sederhana:

  • OPENAI_API_KEY tidak disetel dalam proses yang berjalan meskipun ada di laptop Anda.
  • Deployment masih merujuk ke versi rahasia yang lebih lama.
  • File .env tidak dimuat di lingkungan yang benar-benar membuat permintaan.
  • Nilainya menyertakan tanda kutip, spasi kosong, jeda baris, atau placeholder yang disalin tanpa sengaja.
  • Satu jalur kode menggunakan nilai default library, sedangkan jalur lain menimpa kunci atau URL dasar.

Gunakan sidik jari yang tidak dapat dibalik dalam lingkungan debug privat. Ini memungkinkan Anda membandingkan rahasia mana yang dimuat oleh proses berbeda tanpa mencetak rahasia itu sendiri:

import crypto from "node:crypto";

const key = process.env.OPENAI_API_KEY?.trim();

if (!key) {
  throw new Error("OPENAI_API_KEY is not set in this process");
}

const fingerprint = crypto
  .createHash("sha256")
  .update(key)
  .digest("hex")
  .slice(0, 12);

console.info({ keyConfigured: true, keyLength: key.length, fingerprint });

Bandingkan fingerprint antara pengembangan lokal, CI, staging, worker, dan produksi. Jangan membandingkan atau menyimpan kunci lengkap.

3. Uji permintaan langsung dengan lingkungan runtime yang sama

Jalankan permintaan minimal dari mesin, container, atau job yang sama yang mengalami kegagalan. Ini memisahkan pemuatan kredensial dari logika aplikasi. Perintah berikut menggunakan header bearer standar, tetapi sengaja membiarkan kunci berada dalam variabel lingkungan:

curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY"

Tafsirkan hasilnya dengan cermat:

  • 401 yang sama dari runtime yang sama mengarah pada kredensial, endpoint, pengaturan organisasi/proyek, atau kebijakan jaringan.
  • Respons yang berhasil mengarah pada konfigurasi aplikasi: runtime yang berbeda, override base URL, pembuatan klien duplikat, atau variabel lingkungan yang berbeda.
  • Respons ip_not_authorized adalah masalah allowlisting IP, bukan bukti bahwa teks kunci tidak valid.

Jangan mengganti pengujian ini dengan permintaan browser. OpenAI menyarankan agar tidak men-deploy kunci API di browser atau aplikasi seluler karena kunci tersebut dapat terekspos dan digunakan oleh pihak lain. Kirimkan permintaan melalui backend Anda sendiri sebagai gantinya. Panduan keamanan kunci API OpenAI menjelaskan alasannya.

4. Periksa apakah kunci telah dicabut, dihapus, terekspos, atau kedaluwarsa

Rahasia API OpenAI hanya ditampilkan sepenuhnya saat dibuat. Jika Anda tidak menyimpan rahasia tersebut, Anda tidak dapat memulihkannya dari dashboard; buat yang baru dan perbarui aplikasi. Kunci yang dihapus tidak dapat digunakan. Artikel manajemen kunci OpenAI mengonfirmasi kedua perilaku tersebut.

Jika Anda sedang menyiapkan integrasi baru, bukan memulihkan dari insiden, gunakan panduan produksi kunci API Open AI pendamping untuk checklist penyiapan, keamanan, dan operasional yang lebih luas.

Perlakukan peristiwa berikut sebagai alasan untuk merotasi, bukan mencoba ulang tanpa batas:

  • Kunci dihapus atau sengaja dicabut.
  • Kunci mungkin telah di-commit ke repositori, dikirim dalam pesan, disematkan dalam aplikasi klien, atau terekspos dengan cara lain. OpenAI menyatakan bahwa mereka menonaktifkan kunci yang terdeteksi di internet publik atau bocor di dalam aplikasi app store.
  • Kunci proyek dibuat dengan tanggal kedaluwarsa, dan tanggal tersebut telah terlewati.
  • Deployment merujuk ke kunci sebelumnya setelah rotasi yang direncanakan.

Untuk penggantian, buat kunci baru di proyek yang dituju, tulis ke penyimpanan secret yang benar, deploy, konfirmasikan satu permintaan minimal, lalu cabut kunci lama. OpenAI merekomendasikan tanggal kedaluwarsa dan proses rotasi rutin; OpenAI juga merekomendasikan kunci terpisah, bukan kredensial tim bersama. Lihat rekomendasi keamanan terkini.

5. Periksa keanggotaan proyek dan izin kunci

Jika Anda dapat membuat atau melihat kunci tetapi workload tim masih gagal, periksa batas proyek sebelum menganggap secret tersebut salah format. Proyek OpenAI mengelola kunci API, anggota, akun layanan, akses model, dan batas pengeluaran. Kunci milik pengguna dapat diatur ke izin penuh, terbatas, atau hanya-baca. Panduan proyek OpenAI mendokumentasikan kontrol yang tersedia.

Ajukan pertanyaan-pertanyaan berikut:

  1. Apakah kunci berasal dari proyek yang sama dengan sumber daya aplikasi dan penggunaan yang dimaksud?
  2. Apakah akun layanan atau pengguna masih menjadi anggota proyek tersebut?
  3. Apakah kunci memiliki izin endpoint/sumber daya yang diperlukan oleh panggilan?
  4. Jika error mengidentifikasi sebuah organisasi, apakah klien dikonfigurasi untuk organisasi yang dimaksud, bukan organisasi lama?

Masalah izin dan proyek mungkin memiliki pesan yang lebih spesifik atau kode status yang berbeda dari Incorrect API key provided. Simpan ID permintaan error dan body yang telah disanitasi untuk pemilik platform Anda atau Dukungan OpenAI, alih-alih menebak.

6. Singkirkan kemungkinan allowlisting IP sebelum merotasi kunci yang valid

Organisasi OpenAI dapat membatasi lalu lintas API ke rentang IP yang disetujui. Permintaan dari alamat lain akan ditolak dengan HTTP 401 dan ip_not_authorized, bahkan ketika kredensial itu sendiri valid. Hal ini menjadikannya 401 yang sangat mudah salah didiagnosis.

Jika jenis error adalah ip_not_authorized:

  1. Identifikasi IP egress sebenarnya dari workload—bukan IP publik laptop developer.
  2. Bandingkan dengan allowlist yang dikonfigurasi dan periksa apakah cloud NAT, alamat egress serverless, atau proxy berubah.
  3. Perbarui rentang yang diizinkan melalui kontrol organisasi yang sesuai.
  4. Tunggu jangka waktu propagasi yang didokumentasikan sebelum menjalankan kembali pengujian minimal.

Biarkan kunci tidak berubah hingga kemungkinan ini terbantahkan. Merotasi kunci yang valid hanya menambahkan variabel kedua pada insiden.

Cara mendapatkan kunci API OpenAI setelah 401

Jika bukti menunjukkan bahwa kredensial hilang, dihapus, disusupi, atau kedaluwarsa, ikuti alur pemulihan singkat ini:

  1. Buka halaman kunci API OpenAI di organisasi dan proyek yang dituju.
  2. Buat kunci rahasia baru dengan akses minimum yang sesuai untuk beban kerja.
  3. Simpan langsung di pengelola rahasia sisi server atau rahasia deployment; jangan letakkan di kode browser, file .env yang di-commit, atau dokumen bersama.
  4. Perbarui satu lingkungan terlebih dahulu dan jalankan permintaan langsung minimal.
  5. Terapkan perubahan ke lingkungan lainnya dan konfirmasikan bahwa fingerprint berubah sebagaimana diharapkan.
  6. Cabut kunci sebelumnya hanya setelah penggantinya terverifikasi, kecuali kunci lama terekspos—dalam hal itu, cabut segera dan selidiki penggunaannya.

Inilah cara mendapatkan kunci API OpenAI dengan aman untuk pemulihan. Ini bukan alasan untuk membagikan satu kunci di antara rekan satu tim atau lingkungan. Gunakan kredensial proyek/pengguna atau akun layanan yang terpisah agar error 401 di masa mendatang memiliki dampak yang lebih kecil.

401 khusus gateway memerlukan pertanyaan yang berbeda

Saat sebuah codebase menggunakan SDK yang kompatibel dengan OpenAI dengan base_url kustom, mulailah dengan pertanyaan: Layanan mana yang menerima permintaan? Gateway dapat mengembalikan 401-nya sendiri sebelum mengirim apa pun ke hulu, ke OpenAI. Dalam kasus tersebut, validasikan kredensial gateway, tenant/workspace, URL basis API, dan pengenal model dalam dokumentasi gateway itu sendiri.

Setelah permintaan diautentikasi, gunakan panduan cepat API Flatkey untuk penyiapan router yang kompatibel dan terfokus, atau kembali ke panduan pemecahan masalah API yang kompatibel dengan OpenAI untuk pemeriksaan model, streaming, dan URL basis. Simpan kunci OpenAI langsung dan kunci gateway dalam variabel rahasia yang diberi nama terpisah agar insiden di masa mendatang terlihat jelas dari konfigurasi, bukan dari coba-coba.

Sebelum menutup insiden

  • [ ] Hostname dan base_url sesuai dengan penerbit kredensial.
  • [ ] Proses produksi memuat fingerprint rahasia yang diharapkan.
  • [ ] Kunci belum dihapus, dicabut, terekspos, atau kedaluwarsa.
  • [ ] Keanggotaan proyek dan izin kunci sudah benar untuk beban kerja.
  • [ ] ip_not_authorized telah dikesampingkan atau allowlist telah diperbarui.
  • [ ] Permintaan minimal berfungsi dari runtime yang mengalami kegagalan.
  • [ ] Tidak ada kredensial lengkap yang muncul di log, source control, tiket, atau chat.
  • [ ] Kunci lama dicabut hanya setelah penggantinya terverifikasi, kecuali jika kunci tersebut terekspos.

Cara mendapatkan kunci API OpenAI adalah tugas penyiapan yang berguna; mendiagnosis host, sumber rahasia, siklus hidup, dan kebijakan jaringanlah yang mengubah perbaikan 401 menjadi perbaikan produksi yang tahan lama.

Pertanyaan yang sering diajukan

Apa arti invalid API key di OpenAI?

Artinya, layanan yang menangani permintaan tidak dapat mengautentikasi kredensial yang disajikan. Untuk pesan Incorrect API key provided yang spesifik, bandingkan kunci yang dimaksud dengan nilai tersamarkan dalam error, pastikan aplikasi tidak menggunakan dua kunci, dan periksa konfigurasi organisasi yang benar. Jenis error yang berbeda seperti ip_not_authorized menunjukkan penyebab lain.

Bagaimana cara mendapatkan kunci API OpenAI jika kunci lama tidak lagi berfungsi?

Buat kunci rahasia baru di proyek OpenAI yang dituju, simpan di penyimpanan rahasia sisi server, perbarui deployment aktif, dan verifikasi permintaan minimal sebelum mencabut kunci lama. Anda tidak dapat mengambil nilai lengkap dari kunci yang sudah ada setelah layar pembuatan ditutup.

Dapatkah saya memperbaiki OpenAI 401 dengan menaruh kunci baru di JavaScript browser?

Tidak. Browser atau aplikasi seluler adalah tempat yang salah untuk rahasia penyedia. Arahkan permintaan melalui backend Anda dan simpan rahasia dalam konfigurasi sisi server atau pengelola rahasia.

Mengapa kunci OpenAI yang valid mengembalikan 401 ip_not_authorized?

Allowlisting IP OpenAI dapat menolak permintaan dari alamat yang tidak ada dalam allowlist organisasi. Periksa IP egress sebenarnya dari server atau beban kerja cloud, lalu bandingkan dengan rentang IP yang dikonfigurasi.

Mengapa kunci OpenAI baru tidak memperbaiki 401 gateway?

Endpoint gateway mungkin memerlukan kunci API dan konfigurasi miliknya sendiri. Konfirmasikan hostname permintaan dan gunakan kredensial yang diterbitkan oleh operator endpoint tersebut; kunci OpenAI langsung tidak mengautentikasi permintaan ke setiap API yang kompatibel dengan OpenAI.

Sumber resmi