Mulai

Kunci API dan autentikasi

Setiap permintaan menyertakan kunci API. Kunci terikat pada ruang kerja dan menggunakan saldonya; setiap kunci dapat memiliki batas anggaran, model, dan alamat sendiri.

Mengirim kunci

Kedua header bisa digunakan di semua endpoint:

Header
Authorization: Bearer zr_live_your_key_here
# or, as Anthropic's SDKs send it:
x-api-key: zr_live_your_key_here

Kunci diawali dengan zr_live_. Kunci lengkap hanya ditampilkan sekali, saat Anda membuatnya; kami hanya menyimpan hash, jadi tidak ada yang bisa menampilkannya lagi, termasuk kami. Hilang? Cabut kunci tersebut dan buat yang baru.

Menghubungkan agen AI

Agen (OpenClaw, Hermes, Manus, atau buatan Anda sendiri) bisa mendapatkan kuncinya sendiri tanpa perlu disalin oleh siapa pun: agen meminta tautan, penggunanya menyetujui di zurelay.com dengan batas harian, lalu agen mengambil kuncinya. Prosesnya seperti masuk ke akun di TV (alur perangkat OAuth, RFC 8628). Kedua panggilan ini tidak memerlukan kunci.

POST/connect
namestring
Nama yang digunakan agen, ditampilkan di halaman persetujuan; nama ini juga digunakan untuk kuncinya. Opsional.
Minta tautan
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
}

Tampilkan verification_uri_complete dan kode kepada pengguna. Pengguna lalu masuk, memastikan kodenya cocok, memilih ruang kerja dan batas harian, lalu menyetujui dalam 15 menit. Simpan device_code hanya di agen: kode ini digunakan untuk mengambil kunci.

POST/connect/key
device_codestringwajib
Dari POST /connect.
waitseconds
Lama menunggu persetujuan sebelum mengembalikan pending, 0 hingga 25. Defaultnya 25.
Ambil kunci
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"
}
HTTPstatusArti
202pendingBelum disetujui. Panggil lagi; setiap panggilan menunggu hingga 25 detik.
200approvedKunci tersedia. Jika diminta lagi dalam 30 menit setelah persetujuan, kunci yang sama akan dikembalikan, untuk berjaga-jaga jika respons hilang.
403deniedPengguna menolak.
410expiredTidak disetujui dalam 15 menit, atau kunci terlambat diambil. Mulai lagi.
410revokedKunci telah dicabut di halaman kunci API.
404unknownTidak ada permintaan dengan kode perangkat ini.
Kunci ini adalah kunci biasa di halaman kunci API, dengan nama agen dan batas harian yang dipilih pengguna. Ubah aturannya di sana, atau cabut kunci untuk memutus akses agen. Agen juga membaca langkah penyiapan dari zurelay.com/skill.md.

Menjaga keamanan kunci

  • Simpan kunci di pengelola rahasia atau variabel lingkungan, jangan pernah di kode atau repositori.
  • Panggil Zurelay dari server Anda. Kunci di browser atau aplikasi seluler dapat dibaca oleh siapa pun yang memiliki aplikasi tersebut.
  • Gunakan satu kunci untuk setiap aplikasi atau lingkungan (misalnya, production dan staging), agar Anda dapat mencabut satu kunci tanpa memengaruhi yang lain.
  • Batasi setiap kunci sesuai kebutuhannya: anggaran, model yang dipanggil, dan alamat tempat kunci digunakan. Lihat Batas dan aturan kunci.
  • Jika kunci bocor, cabut di halaman kunci API. Permintaan yang menggunakannya akan dihentikan dalam 15 detik.

Batasan yang dapat diterapkan pada kunci

Monthly budgetUSD
Batas pengeluaran per bulan kalender (UTC).
Daily budgetUSD
Batas pengeluaran per hari (UTC).
Rate limitpermintaan / menit
Permintaan per menit; selebihnya ditolak dengan 429.
Expirydate
Setelah tanggal ini, kunci tidak lagi berfungsi.
Allowed modelslist
Hanya model-model ini; model lain ditolak dengan 403.
Allowed IP addresseslist
Hanya permintaan dari alamat atau rentang alamat ini.
Smart routingsetting
Yang terjadi saat model tidak tersedia: lihat Perutean cerdas.

Kesalahan autentikasi

StatusKodeArti
401missing_api_keyTidak ada kunci dalam permintaan.
401invalid_api_keyKunci tidak ada atau telah dicabut.
401expired_api_keyKunci telah melewati tanggal kedaluwarsa.
403ip_not_allowedKunci ini hanya bisa digunakan dari alamat lain.
403model_not_allowedKunci ini tidak diizinkan menggunakan model ini.
402insufficient_quotaSaldo ruang kerja, setelah dikurangi dana yang dicadangkan untuk permintaan yang sedang berjalan, tidak cukup untuk permintaan ini.
Setiap respons chat, gambar, dan video menyertakan header x-request-id. Sertakan header ini saat Anda menghubungi dukungan agar kami dapat menemukan permintaan dalam hitungan detik.

Ada pertanyaan, atau ada yang kurang? Tanyakan kepada tim dukungan kami dan kami akan menjawab lewat email, biasanya dalam satu menit.