API key and authentication

NOXERY API

API key and authentication

Short, direct guides for using the OpenAI-compatible API in your applications and agents.

Base URL

Tüm API istekleri tek base URL'e gider. SDK'larda endpoint'e ayrıca /v1 ekleme.

text
https://api.noxery.net/v1

Kimlik doğrulama

Her istekte API key'i Authorization header'ında Bearer token olarak gönder. Key nox- ile başlar. Query string veya Basic Auth desteklenmez.

http
Authorization: Bearer nox-YOUR_API_KEY
Content-Type: application/json

Key sunucuda saklanan hash ile doğrulanır. İptal edilmiş veya bilinmeyen key 401 döner:

json
{
  "error": {
    "message": "Invalid or revoked API key.",
    "type": "authentication_error",
    "code": 401
  }
}

API anahtarı oluşturma

Her istek bir API anahtarıyla kimlik doğrular. Anahtar hesabına bağlıdır ve hesabının plan limitlerine tabidir. Aynı hesapta birden fazla anahtar tutabilirsin; her uygulama için ayrı anahtar üretmek iptal ve takibi kolaylaştırır.

  1. Giriş yap ve sayfayı aç. Panelde sol menüden API Anahtarları sayfasına git.
  2. İsim ver. Anahtarı tanıyacağın bir isim yaz (ör. prod-server) ve Üret'e bas. İsim yalnızca senin listende görünür, API davranışını etkilemez.
  3. Anahtarı hemen kopyala. Tam değer ekranda yalnızca bir kez gösterilir; sayfadan ayrıldıktan sonra bir daha görünmez. Kopyalayıp güvenli bir yere kaydet.
API Keys page: name your key and hit Generate
Steps 1–2: name your key and hit Generate.
New key generated — the full value is shown only once
Step 3: the full value is shown on this screen only once; don't leave the page without hitting Copy.
ÖnemliAnahtarını kaybettiysen geri alamazsın. Aynı isimle yeni bir anahtar üret, uygulamanı güncelle ve eski anahtarı listeden iptal et.

Birden fazla anahtar, iptal ve rotasyon

Listede her anahtarın oluşturma tarihi ve durumu görünür: aktif ya da iptal. İptal edilen anahtar anında geçersiz olur; kullanmaya devam eden uygulamalar 401 alır.

  • Her uygulama, sunucu ve geliştirme ortamı için ayrı anahtar üret. Bir anahtar sızarsa yalnızca onu iptal edersin; diğerleri çalışmaya devam eder.
  • Rotasyon: yeni anahtarı üret → uygulamayı yeni anahtarla güncelle → eskisini listeden İptal et ile kapat. Böylece kesinti olmadan geçersin.
  • Kullanılmayan anahtarları da iptal et; açık kalan her anahtar risk yüzeyidir.
Key list: active and revoked keys
Key list: status badges and the revoke button. Revoked keys stay listed for history.

Güvenli saklama

Anahtarı kaynak koduna yazma, git'e commit etme, tarayıcıda veya mobil uygulamada açık tutma. Sunucu tarafında environment variable olarak sakla:

bash
export NOXERY_API_KEY="nox-YOUR_KEY"
.env
NOXERY_API_KEY=nox-YOUR_KEY
# .env dosyasini .gitignore'a ekle
powershell
$env:NOXERY_API_KEY = "nox-YOUR_KEY"

Sunucu tarafında anahtarın kendisi değil, hash'i saklanır; panelde yalnızca kısaltılmış ön ek (nox-…) görünür. Anahtar sızdığından şüphelenirsen iptal edip yenisini üret.

İlk istek

Key ve model erişimini doğrulamak için küçük bir istek gönder. Model adını panelden değil, GET /v1/models yanıtındaki id alanından al.

curl
curl https://api.noxery.net/v1/chat/completions \
  -H "Authorization: Bearer $NOXERY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-v4-pro-202606","messages":[{"role":"user","content":"Merhaba"}]}'

SDK kullanımı

Noxery mesaj tabanlı uçlarda OpenAI istemci biçimini kullandığı için mevcut SDK'larla çalışır. Tek değişiklik baseURL değeridir.

Python

python
from openai import OpenAI

client = OpenAI(api_key="nox-YOUR_KEY", base_url="https://api.noxery.net/v1")
response = client.chat.completions.create(
    model="deepseek-v4-pro-202606",
    messages=[{"role": "user", "content": "Merhaba"}],
)
print(response.choices[0].message.content)

JavaScript / TypeScript

javascript
import OpenAI from "openai";

const client = new OpenAI({ apiKey: "nox-YOUR_KEY", baseURL: "https://api.noxery.net/v1" });
const response = await client.chat.completions.create({
  model: "deepseek-v4-pro-202606",
  messages: [{ role: "user", content: "Merhaba" }],
});
console.log(response.choices[0].message.content);

Key'i tarayıcıya veya mobil uygulamaya gömmek yerine kendi backend'inde tut.