# User- & Minds-API Die User- & Minds-API behandelt die Kontoverwaltung. Diese Endpunkte verwenden JWT-Authentifizierung (nicht Mind Keys), weil sie auf Kontoebene arbeiten, nicht auf Mind-Ebene. ## Authentifizierungs-Endpunkte ### POST /register Ein neues Nutzerkonto anlegen. ```bash curl -X POST https://synapse.schaefer.zone/register \ -H "Content-Type: application/json" \ -d '{ "email": "you@example.com", "password": "your-secure-password", "display_name": "Michael" }' ``` Antwort: ```json { "jwt": "eyJhbGci...", "user": { "id": "u_abc123", "email": "you@example.com", "display_name": "Michael", "created_at": "2026-06-27T..." } } ``` ### POST /login Bei einem bestehenden Konto einloggen. ```bash curl -X POST https://synapse.schaefer.zone/login \ -H "Content-Type: application/json" \ -d '{ "email": "you@example.com", "password": "your-secure-password" }' ``` Antwort: wie bei `/register`. ## Minds-Endpunkte ### POST /minds Einen neuen Mind anlegen. Liefert den Mind Key — **sofort speichern**, er wird nur einmal angezeigt. ```bash curl -X POST https://synapse.schaefer.zone/minds \ -H "Authorization: Bearer YOUR_JWT" \ -H "Content-Type: application/json" \ -d '{ "name": "Work Mind", "description": "Job-related memories" }' ``` Antwort: ```json { "id": "m_xyz789", "name": "Work Mind", "description": "Job-related memories", "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789", "created_at": "2026-06-27T..." } ``` > [!CRITICAL] > Der `mind_key` wird nur einmal angezeigt. Wenn du ihn verlierst, kannst du ihn > nicht wiederherstellen — du musst den Mind löschen und einen neuen anlegen > (wodurch alle gespeicherten Memories verloren gehen). ### GET /minds Alle Minds des aktuellen Nutzers auflisten. ```bash curl -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds ``` Antwort: ```json { "minds": [ { "id": "m_xyz789", "name": "Work Mind", "description": "Job-related memories", "created_at": "2026-06-27T...", "memory_count": 142, "last_activity": "2026-06-27T..." } ] } ``` ### DELETE /minds/:id Einen Mind dauerhaft löschen. ```bash curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds/m_xyz789 ``` > [!WARNING] > Das Löschen eines Minds ist **unumkehrbar**. Alle Memories, Tasks, > Chat-Verläufe und Scripts in diesem Mind gehen dauerhaft verloren. Exportiere > vorher via `GET /memory/mind-export`, falls du ein Backup brauchst. ## Multi-Mind-Pattern Die meisten Nutzer profitieren von mehreren Minds, um Kontexte getrennt zu halten: ```bash # Create minds for different contexts curl -X POST .../minds -d '{"name": "work", "description": "Job"}' # → mind_key: mk_work... curl -X POST .../minds -d '{"name": "personal", "description": "Personal life"}' # → mind_key: mk_personal... curl -X POST .../minds -d '{"name": "project-synapse", "description": "Synapse dev"}' # → mind_key: mk_synapse... ``` Verwende in verschiedenen LLM-Sessions unterschiedliche Mind Keys, um Kontexte getrennt zu halten. ## Kontosicherheit ### Passwort-Anforderungen - Mindestens 6 Zeichen - Kein Maximum (verwende einen Passwort-Manager) - Als bcrypt-Hash gespeichert (niemals im Klartext) ### JWT-Ablauf JWTs laufen nach **7 Tagen** ab. Wenn sie abgelaufen sind, rufe einfach wieder `/login` auf. ### Mind-Key-Sicherheit Mind Keys laufen nie ab. Wenn ein Mind Key kompromittiert wurde: 1. Lege einen neuen Mind via `POST /minds` an 2. Aktualisiere deine LLM-Konfiguration mit dem neuen Mind Key 3. Lösche den kompromittierten Mind via `DELETE /minds/:id` ## Nächste Schritte - [Authentifizierung](/docs/getting-started/authentication) — vollständiger Auth-Guide - [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt) — Entscheidungsleitfaden - [Sharing-API](/docs/api/user) — Minds mit anderen Nutzern teilen