Password reset is a two-step flow. First, the user requests a reset email viaDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ricardomb-tech/auth-service/llms.txt
Use this file to discover all available pages before exploring further.
/auth/forgot-password, which triggers delivery of a single-use reset link if the account exists. Second, the user submits the token from that link along with the desired new password to /auth/reset-password. The token is consumed immediately on use and cannot be reused. Both endpoints follow the same security posture as other auth endpoints: errors use application/problem+json and the first step applies anti-enumeration so that an attacker cannot determine whether a given email address has an account.
POST /auth/forgot-password
Initiates the password-reset flow by sending a reset email to the supplied address, if anACTIVE account with that address exists.
Authentication: None required
Request Body
The email address of the account for which a password reset is requested. Must not be blank. Maximum 254 characters.
Response — 202 Accepted
The server always returns202 Accepted with the following body, regardless of whether the email address belongs to an existing account.
curl Example
Anti-enumeration protection:
/auth/forgot-password always returns 202 Accepted with the same generic message body, whether or not an account with the supplied email address exists. This prevents an attacker from discovering registered email addresses by probing the endpoint.POST /auth/reset-password
Completes the password-reset flow by accepting the single-use token from the reset email and the desired new password. Authentication: None requiredRequest Body
The password-reset token extracted from the link in the reset email. Must not be blank. This token is single-use and expires after 1 hour.
The desired new password. Must not be blank. Password policy (minimum length, complexity) is enforced by the domain layer and returns a
400 if not met.Response — 200 OK
Error Responses
| Status | Condition |
|---|---|
400 Bad Request | The token is invalid, has already been consumed, or has expired. Also returned if newPassword does not satisfy the password policy. Returns application/problem+json. |
curl Example
Token TTL is 1 hour. If the reset link has expired before the user submits the form, they must start the flow again by calling
/auth/forgot-password. The expired token will be rejected with a 400 Bad Request.