# User & Minds API De User & Minds API verzorgt het accountbeheer. Deze eindpunten gebruiken JWT- authenticatie (niet Mind Keys) omdat ze op accountniveau werken, niet op mind-niveau. ## Authenticatie-eindpunten ### POST /register Maak een nieuw gebruikersaccount aan. ```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" }' ``` Respons: ```json { "jwt": "eyJhbGci...", "user": { "id": "u_abc123", "email": "you@example.com", "display_name": "Michael", "created_at": "2026-06-27T..." } } ``` ### POST /login Log in op een bestaand account. ```bash curl -X POST https://synapse.schaefer.zone/login \ -H "Content-Type: application/json" \ -d '{ "email": "you@example.com", "password": "your-secure-password" }' ``` Respons: hetzelfde als `/register`. ## Minds-eindpunten ### POST /minds Maak een nieuwe mind aan. Retourneert de Mind Key — **sla deze onmiddellijk op**, hij wordt slechts één keer getoond. ```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" }' ``` Respons: ```json { "id": "m_xyz789", "name": "Work Mind", "description": "Job-related memories", "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789", "created_at": "2026-06-27T..." } ``` > [!CRITICAL] > De `mind_key` wordt slechts één keer getoond. Als u deze verliest, kunt u deze > niet meer ophalen — u moet de mind verwijderen en een nieuwe aanmaken (waarbij > alle opgeslagen herinneringen verloren gaan). ### GET /minds Toon alle minds voor de huidige gebruiker. ```bash curl -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds ``` Respons: ```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 Verwijder een mind permanent. ```bash curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds/m_xyz789 ``` > [!WARNING] > Het verwijderen van een mind is **onomkeerbaar**. Alle herinneringen, taken, > chatgeschiedenis en scripts in die mind gaan permanent verloren. Exporteer > eerst via `GET /memory/mind-export` als u een back-up nodig heeft. ## Multi-mind-patroon De meeste gebruikers profiteren van meerdere minds om contexten gescheiden te houden: ```bash # Maak minds voor verschillende contexten 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... ``` Gebruik verschillende Mind Keys in verschillende LLM-sessies om contexten gescheiden te houden. ## Accountbeveiliging ### Wachtwoordvereisten - Minimaal 6 tekens - Geen maximum (gebruik een wachtwoordmanager) - Opgeslagen als bcrypt-hash (nooit platte tekst) ### JWT-verval JWT's vervallen na **7 dagen**. Wanneer verlopen, roep gewoon opnieuw `/login` aan. ### Mind Key-beveiliging Mind Keys vervallen nooit. Als een Mind Key is gecompromitteerd: 1. Maak een nieuwe mind via `POST /minds` 2. Werk uw LLM-config bij met de nieuwe Mind Key 3. Verwijder de gecompromitteerde mind via `DELETE /minds/:id` ## Volgende stappen - [Authenticatie](/docs/getting-started/authentication) — volledige auth-handleiding - [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt) — keuzehandleiding - [Sharing API](/docs/api/user) — deel minds met andere gebruikers