API Utilisateur & Minds
Gestion de compte — inscription, connexion, création de minds, liste de minds, suppression de minds. Protégé par JWT.
API Utilisateur & Minds
L'API Utilisateur & Minds gère l'administration de compte. Ces endpoints utilisent l'authentification JWT (pas les Mind Keys) car ils opèrent au niveau du compte, pas au niveau du mind.
Endpoints d'authentification
POST /register
Crée un nouveau compte utilisateur.
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"
}'Réponse :
{
"jwt": "eyJhbGci...",
"user": {
"id": "u_abc123",
"email": "you@example.com",
"display_name": "Michael",
"created_at": "2026-06-27T..."
}
}POST /login
Connexion à un compte existant.
curl -X POST https://synapse.schaefer.zone/login \
-H "Content-Type: application/json" \
-d '{
"email": "you@example.com",
"password": "your-secure-password"
}'Réponse : identique à /register.
Endpoints Minds
POST /minds
Crée un nouveau mind. Renvoie la Mind Key — sauvegardez-la immédiatement, elle n'est affichée qu'une seule fois.
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"
}'Réponse :
{
"id": "m_xyz789",
"name": "Work Mind",
"description": "Job-related memories",
"mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
"created_at": "2026-06-27T..."
}GET /minds
Liste tous les minds de l'utilisateur courant.
curl -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/mindsRéponse :
{
"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
Supprime un mind définitivement.
curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/minds/m_xyz789Schéma multi-mind
La plupart des utilisateurs bénéficient de plusieurs minds pour isoler les contextes :
# Créer des minds pour différents contextes
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...Utilisez différentes Mind Keys dans différentes sessions LLM pour garder les contextes isolés.
Sécurité du compte
Exigences de mot de passe
- Minimum 6 caractères
- Pas de maximum (utilisez un gestionnaire de mots de passe)
- Stocké sous forme de hachage bcrypt (jamais en clair)
Expiration du JWT
Les JWT expirent après 7 jours. Une fois expirés, appelez simplement /login à
nouveau.
Sécurité de la Mind Key
Les Mind Keys n'expirent jamais. Si une Mind Key est compromise :
- Créez un nouveau mind via
POST /minds - Mettez à jour votre configuration LLM avec la nouvelle Mind Key
- Supprimez le mind compromis via
DELETE /minds/:id
Prochaines étapes
- Authentification — guide complet d'auth
- Mind Key vs JWT — guide de décision
- API Sharing — partager des minds avec d'autres utilisateurs