👤 Users
Gerencie usuários via API pública.
Todos os endpoints exigem:
Authorization: Bearer {token}X-Requested-With: XMLHttpRequestContent-Type: application/json
Recursos do plano necessários:
- Public API – Create User
- Public API – Update User
- Public API – Delete User
- Public API – Reset User Password
- Public API – Get User Last Activity
➕ Criar usuário
POST /users
Body
{
"email": "[email protected]",
"full_name": "Ana Silva",
"password": "StrongP@ssw0rd",
"phone": "+55 11 99999-0000"
}200
{ "message": "Usuário criado com sucesso" }✏️ Atualizar usuário
PATCH /users
Identifica o usuário por email e atualiza os demais campos.
Body
{
"email": "[email protected]",
"first_name": "Ana",
"last_name": "Silva",
"username": "ana.silva",
"document": "123.456.789-00",
"phone": "+55 11 98888-7777",
"full_name": "Ana Carla Silva"
}200
{ "message": "Usuário atualizado com sucesso" }🗑️ Deletar usuário
DELETE /users
Body
{ "email": "[email protected]" }200
{ "message": "Usuário deletado com sucesso" }🔐 Redefinir senha
POST /users/reset-password
Envia o e-mail de redefinição e retorna a URL gerada (reset_url).
Body
{ "email": "[email protected]" }200
{
"message": "Password reset link sent successfully",
"reset_url": "https://sua-plataforma.ensinio.cloud/password/reset/eyJ0b2tlbiI6..."
}Erros comuns
400— validação (e.g. email inválido)401— token ausente/inválido403— feature desabilitada no plano404— usuário não encontrado429— rate limit500— erro inesperado
🕘 Última atividade do usuário
GET /users/last-activity?email={email}
Retorna os dados básicos do usuário e a atividade mais recente registrada por ele
(qualquer tipo — não apenas login).
O e-mail vai na query string e deve estar codificado para URL (por exemplo, + vira %2B).
200
{
"data": {
"user": {
"first_name": "Ana",
"last_name": "Silva",
"email": "[email protected]",
"phone": "+55 11 99999-0000"
},
"last_activity": {
"type": "session",
"date": "2026-09-15T14:03:21.000000Z"
}
}
}Quando last_activity.type é visit_lesson, a resposta também inclui group e lesson:
{
"last_activity": {
"type": "visit_lesson",
"date": "2026-09-15T14:03:21.000000Z",
"group": { "name": "Turma de Matemática" },
"lesson": { "name": "Aula 1 - Frações" }
}
}Tipos possíveis de last_activity.type: session (login), visit_community,
visit_community_space, visit_classwork, visit_lesson, claim_shop_reward,
view_group_material.
Erros comuns
401— token ausente/inválido403— feature desabilitada no plano404— usuário não tem nenhuma atividade registrada422—emailausente, inválido ou sem usuário correspondente
