Skip to main content

User & Minds API

Zarządzanie kontem — rejestracja, logowanie, tworzenie umysłów, lista umysłów, usuwanie umysłów. Chronione JWT.


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.

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ź:

{
  "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.

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.

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ź:

{
  "id": "m_xyz789",
  "name": "Work Mind",
  "description": "Job-related memories",
  "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
  "created_at": "2026-06-27T..."
}
`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.

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

Odpowiedź:

{
  "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ł.

curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds/m_xyz789
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:

# 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