POST/api/auth/reset-password
Restablece la contraseña utilizando un Reset Token válido.
`POST /api/auth/reset-password` establece una nueva contraseña mediante un Reset Token válido. La ruta no requiere una sesión ya iniciada porque está destinada precisamente a usuarios que ya no pueden utilizar su contraseña anterior. El body contiene `token` y `password`. El token procede del correo de restablecimiento previamente enviado y la nueva contraseña debe cumplir los requisitos mínimos del servidor. La llamada no es idempotente. Tras un reset correcto, el token utilizado queda consumido o deja de estar previsto para otro cambio de contraseña. Por ello, un cliente no debe repetir rápidamente una solicitud cuyo resultado haya quedado incierto. Debe mostrar el resultado y, si es necesario, permitir iniciar un nuevo flujo mediante Forgot Password. Un token inválido, caducado o ya usado, así como una contraseña que no cumpla los requisitos, produce `400 VALIDATION_ERROR`. El mensaje público no debe revelar detalles adicionales de la cuenta. Token y nueva contraseña no deben aparecer en parámetros URL, herramientas de análisis, logs públicos ni capturas de soporte. La solicitud debe ejecutarse exclusivamente mediante un formulario protegido por HTTPS. Una respuesta correcta es `{"ok":true}`. Confirma el cambio de contraseña, no un nuevo inicio de sesión automático. Después del reset, el usuario debe iniciar sesión normalmente con la nueva contraseña. Las sesiones existentes deben tratarse según la lógica real del backend; la documentación no debe afirmar que se cierran todas las sesiones si eso no está demostrado. El test live demostrado cubre el caso negativo con token inválido y estado 400. Para esta prueba no se realizó por separado un reset exitoso con un token productivo. Esta limitación debe mantenerse explícita y no debe deducirse un supuesto éxito end-to-end por similitud con Login o Forgot Password.
Autenticación y seguridad
No se requiere autenticación
Idempotente: No
Parámetros
token(body, string, obligatorio)— Reset Token procedente del correopassword(body, string, obligatorio)— Nueva contraseñaSolicitud de ejemplo
{"token":"<Token del correo de reset>","password":"NuevaContraseñaSegura!"}Respuesta de ejemplo
{"ok":true}Códigos de error
400 VALIDATION_ERROR — El token es inválido, ha caducado o la contraseña no cumple los requisitos mínimos.Evidencia de prueba en vivo
Caso negativo (400, token inválido) verificado live; el caso de éxito es mecánicamente equivalente al flujo forgot-password/login y no se recorrió por separado con un Reset Token real.