🎁 Neu Kostenlos registrieren, 10 Aufrufe gratis. Bis zu 1 $, ohne Karte.

Provisioning-Schlüssel

Ein Provisioning-Schlüssel ermöglicht es Ihrem Backend, Inferenz-API-Schlüssel programmatisch — ohne dass sich jemand in der Konsole anmeldet. Ideal für SaaS-Produkte, die einen Schlüssel pro Endkunde, pro Gerät oder pro CI-Job ausgeben.

Ein Provisioning-Schlüssel kann jeden Inferenzschlüssel in seinem Workspace erstellen, ändern und löschen. Behandeln Sie ihn wie ein Admin-Anmeldedaten: Speichern Sie ihn nur serverseitig und geben Sie ihn niemals an Browser oder mobile Clients weiter.

Funktionsweise

  1. Ein Owner oder Admin erstellt einen Provisioning-Schlüssel in Konsole → Provisioning-Schlüssel. Er trägt das Präfix sk-syn-prov-.
  2. Ihr Backend ruft die /api/provisioning/* Endpunkte mit diesem Schlüssel auf, um Inferenzschlüssel zu erstellen (Präfix sk-syn-).
  3. Jeder Inferenzschlüssel ist auf denselben Workspace beschränkt und kann ein USD-Ausgabenlimit sowie undurchsichtige metadata tags.
  4. Geben Sie die Inferenzschlüssel an Ihre Kunden weiter. Widerrufen Sie jeden einzelnen jederzeit — das Löschen eines Provisioning-Schlüssels beeinflusst nicht die bereits erstellten Inferenzschlüssel.

Provisioning-Schlüssel selbst werden nur in der Konsole erstellt — es gibt keine API zum Erzeugen eines Provisioning-Schlüssels. Öffnen Sie Konsole → Provisioning-Schlüssel (nur Owner / Admin).

Authentifizierung

Übergeben Sie den Provisioning-Schlüssel als Bearer-Token. Er funktioniert nur bei /api/provisioning/* — ein Provisioning-Schlüssel kann keine Inferenzaufrufe tätigen, und ein normaler Inferenzschlüssel kann diese Verwaltungs-Endpunkte nicht aufrufen (beide geben 401 wrong_key_kind).

Authorization: Bearer sk-syn-prov-...

Inferenzschlüssel erstellen

POST /api/provisioning/keys

ParameterTypBeschreibung
namestringMenschenlesbare Bezeichnung für den Schlüssel (z. B. "Device abc-123").
quotanumberAusgabenlimit in USD. Weglassen oder auf 0 setzen für unbegrenzt.
allowed_modelsstringKommagetrennte Modell-Allowlist (z. B. "claude-haiku-4-5"). Leer = alle Modelle, auf die der Workspace zugreifen kann.
ip_whiteliststringKommagetrennte IP-/CIDR-Allowlist für Anfragen mit diesem Schlüssel. Leer = keine Einschränkung.
expires_atstringOptionaler RFC3339-Ablaufzeitstempel. Weglassen für keinen Ablauf.
include_byok_in_limitbooleanBei true zählen BYOK-Aufrufe zum Kontingent dieses Schlüssels zum Upstream-Listenpreis. Standard false.
metadataobjectUndurchsichtige JSON-Tags, die Sie definieren (z. B. {"tenant_id":"acme"}). Wortgetreu gespeichert, max. 8 KB. Nur zum Auflisten / Filtern — beeinflusst niemals die Authentifizierung.
curl https://synthorai.io/api/provisioning/keys \
  -H "Authorization: Bearer sk-syn-prov-..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Device abc-123",
    "quota": 5.0,
    "allowed_models": "claude-haiku-4-5",
    "metadata": { "tenant_id": "acme", "device_id": "abc-123" }
  }'

Die Antwort gibt den vollständigen Schlüssel im key Feld genau einmal. Speichern Sie ihn sofort — er kann später nicht abgerufen werden.

{
  "id": 42,
  "key": "sk-syn-d4f0...e91b",
  "key_prefix": "sk-syn-d4f0...",
  "name": "Device abc-123",
  "kind": "inference",
  "created_via": "provisioning_api",
  "parent_provisioning_id": 7,
  "workspace_id": 11,
  "quota_usd": 5.0,
  "unlimited_quota": false,
  "allowed_models": "claude-haiku-4-5",
  "metadata": { "tenant_id": "acme", "device_id": "abc-123" },
  "created_at": "2026-06-01T12:00:00Z"
}

Inferenzschlüssel auflisten

GET /api/provisioning/keys

Listet jeden Inferenzschlüssel im Workspace auf. Filtern Sie nach jedem Metadatenfeld mit ?metadata.<key>=<value>; mehrere Filter werden mit AND kombiniert.

# all keys
curl https://synthorai.io/api/provisioning/keys \
  -H "Authorization: Bearer sk-syn-prov-..."

# only keys tagged tenant_id=acme
curl "https://synthorai.io/api/provisioning/keys?metadata.tenant_id=acme" \
  -H "Authorization: Bearer sk-syn-prov-..."

Abrufen, aktualisieren & löschen

Adressieren Sie einen einzelnen Inferenzschlüssel über seine numerische id:

  • GET /api/provisioning/keys/{id} — einen Schlüssel abrufen.
  • PATCH /api/provisioning/keys/{id} — aktualisieren name, quota, status, allowed_models, ip_whitelist, expires_at, include_byok_in_limit, oder metadata. Die Felder kind und Abstammungsfelder können nicht geändert werden.
  • DELETE /api/provisioning/keys/{id} — einen Schlüssel widerrufen. Sofort wirksam.
# disable a key (status 2 = disabled)
curl -X PATCH https://synthorai.io/api/provisioning/keys/42 \
  -H "Authorization: Bearer sk-syn-prov-..." \
  -H "Content-Type: application/json" \
  -d '{ "status": 2 }'

# delete a key
curl -X DELETE https://synthorai.io/api/provisioning/keys/42 \
  -H "Authorization: Bearer sk-syn-prov-..."

Kontingente & Ausgabenkontrolle

quota ist ein USD-Limit pro Inferenzschlüssel. Die Nutzung wird nach jeder Anfrage erfasst, daher kann ein Schlüssel sein Limit in einem kurzen Abrechnungsfenster bei hoher Parallelität geringfügig überschreiten — dimensionieren Sie Limits mit einem kleinen Puffer für hochwertige Modelle. Lesen Sie die aktuellen Ausgaben eines Schlüssels aus used_usd in den Auflistungs- / Abrufantworten.

Versehen Sie Schlüssel bei der Erstellung mit metadata (Tenant, Gerät, Umgebung), damit Sie sie später per Filter auflisten, prüfen und massenhaft widerrufen können. Auf diese Weise erstellte Schlüssel erscheinen auch in Konsole → API-Schlüssel mit einem Programmatisch Quell-Badge und ihre Tags.

Sie dimensionieren USD-Obergrenzen pro Schlüssel? Der LLM API cost calculator rechnet das erwartete Token-Volumen eines Kunden in einen monatlichen Ausgabenbetrag um, den Sie als quota festlegen können.