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:
| Methode | Header | Quelle | Typischer Einsatz |
|---|---|---|---|
| User-API-Key | Authorization: Bearer sk-… | In der Web-App erstellt (Benutzereinstellungen → API-Schlüssel) | Programmatischer Zugriff: eigene Apps, n8n, OpenAI-SDK-Umstieg, RAG über eigene Dokumente |
| Keycloak-JWT | Authorization: Bearer <jwt> | Frontend-Session der Web-App | Die Localmind-Web-App selbst |
Der User-API-Key ist die kanonische Methode für die programmatische Nutzung. Er gilt nur für die Heim-Organisation des Users, der ihn erstellt hat. 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: der Automate-API-Key
Für die n8n-basierte Automate-Umgebung existiert ein separater API-Key mit einer anderen Header-Konvention: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.| Gate | Wirkung |
|---|---|
| User-Permissions | Es gilt dieselbe Space- und Rollen-Prüfung wie im Frontend. Der Key sieht und darf genau das, was der Besitzer sieht und darf. |
| Org-Binding | Der Key ist an eine Organisation gebunden (die Heim-Org des Besitzers). Fremde Organisationen sind unerreichbar. |
| Space-Scope | Ein scoped Key erreicht nur die beim Anlegen gewählten Spaces. Ein org-weiter Key erreicht alles, was der Besitzer in seiner Org sieht. |
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.| Rolle im Space | Lesen / Suchen / Chatten | Anlegen / Upload / Löschen |
|---|---|---|
| Owner / Editor (z. B. eigener Privater Space) | erlaubt | erlaubt — voller CRUD |
| Viewer | erlaubt | abgelehnt mit 403 |
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.
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.
