Skip to main content

User & Minds API

Управление аккаунтом — регистрация, вход, создание minds, получение списка, удаление minds. Защищено JWT.


User & Minds API

User & Minds API управляет аккаунтами. Эти эндпоинты используют JWT-аутентификацию (а не Mind Key), так как работают на уровне аккаунта, а не на уровне mind.

Эндпоинты аутентификации

POST /register

Создать новый аккаунт пользователя.

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"
  }'

Ответ:

{
  "jwt": "eyJhbGci...",
  "user": {
    "id": "u_abc123",
    "email": "you@example.com",
    "display_name": "Michael",
    "created_at": "2026-06-27T..."
  }
}

POST /login

Войти в существующий аккаунт.

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 — сохраните его немедленно, он показывается только один раз.

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"
  }'

Ответ:

{
  "id": "m_xyz789",
  "name": "Work Mind",
  "description": "Job-related memories",
  "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
  "created_at": "2026-06-27T..."
}
`mind_key` показывается только один раз. Если вы его потеряете, восстановить его нельзя — придётся удалить mind и создать новый (что приведёт к потере всех хранимых воспоминаний).

GET /minds

Получить список всех mind текущего пользователя.

curl -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds

Ответ:

{
  "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 навсегда.

curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds/m_xyz789
Удаление mind **необратимо**. Все воспоминания, задачи, история чата и скрипты в этом mind будут навсегда утеряны. Сначала выполните экспорт через `GET /memory/mind-export`, если требуется резервная копия.

Паттерн нескольких mind

Большинству пользователей удобно иметь несколько mind для изоляции контекстов:

# 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

Следующие шаги