Başlayın

API anahtarları ve kimlik doğrulama

Her istek bir API anahtarı içerir. Anahtarlar bir çalışma alanına bağlıdır ve onun bakiyesini kullanır; her anahtar için ayrı bütçe, model ve adres kısıtlamaları belirlenebilir.

Anahtarı gönderme

Her iki başlık da tüm uç noktalarda çalışır:

Başlıklar
Authorization: Bearer zr_live_your_key_here
# or, as Anthropic's SDKs send it:
x-api-key: zr_live_your_key_here

Anahtarlar zr_live_ ile başlar. Anahtarın tamamı yalnızca oluşturduğunuzda gösterilir; biz sadece özetini (hash) saklarız, bu yüzden biz dahil kimse anahtarı size tekrar gösteremez. Kaybettiniz mi? İptal edip yenisini oluşturun.

Yapay zekâ ajanı bağlama

Bir ajan (OpenClaw, Hermes, Manus veya kendi ajanınız), kimsenin anahtar kopyalamasına gerek kalmadan kendi anahtarını alabilir: bir bağlantı ister, kullanıcısı zurelay.com üzerinden günlük limit belirleyerek onaylar ve ajan anahtarı alır. Televizyonda oturum açmaya benzer şekilde çalışır (OAuth cihaz akışı, RFC 8628). Bu iki çağrı için anahtar gerekmez.

POST/connect
namestring
Ajanın kendisi için kullandığı ad; onay sayfasında gösterilir ve anahtara bu ad verilir. İsteğe bağlı.
Bağlantı isteyin
curl -X POST https://api.zurelay.com/connect \
-H "Content-Type: application/json" \
-d '{"name": "OpenClaw"}'
{
"status": "pending",
"device_code": "zr_dc_…",
"user_code": "WDJB-MJHT",
"verification_uri": "https://zurelay.com/connect",
"verification_uri_complete": "https://zurelay.com/connect?code=WDJB-MJHT",
"expires_in": 900,
"interval": 2
}

Kullanıcıya verification_uri_complete ve kodu gösterin. Kullanıcı giriş yapar, kodun eşleştiğini kontrol eder, çalışma alanını ve günlük limiti seçer ve 15 dakika içinde onaylar. device_code yalnızca ajanda kalsın: anahtar bununla alınır.

POST/connect/key
device_codestringzorunlu
POST /connect yanıtından.
waitseconds
pending yanıtı vermeden önce onayın ne kadar bekleneceği, 0 ile 25 arasında. Varsayılan değer 25.
Anahtarı alın
curl -X POST https://api.zurelay.com/connect/key \
-H "Content-Type: application/json" \
-d '{"device_code": "zr_dc_…"}'
{
"status": "approved",
"api_key": "zr_live_…",
"key_name": "OpenClaw",
"workspace": "Acme",
"daily_limit_usd": 10,
"base_url": "https://api.zurelay.com/v1"
}
HTTPstatusAnlamı
202pendingHenüz onaylanmadı. Tekrar çağırın; her çağrı en fazla 25 saniye bekler.
200approvedAnahtar hazır. Yanıtın kaybolması ihtimaline karşı, onaydan sonraki 30 dakika içinde tekrar isterseniz aynı anahtar döner.
403deniedKullanıcı reddetti.
410expired15 dakika içinde onaylanmadı veya anahtar çok geç alındı. Yeniden başlayın.
410revokedAnahtar, API anahtarları sayfasından iptal edildi.
404unknownBu cihaz koduyla eşleşen bir istek yok.
Bu, API anahtarları sayfasında yer alan, ajanın adını taşıyan ve kullanıcının seçtiği günlük limite sahip standart bir anahtardır. Kurallarını oradan değiştirin veya ajanın bağlantısını kesmek için anahtarı iptal edin. Ajanlar kurulum adımlarını zurelay.com/skill.md adresinden de okuyabilir.

Anahtarları güvende tutma

  • Anahtarları bir gizli bilgi yöneticisinde veya ortam değişkenlerinde saklayın, asla koda ya da depoya koymayın.
  • Zurelay çağrılarını sunucunuzdan yapın. Tarayıcıya veya mobil uygulamaya eklenen bir anahtarı, uygulamaya erişen herkes okuyabilir.
  • Her uygulama veya ortam için ayrı bir anahtar kullanın (örneğin, production ve staging), böylece diğerlerine dokunmadan birini iptal edebilirsiniz.
  • Her anahtara yalnızca ihtiyacı olanı tanımlayın: bütçe, çağıracağı modeller, kullanılacağı adresler. Anahtar limitleri ve kuralları bölümüne bakın.
  • Bir anahtar sızarsa API anahtarları bölümünden iptal edin. Bu anahtarla yapılan istekler 15 saniye içinde durdurulur.

Anahtara uygulanabilecek kısıtlamalar

Monthly budgetUSD
Takvim ayı başına izin verilen harcama (UTC).
Daily budgetUSD
Günlük izin verilen harcama (UTC).
Rate limitistek / dakika
Dakika başına istek sayısı; fazlası 429 ile reddedilir.
Expirydate
Bu tarihten sonra anahtar çalışmaz.
Allowed modelslist
Yalnızca bu modeller; diğerleri 403 ile reddedilir.
Allowed IP addresseslist
Yalnızca bu adreslerden veya adres aralıklarından gelen istekler.
Smart routingsetting
Bir model kullanılamadığında ne olur: Akıllı yönlendirme bölümüne bakın.

Kimlik doğrulama hataları

DurumKodAnlamı
401missing_api_keyİstekte anahtar yok.
401invalid_api_keyAnahtar mevcut değil veya iptal edilmiş.
401expired_api_keyAnahtarın geçerlilik süresi dolmuş.
403ip_not_allowedAnahtar yalnızca başka adreslerden çalışır.
403model_not_allowedAnahtarın bu modeli kullanma izni yok.
402insufficient_quotaÇalışma alanının bakiyesi, devam eden istekler için ayrılan tutar düşüldüğünde bu isteği karşılamıyor.
Her sohbet, görsel ve video yanıtında bir x-request-id başlığı bulunur. Desteğe yazarken bunu ekleyin, isteği saniyeler içinde bulabiliriz.

Sorunuz mu var, yoksa bir şey mi eksik? Destek ekibimize sorun, genellikle bir dakika içinde e-postayla yanıtlayalım.