Skip to main content

API користувачів та mind-ів

Керування обліковим записом — реєстрація, вхід, створення mind-ів, список mind-ів, видалення mind-ів. Захищено JWT.


API користувачів та mind-ів

API користувачів та mind-ів обробляє керування обліковим записом. Ці кінцеві точки використовують JWT-автентифікацію (а не Mind Keys), оскільки працюють на рівні облікового запису, а не на рівні 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.

Кінцеві точки mind-ів

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-ів для ізоляції контекстів:

# Створення 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

Наступні кроки