API de Usuário e Minds
Gerenciamento de conta — registrar, login, criar minds, listar minds, excluir minds. Protegido por JWT.
API de Usuário e Minds
A API de Usuário e Minds cuida do gerenciamento de conta. Esses endpoints usam autenticação JWT (não Mind Keys) porque operam em nível de conta, não em nível de mind.
Endpoints de autenticação
POST /register
Cria uma nova conta de usuário.
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"
}'Resposta:
{
"jwt": "eyJhbGci...",
"user": {
"id": "u_abc123",
"email": "you@example.com",
"display_name": "Michael",
"created_at": "2026-06-27T..."
}
}POST /login
Faz login em uma conta existente.
curl -X POST https://synapse.schaefer.zone/login \
-H "Content-Type: application/json" \
-d '{
"email": "you@example.com",
"password": "your-secure-password"
}'Resposta: mesma de /register.
Endpoints de minds
POST /minds
Cria um novo mind. Retorna a Mind Key — salve-a imediatamente, ela é exibida apenas uma 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"
}'Resposta:
{
"id": "m_xyz789",
"name": "Work Mind",
"description": "Job-related memories",
"mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
"created_at": "2026-06-27T..."
}GET /minds
Lista todos os minds do usuário atual.
curl -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/mindsResposta:
{
"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
Exclui um mind permanentemente.
curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/minds/m_xyz789Padrão multi-mind
A maioria dos usuários se beneficia de múltiplos minds para manter contextos isolados:
# 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 Mind Keys diferentes em sessões LLM diferentes para manter contextos isolados.
Segurança da conta
Requisitos de senha
- Mínimo de 6 caracteres
- Sem máximo (use um gerenciador de senhas)
- Armazenada como hash bcrypt (nunca em texto puro)
Expiração do JWT
JWTs expiram após 7 dias. Quando expirar, basta chamar /login novamente.
Segurança da Mind Key
Mind Keys nunca expiram. Se uma Mind Key for comprometida:
- Crie um novo mind via
POST /minds - Atualize sua configuração de LLM com a nova Mind Key
- Exclua o mind comprometido via
DELETE /minds/:id
Próximos passos
- Autenticação — guia completo de auth
- Mind Key vs JWT — guia de decisão
- API de Compartilhamento — compartilhe minds com outros usuários