# User & Minds API User & Minds API obsługuje zarządzanie kontem. Te endpointy używają autoryzacji JWT (nie Mind Key), ponieważ operują na poziomie konta, a nie umysłu. ## Endpointy autoryzacji ### POST /register Tworzy nowe konto użytkownika. ```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" }' ``` Odpowiedź: ```json { "jwt": "eyJhbGci...", "user": { "id": "u_abc123", "email": "you@example.com", "display_name": "Michael", "created_at": "2026-06-27T..." } } ``` ### POST /login Logowanie do istniejącego konta. ```bash curl -X POST https://synapse.schaefer.zone/login \ -H "Content-Type: application/json" \ -d '{ "email": "you@example.com", "password": "your-secure-password" }' ``` Odpowiedź: taka sama jak dla `/register`. ## Endpointy umysłów ### POST /minds Tworzy nowy umysł. Zwraca Mind Key — **należy go natychmiast zapisać**, jest wyświetlany tylko raz. ```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" }' ``` Odpowiedź: ```json { "id": "m_xyz789", "name": "Work Mind", "description": "Job-related memories", "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789", "created_at": "2026-06-27T..." } ``` > [!CRITICAL] > `mind_key` jest wyświetlany tylko raz. W przypadku jego utraty nie można go > odzyskać — należy usunąć umysł i utworzyć nowy (co powoduje utratę wszystkich > zapisanych wspomnień). ### GET /minds Lista wszystkich umysłów bieżącego użytkownika. ```bash curl -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds ``` Odpowiedź: ```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 Trwale usuwa umysł. ```bash curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds/m_xyz789 ``` > [!WARNING] > Usunięcie umysłu jest **nieodwracalne**. Wszystkie wspomnienia, zadania, > historia czatu i skrypty w tym umyśle zostają trwale utracone. Należy najpierw > wykonać eksport przez `GET /memory/mind-export`, jeśli kopia zapasowa jest > potrzebna. ## Wzorzec wielu umysłów Większości użytkowników pomaga posiadanie wielu umysłów, aby utrzymać konteksty oddzielone: ```bash # Tworzenie umysłów dla różnych kontekstów 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... ``` Należy używać różnych Mind Key w różnych sesjach LLM, aby utrzymać konteksty oddzielone. ## Bezpieczeństwo konta ### Wymagania dotyczące hasła - Minimum 6 znaków - Brak maksimum (zaleca się menedżer haseł) - Przechowywane jako hasz bcrypt (nigdy w postaci jawnej) ### Wygasanie JWT JWT wygasają po **7 dniach**. Po wygaśnięciu należy ponownie wywołać `/login`. ### Bezpieczeństwo Mind Key Mind Key nigdy nie wygasa. W przypadku skompromitowania Mind Key: 1. Utworzyć nowy umysł przez `POST /minds` 2. Zaktualizować konfigurację LLM o nowy Mind Key 3. Usunąć skompromitowany umysł przez `DELETE /minds/:id` ## Następne kroki - [Autoryzacja](/docs/getting-started/authentication) — pełny przewodnik autoryzacji - [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt) — przewodnik decyzyjny - [Sharing API](/docs/api/user) — współdzielenie umysłów z innymi użytkownikami