Skip to main content

User & Minds API

Kontohantering — registrera, logga in, skapa minds, lista minds, ta bort minds. JWT-skyddad.


User & Minds API

User & Minds API hanterar kontohantering. Dessa endpoints använder JWT-autentisering (inte Mind Keys) eftersom de opererar på kontonivå, inte mind-nivå.

Autentiserings-endpoints

POST /register

Skapa ett nytt användarkonto.

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

Svar:

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

POST /login

Logga in på ett befintligt konto.

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

Svar: samma som /register.

Minds-endpoints

POST /minds

Skapa en ny mind. Returnerar Mind Key — spara den omedelbart, den visas endast en gång.

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

Svar:

{
  "id": "m_xyz789",
  "name": "Work Mind",
  "description": "Job-related memories",
  "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
  "created_at": "2026-06-27T..."
}
`mind_key` visas endast en gång. Om ni tappar den kan ni inte hämta den — ni måste ta bort minden och skapa en ny (vilket förlorar alla lagrade minnen).

GET /minds

Lista alla minds för den aktuella användaren.

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

Svar:

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

Ta bort en mind permanent.

curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds/m_xyz789
Att ta bort en mind är **oåterkalleligt**. Alla minnen, uppgifter, chathistorik och skript i den minden förloras permanent. Exportera först via `GET /memory/mind-export` om ni behöver en säkerhetskopia.

Flera-mind-mönster

De flesta användare har nytta av flera minds för att hålla kontexter isolerade:

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

Använd olika Mind Keys i olika LLM-sessioner för att hålla kontexterna isolerade.

Kontosäkerhet

Lösenordskrav

  • Minst 6 tecken
  • Ingen maxgräns (använd en lösenordshanterare)
  • Lagras som bcrypt-hash (aldrig i klartext)

JWT-utgång

JWT:er löper ut efter 7 dagar. När de löpt ut, anropa /login igen.

Mind Key-säkerhet

Mind Keys löper aldrig ut. Om en Mind Key komprometteras:

  1. Skapa en ny mind via POST /minds
  2. Uppdatera er LLM-konfiguration med den nya Mind Key
  3. Ta bort den komprometterade minden via DELETE /minds/:id

Nästa steg