App öffnen
Moonborn — Developers

API-Key-Scopes

Die 13 kanonischen Scopes, die Bearer-Tokens einschränken. Stelle Least-Privilege-Keys pro Service aus.

Jeder Moonborn-API-Key trägt eine explizite Scope-Liste. Tokens, denen der für einen Endpoint erforderliche Scope fehlt, geben 403 forbidden zurück.

Das volle Set

ScopeGewährt
*Alle Scopes. Nur Owner.
read:personasPersonas auflisten, Persona-Details, Lineage, DNA, Voice lesen
write:personasPersonas erstellen, refinen, forken, archivieren, restoren
read:chatChat-Sessions auflisten, Messages + Memory lesen
write:chatSessions starten, Messages senden, Sessions beenden
read:marketplaceMarketplace-Listings, Collections auflisten + lesen
write:marketplaceListings publishen, forken, installieren, reviewen
read:billingSubscription, Rechnungen, Zahlungsmethoden, Usage lesen
read:auditAudit-Log-Einträge lesen
read:webhooksWebhooks, Deliveries auflisten
write:webhooksWebhooks erstellen, updaten, löschen; Deliveries replayen
read:configConfig-Items, Snapshots, Definitions lesen
write:configConfig-Items schreiben, Items locken, Snapshots restoren

Least-Privilege-Patterns

ServiceScopes
Read-only-Dashboardread:personas, read:chat, read:audit
Nightly-Sync-Workerread:personas, read:chat, write:webhooks
CI-Quality-Gateread:personas, write:personas (für Audit-Re-Runs)
Finance-ETLread:billing
Compliance-Archiverread:audit, read:config
Persona-Generation-Workerwrite:personas, read:personas

Stelle separate Keys pro Service aus. Reuse keinen einzelnen Master- Key über Production-Workloads.

Einen scoped Key ausstellen

const key = await client.apiKeys.createApiKey({
  name: 'CI quality gate',
  scopes: ['read:personas', 'write:personas'],
  expiresAt: '2027-01-01T00:00:00Z',
});
 
console.log(key.plaintext);
// ⚠ Genau einmal zurückgegeben. Sofort speichern; später nicht abrufbar.

IP-Allowlist

Paare einen Key mit einer IP-Allowlist für eine zusätzliche Schicht:

await client.apiKeys.updateApiKey({
  id: key.id,
  ipAllowlist: ['203.0.113.0/24'],
});

Requests von außerhalb der Allowlist geben unabhängig vom Scope 403 forbidden zurück.

Rotation

await client.apiKeys.rotateApiKey({ id: key.id });

Gibt einen neuen Plaintext zurück; der alte Key bleibt für die konfigurierte Grace-Period gültig (api.api_keys.rotation_grace_minutes, Standard 60). Update Konsumenten, dann lass den alten Key ablaufen.

Tarif

  • Bis zu 5 Keys: Free.
  • Unbegrenzte Keys: Pro.
  • Custom-Scopes / IP-Allowlist / Rotation-Grace-Tuning: Team+.
  • Per-Org-Scope-Inventar (Custom-Scopes): Enterprise.

Ehrlicher Scope

API-Key-Scopes schränken API-Zugriff ein. Workspace-Level RBAC-Rollen schränken User-Aktionen innerhalb des Produkts ein. Sie überlappen sich — ein write:personas-Key, ausgestellt von einem Viewer-Rollen-Nutzer, erbt die Read-Constraints des Viewers zusätzlich zum Scope des Keys.