Skip to main content

User & Minds API

Accountbeheer — registreren, inloggen, minds aanmaken, minds tonen, minds verwijderen. JWT-beveiligd.


User & Minds API

De User & Minds API verzorgt het accountbeheer. Deze eindpunten gebruiken JWT- authenticatie (niet Mind Keys) omdat ze op accountniveau werken, niet op mind-niveau.

Authenticatie-eindpunten

POST /register

Maak een nieuw gebruikersaccount aan.

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

Respons:

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

POST /login

Log in op een bestaand account.

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

Respons: hetzelfde als /register.

Minds-eindpunten

POST /minds

Maak een nieuwe mind aan. Retourneert de Mind Key — sla deze onmiddellijk op, hij wordt slechts één keer getoond.

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

Respons:

{
  "id": "m_xyz789",
  "name": "Work Mind",
  "description": "Job-related memories",
  "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
  "created_at": "2026-06-27T..."
}
De `mind_key` wordt slechts één keer getoond. Als u deze verliest, kunt u deze niet meer ophalen — u moet de mind verwijderen en een nieuwe aanmaken (waarbij alle opgeslagen herinneringen verloren gaan).

GET /minds

Toon alle minds voor de huidige gebruiker.

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

Respons:

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

Verwijder een mind permanent.

curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds/m_xyz789
Het verwijderen van een mind is **onomkeerbaar**. Alle herinneringen, taken, chatgeschiedenis en scripts in die mind gaan permanent verloren. Exporteer eerst via `GET /memory/mind-export` als u een back-up nodig heeft.

Multi-mind-patroon

De meeste gebruikers profiteren van meerdere minds om contexten gescheiden te houden:

# Maak minds voor verschillende contexten
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...

Gebruik verschillende Mind Keys in verschillende LLM-sessies om contexten gescheiden te houden.

Accountbeveiliging

Wachtwoordvereisten

  • Minimaal 6 tekens
  • Geen maximum (gebruik een wachtwoordmanager)
  • Opgeslagen als bcrypt-hash (nooit platte tekst)

JWT-verval

JWT's vervallen na 7 dagen. Wanneer verlopen, roep gewoon opnieuw /login aan.

Mind Key-beveiliging

Mind Keys vervallen nooit. Als een Mind Key is gecompromitteerd:

  1. Maak een nieuwe mind via POST /minds
  2. Werk uw LLM-config bij met de nieuwe Mind Key
  3. Verwijder de gecompromitteerde mind via DELETE /minds/:id

Volgende stappen