# User & Minds API User & Minds API управляет аккаунтами. Эти эндпоинты используют JWT-аутентификацию (а не Mind Key), так как работают на уровне аккаунта, а не на уровне 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`. ## Эндпоинты Minds ### 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 # 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... ``` Используйте разные Mind Key в разных LLM-сессиях, чтобы контексты были изолированы. ## Безопасность аккаунта ### Требования к паролю - Минимум 6 символов - Без максимума (используйте менеджер паролей) - Хранится как bcrypt-хэш (никогда в открытом виде) ### Срок действия JWT JWT истекает через **7 дней**. После истечения просто вызовите `/login` снова. ### Безопасность Mind Key Mind Key не имеет срока действия. Если 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) — руководство по выбору - [Sharing API](/docs/api/user) — обмен minds между пользователями