Ejecutar Cambio de Contraseña
Ejecuta el cambio real de contraseña utilizando el token de validación obtenido en el Paso 1 y validación de 2FA cuando aplique.
🔄 Paso 2 del Proceso de Cambio
Este endpoint completa el proceso de cambio de contraseña iniciado previamente.
Requiere autenticación activa y un token de validación temporal.
PATCH
/auth/account/passwordEjecuta el cambio de contraseña usando el token de validación
📋 Parámetros
passwordstringrequeridoContraseña actual del usuario
newPasswordstringrequeridoNueva contraseña (debe cumplir requisitos de seguridad)
validationTokenstringrequeridoToken UUID obtenido en el Paso 1
twoFACodestringCódigo TOTP de 6 dígitos (requerido si el usuario tiene 2FA habilitado)
📤 Respuesta
{
"event": {
"code": 1003,
"message": "Password updated successfully"
},
"data": {
"status": "success",
"message": "Password changed successfully"
}
}Autenticación
JWT Requerido
Este endpoint requiere un JWT válido en el header:
Authorization: Bearer <access_token>
Requisitos de Contraseña
Política de Contraseñas
La nueva contraseña debe cumplir:
- Mínimo 9 caracteres
- Al menos 1 letra mayúscula
- Al menos 1 letra minúscula
- Al menos 1 número
- Al menos 1 carácter especial
- No puede ser igual a la contraseña actual
Regex de validación:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{9,}$/
Request Body
Usuario SIN 2FA
{
"password": "CurrentPassword123!",
"newPassword": "NewPassword456!",
"validationToken": "550e8400-e29b-41d4-a716-446655440000"
}
Usuario CON 2FA
{
"password": "CurrentPassword123!",
"newPassword": "NewPassword456!",
"twoFACode": "123456",
"validationToken": "550e8400-e29b-41d4-a716-446655440000"
}
Respuesta Exitosa
Contraseña Actualizada
Código 1003
{
"event": {
"code": 1003,
"message": "Password updated successfully"
},
"data": {
"status": "success",
"message": "Password changed successfully"
}
}
Errores
Validación de Token
| Código | HTTP | Descripción |
|---|---|---|
| 4031 | 400 | Validation token requerido |
| 4032 | 400 | Token inválido o expirado |
| 4033 | 401 | Token no pertenece al usuario |
Contraseñas
| Código | HTTP | Descripción |
|---|---|---|
| 4007 | 400 | Contraseña actual incorrecta |
| 4008 | 400 | Nueva contraseña inválida o no cumple requisitos |
| 4029 | 400 | Nueva contraseña igual a la actual |
2FA
| Código | HTTP | Descripción |
|---|---|---|
| 4034 | 400 | Código 2FA requerido |
| 4005 | 401 | Código 2FA inválido |
Ejemplo JavaScript
async function executePasswordChange(token, data) {
const res = await fetch('https://api.swapbits.co/auth/account/password', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
});
return res.json();
}