# User & Minds API User & Minds API hanterar kontohantering. Dessa endpoints använder JWT-autentisering (inte Mind Keys) eftersom de opererar på kontonivå, inte mind-nivå. ## Autentiserings-endpoints ### POST /register Skapa ett nytt användarkonto. ```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" }' ``` Svar: ```json { "jwt": "eyJhbGci...", "user": { "id": "u_abc123", "email": "you@example.com", "display_name": "Michael", "created_at": "2026-06-27T..." } } ``` ### POST /login Logga in på ett befintligt konto. ```bash curl -X POST https://synapse.schaefer.zone/login \ -H "Content-Type: application/json" \ -d '{ "email": "you@example.com", "password": "your-secure-password" }' ``` Svar: samma som `/register`. ## Minds-endpoints ### POST /minds Skapa en ny mind. Returnerar Mind Key — **spara den omedelbart**, den visas endast en gång. ```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" }' ``` Svar: ```json { "id": "m_xyz789", "name": "Work Mind", "description": "Job-related memories", "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789", "created_at": "2026-06-27T..." } ``` > [!CRITICAL] > `mind_key` visas endast en gång. Om ni tappar den kan ni inte hämta den — > ni måste ta bort minden och skapa en ny (vilket förlorar alla lagrade minnen). ### GET /minds Lista alla minds för den aktuella användaren. ```bash curl -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds ``` Svar: ```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 Ta bort en mind permanent. ```bash curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds/m_xyz789 ``` > [!WARNING] > Att ta bort en mind är **oåterkalleligt**. Alla minnen, uppgifter, > chathistorik och skript i den minden förloras permanent. Exportera först via > `GET /memory/mind-export` om ni behöver en säkerhetskopia. ## Flera-mind-mönster De flesta användare har nytta av flera minds för att hålla kontexter isolerade: ```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... ``` Använd olika Mind Keys i olika LLM-sessioner för att hålla kontexterna isolerade. ## Kontosäkerhet ### Lösenordskrav - Minst 6 tecken - Ingen maxgräns (använd en lösenordshanterare) - Lagras som bcrypt-hash (aldrig i klartext) ### JWT-utgång JWT:er löper ut efter **7 dagar**. När de löpt ut, anropa `/login` igen. ### Mind Key-säkerhet Mind Keys löper aldrig ut. Om en Mind Key komprometteras: 1. Skapa en ny mind via `POST /minds` 2. Uppdatera er LLM-konfiguration med den nya Mind Key 3. Ta bort den komprometterade minden via `DELETE /minds/:id` ## Nästa steg - [Autentisering](/docs/getting-started/authentication) — fullständig auth-guide - [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt) — beslutsguide - [Sharing API](/docs/api/user) — dela minds med andra användare