Skip to main content

User- & Minds-API

Kontoverwaltung — registrieren, einloggen, Minds erstellen, Minds auflisten, Minds löschen. JWT-geschützt.


User- & Minds-API

Die User- & Minds-API behandelt die Kontoverwaltung. Diese Endpunkte verwenden JWT-Authentifizierung (nicht Mind Keys), weil sie auf Kontoebene arbeiten, nicht auf Mind-Ebene.

Authentifizierungs-Endpunkte

POST /register

Ein neues Nutzerkonto anlegen.

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

Antwort:

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

POST /login

Bei einem bestehenden Konto einloggen.

curl -X POST https://synapse.schaefer.zone/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "you@example.com",
    "password": "your-secure-password"
  }'

Antwort: wie bei /register.

Minds-Endpunkte

POST /minds

Einen neuen Mind anlegen. Liefert den Mind Key — sofort speichern, er wird nur einmal angezeigt.

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

Antwort:

{
  "id": "m_xyz789",
  "name": "Work Mind",
  "description": "Job-related memories",
  "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
  "created_at": "2026-06-27T..."
}
Der `mind_key` wird nur einmal angezeigt. Wenn du ihn verlierst, kannst du ihn nicht wiederherstellen — du musst den Mind löschen und einen neuen anlegen (wodurch alle gespeicherten Memories verloren gehen).

GET /minds

Alle Minds des aktuellen Nutzers auflisten.

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

Antwort:

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

Einen Mind dauerhaft löschen.

curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds/m_xyz789
Das Löschen eines Minds ist **unumkehrbar**. Alle Memories, Tasks, Chat-Verläufe und Scripts in diesem Mind gehen dauerhaft verloren. Exportiere vorher via `GET /memory/mind-export`, falls du ein Backup brauchst.

Multi-Mind-Pattern

Die meisten Nutzer profitieren von mehreren Minds, um Kontexte getrennt zu halten:

# 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...

Verwende in verschiedenen LLM-Sessions unterschiedliche Mind Keys, um Kontexte getrennt zu halten.

Kontosicherheit

Passwort-Anforderungen

  • Mindestens 6 Zeichen
  • Kein Maximum (verwende einen Passwort-Manager)
  • Als bcrypt-Hash gespeichert (niemals im Klartext)

JWT-Ablauf

JWTs laufen nach 7 Tagen ab. Wenn sie abgelaufen sind, rufe einfach wieder /login auf.

Mind-Key-Sicherheit

Mind Keys laufen nie ab. Wenn ein Mind Key kompromittiert wurde:

  1. Lege einen neuen Mind via POST /minds an
  2. Aktualisiere deine LLM-Konfiguration mit dem neuen Mind Key
  3. Lösche den kompromittierten Mind via DELETE /minds/:id

Nächste Schritte