API de User y Minds
Gestión de cuenta — registro, login, crear minds, listar minds, eliminar minds. Protegido con JWT.
API de User y Minds
La API de User y Minds gestiona la administración de cuentas. Estos endpoints usan autenticación JWT (no Mind Keys) porque operan a nivel de cuenta, no a nivel de mind.
Endpoints de autenticación
POST /register
Crea una nueva cuenta de usuario.
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"
}'Respuesta:
{
"jwt": "eyJhbGci...",
"user": {
"id": "u_abc123",
"email": "you@example.com",
"display_name": "Michael",
"created_at": "2026-06-27T..."
}
}POST /login
Inicia sesión en una cuenta existente.
curl -X POST https://synapse.schaefer.zone/login \
-H "Content-Type: application/json" \
-d '{
"email": "you@example.com",
"password": "your-secure-password"
}'Respuesta: igual que /register.
Endpoints de Minds
POST /minds
Crea un nuevo mind. Devuelve el Mind Key — guárdelo de inmediato, solo se muestra una vez.
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"
}'Respuesta:
{
"id": "m_xyz789",
"name": "Work Mind",
"description": "Job-related memories",
"mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
"created_at": "2026-06-27T..."
}GET /minds
Lista todos los minds del usuario actual.
curl -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/mindsRespuesta:
{
"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
Elimina un mind de forma permanente.
curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/minds/m_xyz789Patrón multi-mind
La mayoría de los usuarios se beneficia de tener múltiples minds para mantener los contextos aislados:
# 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...Use diferentes Mind Keys en diferentes sesiones LLM para mantener los contextos aislados.
Seguridad de la cuenta
Requisitos de contraseña
- Mínimo 6 caracteres
- Sin máximo (use un gestor de contraseñas)
- Se almacena como hash bcrypt (nunca en texto plano)
Expiración del JWT
Los JWT expiran después de 7 días. Al expirar, simplemente llame de nuevo a
/login.
Seguridad del Mind Key
Los Mind Keys nunca expiran. Si un Mind Key se ve comprometido:
- Cree un nuevo mind vía
POST /minds - Actualice la configuración de su LLM con el nuevo Mind Key
- Elimine el mind comprometido vía
DELETE /minds/:id
Próximos pasos
- Autenticación — guía completa de auth
- Mind Key vs JWT — guía de decisión
- API de Sharing — compartir minds con otros usuarios