Jetzt starten

API-Schlüssel und Authentifizierung

Jede Anfrage enthält einen API-Schlüssel. Schlüssel gehören zu einem Workspace und nutzen dessen Guthaben. Für jeden Schlüssel kannst du eigene Budgets, Modelle und Adressen festlegen.

Schlüssel mitsenden

Beide Header funktionieren an jedem Endpunkt:

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

Schlüssel beginnen mit zr_live_. Den vollständigen Schlüssel siehst du nur einmal, wenn du ihn erstellst. Wir speichern nur einen Hash – niemand, auch wir nicht, kann ihn dir später noch einmal anzeigen. Verloren? Widerrufe ihn und erstelle einen neuen.

KI-Agenten verbinden

Ein Agent (OpenClaw, Hermes, Manus oder dein eigener) kann einen eigenen Schlüssel bekommen, ohne dass jemand einen kopieren muss: Er fordert einen Link an, du bestätigst ihn auf zurelay.com mit einem Tageslimit, und der Agent holt den Schlüssel ab. Das funktioniert wie die Anmeldung an einem Fernseher (OAuth Device Flow, RFC 8628). Für diese beiden Aufrufe ist kein Schlüssel nötig.

POST/connect
namestring
Der Name, den sich der Agent gibt. Er erscheint auf der Bestätigungsseite und wird als Name für den Schlüssel verwendet. Optional.
Link anfordern
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
}

Zeig der Person verification_uri_complete und den Code. Sie meldet sich an, prüft, ob der Code übereinstimmt, wählt den Workspace und ein Tageslimit aus und bestätigt innerhalb von 15 Minuten. Gib device_code nur an den Agenten weiter: Damit holt er den Schlüssel ab.

POST/connect/key
device_codestringerforderlich
Aus POST /connect.
waitseconds
Wie lange auf die Bestätigung gewartet wird, bevor pending zurückgegeben wird: 0 bis 25. Standardwert: 25.
Schlüssel abholen
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"
}
HTTPstatusBedeutung
202pendingNoch nicht bestätigt. Ruf erneut auf; jeder Aufruf wartet bis zu 25 Sekunden.
200approvedHier ist der Schlüssel. Wenn du innerhalb von 30 Minuten nach der Bestätigung erneut fragst, erhältst du denselben Schlüssel – falls eine Antwort verloren ging.
403deniedDie Person hat abgelehnt.
410expiredNicht innerhalb von 15 Minuten bestätigt oder zu spät abgeholt. Starte erneut.
410revokedDer Schlüssel wurde auf der Seite API-Schlüssel widerrufen.
404unknownZu diesem Gerätecode gibt es keine Anfrage.
Der Schlüssel ist ein regulärer Schlüssel auf der Seite API-Schlüssel. Er ist nach dem Agenten benannt und hat das von der Person gewählte Tageslimit. Dort kannst du seine Regeln ändern oder ihn widerrufen, um den Agenten zu trennen. Agenten lesen außerdem die Einrichtungsschritte unter zurelay.com/skill.md.

Schlüssel sicher aufbewahren

  • Bewahre Schlüssel in einem Secret Manager oder in Umgebungsvariablen auf, niemals im Code oder in einem Repository.
  • Ruf Zurelay von deinem Server aus auf. Einen Schlüssel im Browser oder in einer mobilen App kann jeder auslesen, der Zugriff auf die App hat.
  • Verwende einen eigenen Schlüssel für jede App oder Umgebung (z. B. production und staging). So kannst du einen widerrufen, ohne die anderen zu ändern.
  • Erlaube jedem Schlüssel nur, was er braucht: ein Budget, die Modelle, die er aufruft, und die Adressen, von denen aus er genutzt wird. Siehe Limits und Regeln für Schlüssel.
  • Falls ein Schlüssel offengelegt wird, widerrufe ihn unter API-Schlüssel. Anfragen mit diesem Schlüssel werden innerhalb von 15 Sekunden gestoppt.

Mögliche Limits für Schlüssel

Monthly budgetUSD
Zulässige Ausgaben pro Kalendermonat (UTC).
Daily budgetUSD
Zulässige Ausgaben pro Tag (UTC).
Rate limitrequests / minute
Anfragen pro Minute; weitere werden mit 429 abgelehnt.
Expirydate
Danach funktioniert der Schlüssel nicht mehr.
Allowed modelslist
Nur diese Modelle; alle anderen werden mit 403 abgelehnt.
Allowed IP addresseslist
Nur Anfragen von diesen Adressen oder Adressbereichen.
Smart routingsetting
Was passiert, wenn ein Modell ausfällt: siehe Intelligentes Routing.

Authentifizierungsfehler

StatusCodeBedeutung
401missing_api_keyKein Schlüssel in der Anfrage.
401invalid_api_keyDer Schlüssel existiert nicht oder wurde widerrufen.
401expired_api_keyDer Schlüssel ist abgelaufen.
403ip_not_allowedDer Schlüssel funktioniert nur von anderen Adressen aus.
403model_not_allowedDer Schlüssel darf dieses Modell nicht verwenden.
402insufficient_quotaDas Guthaben des Workspaces reicht nach Abzug der für laufende Anfragen reservierten Beträge nicht für diese Anfrage.
Jede Chat-, Bild- und Videoantwort enthält einen x-request-id-Header. Gib ihn an, wenn du den Support kontaktierst. So finden wir die Anfrage in Sekunden.

Fragen oder fehlt etwas? Frag unser Support-Team und wir antworten per E-Mail, meist innerhalb einer Minute.