# API користувачів та mind-ів API користувачів та mind-ів обробляє керування обліковим записом. Ці кінцеві точки використовують JWT-автентифікацію (а не Mind Keys), оскільки працюють на рівні облікового запису, а не на рівні mind-у. ## Кінцеві точки автентифікації ### POST /register Створити новий обліковий запис користувача. ```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" }' ``` Відповідь: ```json { "jwt": "eyJhbGci...", "user": { "id": "u_abc123", "email": "you@example.com", "display_name": "Michael", "created_at": "2026-06-27T..." } } ``` ### POST /login Увійти до наявного облікового запису. ```bash curl -X POST https://synapse.schaefer.zone/login \ -H "Content-Type: application/json" \ -d '{ "email": "you@example.com", "password": "your-secure-password" }' ``` Відповідь: як у `/register`. ## Кінцеві точки mind-ів ### POST /minds Створити новий mind. Повертає Mind Key — **збережіть його негайно**, він показується лише один раз. ```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" }' ``` Відповідь: ```json { "id": "m_xyz789", "name": "Work Mind", "description": "Job-related memories", "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789", "created_at": "2026-06-27T..." } ``` > [!CRITICAL] > `mind_key` показується лише один раз. Якщо ви його втратите, відновити його > неможливо — доведеться видалити mind і створити новий (що знищить усі збережені > спогади). ### GET /minds Список усіх mind-ів для поточного користувача. ```bash curl -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds ``` Відповідь: ```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 Видалити mind назавжди. ```bash curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds/m_xyz789 ``` > [!WARNING] > Видалення mind **незворотне**. Усі спогади, завдання, історія чату та скрипти > в цьому mind-і будуть безповоротно втрачені. Спочатку експортуйте через > `GET /memory/mind-export`, якщо потрібна резервна копія. ## Шаблон кількох mind-ів Більшості користувачів корисно мати кілька mind-ів для ізоляції контекстів: ```bash # Створення mind-ів для різних контекстів 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... ``` Використовуйте різні Mind Keys у різних сесіях LLM, щоб ізолювати контексти. ## Безпека облікового запису ### Вимоги до пароля - Мінімум 6 символів - Без максимуму (використовуйте менеджер паролів) - Зберігається як bcrypt-хеш (ніколи у відкритому вигляді) ### Термін дії JWT JWT-токени закінчуються через **7 днів**. Коли термін дії закінчується, просто викличте `/login` знову. ### Безпека Mind Key Mind Keys ніколи не закінчуються. Якщо Mind Key скомпрометовано: 1. Створіть новий mind через `POST /minds` 2. Оновіть конфігурацію LLM новим Mind Key 3. Видаліть скомпрометований mind через `DELETE /minds/:id` ## Наступні кроки - [Автентифікація](/docs/getting-started/authentication) — повний посібник з автентифікації - [Mind Key проти JWT](/docs/getting-started/mind-key-vs-jwt) — посібник з вибору - [API спільного доступу](/docs/api/user) — надання іншим користувачам доступу до mind-ів