Skip to content

Auth

Autenticación JWT. Registro, inicio de sesión, renovación de tokens, cierre de sesión, verificación de email y restablecimiento de contraseña.

Registrar usuario

Crea un nuevo usuario. Si se envía companyId, automáticamente crea un CompanyMember con rol employee en esa empresa.

{
"firstName": "Juan",
"lastName": "Pérez",
"email": "juan@test.com",
"password": "password123",
"phone": "123456789",
"companyId": "00000000-0000-0000-0000-000000000000"
}

Usuario registrado

{
"accessToken": "accessToken",
"refreshToken": "refreshToken",
"user": {
"id": "00000000-0000-0000-0000-000000000000",
"firstName": "firstName",
"lastName": "lastName",
"email": "user@example.com",
"phone": "phone",
"role": "SUPERADMIN",
"enabled": true,
"createdAt": "2024-01-15T10:00:00Z",
"updatedAt": "2024-01-15T10:00:00Z"
}
}

Email ya registrado o datos inválidos

{
"error": "Mensaje descriptivo del error",
"timestamp": "2024-01-15T10:00:00Z"
}

Iniciar sesión

{
"email": "juan@test.com",
"password": "password123"
}

Inicio de sesión exitoso

{
"accessToken": "accessToken",
"refreshToken": "refreshToken",
"user": {
"id": "00000000-0000-0000-0000-000000000000",
"firstName": "firstName",
"lastName": "lastName",
"email": "user@example.com",
"phone": "phone",
"role": "SUPERADMIN",
"enabled": true,
"createdAt": "2024-01-15T10:00:00Z",
"updatedAt": "2024-01-15T10:00:00Z"
}
}

Credenciales inválidas

{
"error": "Mensaje descriptivo del error",
"timestamp": "2024-01-15T10:00:00Z"
}

Refrescar token JWT

{
"refreshToken": "refreshToken"
}

Token renovado

{
"accessToken": "accessToken",
"refreshToken": "refreshToken",
"user": {
"id": "00000000-0000-0000-0000-000000000000",
"firstName": "firstName",
"lastName": "lastName",
"email": "user@example.com",
"phone": "phone",
"role": "SUPERADMIN",
"enabled": true,
"createdAt": "2024-01-15T10:00:00Z",
"updatedAt": "2024-01-15T10:00:00Z"
}
}

Token inválido o expirado

{
"error": "Mensaje descriptivo del error",
"timestamp": "2024-01-15T10:00:00Z"
}

Cerrar sesión

{
"refreshToken": "refreshToken"
}

Sesión cerrada exitosamente


Verificar email

Email verificado

{
"token": "token"
}

Email verificado exitosamente


Solicitar restablecimiento de contraseña

{
"email": "user@example.com"
}

Email de restablecimiento enviado (si el email existe)


Confirmar restablecimiento de contraseña

Contraseña actualizada

{
"token": "token",
"newPassword": "newPassword"
}

Contraseña actualizada exitosamente


CampoTipoRequeridoDescripción
firstNamestring ej: “Juan”
lastNamestring ej: “Pérez”
emailstring (email) ej: “juan@test.com
passwordstring ej: “password123”
phonestring ej: “123456789”
companyIdstring (uuid)Opcional. Si se envía, crea CompanyMember con rol employee
CampoTipoRequeridoDescripción
accessTokenstring
refreshTokenstring
userUserResponse
CampoTipoRequeridoDescripción
errorstring ej: “Mensaje descriptivo del error”
timestampstring (date-time)
CampoTipoRequeridoDescripción
emailstring (email) ej: “juan@test.com
passwordstring ej: “password123”
CampoTipoRequeridoDescripción
refreshTokenstring
CampoTipoRequeridoDescripción
tokenstring
CampoTipoRequeridoDescripción
emailstring (email)
CampoTipoRequeridoDescripción
tokenstring
newPasswordstring