Diese Seite ist für Entwickler (die programmatisch auf Localmind zugreifen) und für Admins (die verstehen wollen, welche Rechte ein ausgestellter Key hat) gleichermaßen relevant.
Die zwei Authentifizierungsmethoden
Beide Methoden senden ein Bearer-Token imAuthorization-Header. Sie wirken auf denselben Endpunkten, unterscheiden sich aber in der Token-Quelle:
Der User-API-Key ist die kanonische Methode für die programmatische Nutzung. Er wirkt nur in der Heimat-Org des Users, der ihn erstellt hat — der Key eines Users aus einer anderen Organisation funktioniert nicht (die Web-App warnt bereits beim Erstellen davor). Den Scope wählen Sie beim Anlegen: alle Spaces oder ausgewählte Spaces. Wie Sie einen Key in der Web-App anlegen und widerrufen, beschreibt die Plattform-Seite Persönliche API-Schlüssel.
Abgrenzung: Automate
Kernprinzip: Ein Key verengt, er erweitert nie
Ein User-API-Key hat exakt die Berechtigungen seines Besitzers — nicht mehr und nicht weniger. Er kann den Zugriff gegenüber dem Besitzer nur verengen (per Scope), niemals über dessen Rolle hinaus erweitern. Bei jeder Anfrage mit einem Key greifen drei Gates. Bei Keycloak-JWT sind diese Gates No-Ops, das Frontend-Verhalten bleibt unverändert.Rolle bestimmt die erlaubten Aktionen
Da der Key die Rolle des Besitzers 1:1 erbt, entscheidet die Space-Rolle, welche Aktionen erlaubt sind. Lesen, Suchen und Chatten funktionieren mit jeder Rolle. Schreibende Aktionen (Anlegen, Hochladen, Löschen) erfordern Schreibrechte im jeweiligen Space.
Ein Viewer-Key kann lesen und suchen, aber nicht schreiben. Eine Schreibanfrage wird mit einem
403 und einer sprechenden Meldung abgelehnt:
Schreiben funktioniert nur in Spaces, in denen der Besitzer Schreibrechte hat. Der natürliche Ort dafür ist der eigene Private Space — jeder User ist dessen Owner und kann dort per Key alles verwalten. Die Rollenstruktur (Instanz → Org → Space) ist im Berechtigungsmodell und für die Org-Mitgliederverwaltung unter Mitglieder beschrieben.
Opt-in pro Endpunkt
Nicht jeder Endpunkt akzeptiert einen API-Key. Endpunkte, die nicht für den Key-Zugriff freigeschaltet sind, antworten bewusst mit401 und verweisen auf die Frontend-Session:
GET /v1/me (Ihr eigenes Benutzerprofil): Mit einem User-API-Key liefert dieser Endpunkt absichtlich 401. Solche Endpunkte sind ausschließlich über eine Keycloak-Session erreichbar.
Narrowing ist wasserdicht
Das Scope-Modell verhindert Datenlecks über Filter. Ein Filter auf einen Space, den der Key nicht erreicht (fremder oder nicht-gescopter Space), liefert keinen Fehler, der Existenz verraten würde — er liefert 0 Treffer:POST /v1/spaces/search gar nicht erst auf. Der vom Aufrufer gesetzte Filter wird mit der für den Key erreichbaren Menge geschnitten, nie erweitert.
Suche/Filter vs. direkter ID-Zugriff: das stille 404
Außerhalb des Key-Scopes verhält sich die API je nach Zugriffsart unterschiedlich — beide Varianten sind bewusst so gestaltet, dass die Existenz fremder Ressourcen nicht verraten wird:
Das stille 404 ist Absicht: Ein
403 würde bestätigen, dass die Ressource existiert. Erhalten Sie bei einer bekannten, korrekten ID ein 404, prüfen Sie deshalb zuerst den Space-Scope Ihres Keys — nicht die ID. Eine Übersicht der Fehlercodes mit Lösungswegen bietet HTTP-Fehlercodes.
Nachvollziehbarkeit: Audit und last_used_at
Jede Key-Nutzung ist nachvollziehbar:last_used_atwird bei jeder Anfrage aktualisiert.- Key-Aktionen werden im Audit-Log mit
auth_method=api_keyund der Key-ID attribuiert.
Verwandte Seiten
Konventionen und Fehler
Base-URL, Pagination, Filter-DSL, Fehlermodell und Statuscodes.
OpenAI-kompatibel
GET /v1/models und POST /v1/chat/completions als Drop-in für OpenAI-SDKs.Persönliche API-Schlüssel
Plattform-Sicht: Keys in der Web-App anlegen, scopen und widerrufen.
Org-Mitglieder verwalten
Admin-Sicht auf Mitglieder, deren Rollen und damit die Reichweite ihrer Keys.
