“API anahtarım çalışmıyor” başlığıyla bize ulaşan taleplerin neredeyse tamamı aynı hata etrafında toplanıyor: 401 Unauthorized veya Invalid or revoked API key. Bu yazıda bu hatanın en yaygın 5 nedenini ve her birinin çözümünü sırayla anlatıyoruz.
Önce hızlı bir kontrol listesi
# 1. Ortam değişkeni gerçekten tanımlı mı?
echo $NOXERY_API_KEY
# 2. Anahtar API ile çalışıyor mu?
curl https://api.noxery.net/v1/models \
-H "Authorization: Bearer $NOXERY_API_KEY"
Bir uyarı: Authorization başlığında Bearer kelimesi anahtara dahil olmamalı — doğrusu Authorization: Bearer nox-... şeklindedir.
1. Anahtar iptal edilmiş (en sık neden)
Panelden yeni bir anahtar oluşturup eskisini iptal ettiyseniz ya da anahtarınız güvenlik nedeniyle kapatıldıysa eski anahtar 401 döndürür. Panelde API Anahtarları sayfasından anahtarın durumunu kontrol edin; “iptal edildi” görünüyorsa yeni bir anahtar oluşturup istemcinizi güncelleyin.
2. İstemcide eski anahtar kalmış (auth.json / eski terminal)
Anahtarı değiştirdiniz ama uygulama hâlâ eskisini kullanıyor olabilir. Özellikle:
- Codex/OpenCode gibi araçlarda daha önce kaydedilmiş
auth.jsondosyası eski anahtarı içeriyor olabilir. - Ortam değişkeni eski terminal oturumunda kalmış olabilir —
setxveya.bashrcdeğişikliği yeni terminalde geçerli olur.
Çözüm: ~/.codex/auth.json (veya kullandığınız aracın kimlik dosyasını) silin, tüm terminal pencerelerini kapatıp yeniden açın, echo $NOXERY_API_KEY ile yeni değeri doğrulayın.
3. Anahtar, ortam değişkeni adı yerine config alanına yazılmış
Codex kullanıyorsanız config.toml içindeki env_key alanı anahtarın kendisi değil, değişkenin adı olmalıdır:
# YANLIŞ
env_key = "nox-abc123..."
# DOĞRU
env_key = "NOXERY_API_KEY"
Yanlış kullanımda ya “Missing environment variable” hatası ya da 401 alırsınız. Ayrıntılı rehber: Codex’te Missing environment variable çözümü.
4. İstek Noxery’ye değil, başka bir sağlayıcıya gidiyor
İstemci yapılandırmasında base_url tanımlı değilse Codex gibi araçlar varsayılan olarak api.openai.com adresine gider. Bu durumda OpenAI, sizin Noxery anahtarınızı tanımaz ve 401 döndürür. Doğru yapılandırma:
model_provider = "noxery"
[model_providers.noxery]
name = "Noxery"
base_url = "https://api.noxery.net/v1"
env_key = "NOXERY_API_KEY"
wire_api = "responses"
requires_openai_auth = false
OpenAI uyumlu diğer araçlarda karşılık gelen alanlar: OPENAI_BASE_URL=https://api.noxery.net/v1 ve OPENAI_API_KEY=nox-....
5. Kopyalama hatası: boşluk, satır sonu veya eksik karakter
Anahtarı panelden kopyalarken başına/sonuna boşluk gelmesi ya da tırnak içinde yapıştırılması 401’e yol açar. Ortam değişkenini tanımlarken tırnak kullanın, fazladan boşluk bırakmayın:
export NOXERY_API_KEY="nox-ANAHTARINIZ"
Terminalde echo $NOXERY_API_KEY | wc -c ile uzunluğu kontrol edebilirsiniz; anahtar nox- ile başlar ve 40 karakter civarındadır.
Güvenlik notları
- Anahtarı asla ekran görüntüsü, forum mesajı veya GitHub’a eklemeyin. Paylaşmanız gerekirse yalnızca ilk 12 karakterini (örn.
nox-49d70d3f...) paylaşın. - Sızdığını düşünüyorsanız panelden anahtarı hemen iptal edip yenisini oluşturun.
- Her araca ayrı anahtar oluşturun; bir sorunda yalnızca o anahtarı iptal etmeniz yeterli olur.
Sorun devam ederse: destek talebi açın veya Telegram grubuna yazın. Talebinize anahtarın ilk 12 karakterini, hata mesajını ve kullandığınız aracı eklemeyi unutmayın.
