Start Password Reset
Sends a password-reset email to the customer’s registered email address. The email contains a one-time link that the customer can follow to set a new password. The portal calls this from the “Forgot your password?” flow on the sign-in page.
Authentication
No authentication required. This is a public endpoint.
Request Body
The email address of the account for which the password reset should be triggered.
The numeric identifier of the location the customer belongs to. Providing this ensures the correct branded email template is used.
Response
Returns an ActionConfirmation envelope. The portal treats any successful response as confirmation that the email was sent — it does not reveal whether the email address is registered, to prevent enumeration attacks.
true when the reset email was dispatched (or when no account was found — the response is intentionally the same to prevent user enumeration).
HTTP-style status code mirrored in the body. 200 on success.
Human-readable message. Usually null on success.
Validation errors. null on success.
Example Response
{
"WasSuccessful": true,
"Value": null,
"Status": 200,
"Message": null,
"Errors": null
}
TypeScript Integration
import endpoints from '@/api/endpoints'
const url = endpoints.system.users.startPasswordReset
// => '/api/sys/users/startPasswordReset'
await httpClient.post(url, { email: userEmail, businessId })
Usage in Portal
| Context | Source file |
|---|
| Forgot password page / modal | src/views/auth/ForgotPassword/ |
Error Responses
The email field is missing or the request body is malformed.
| Method | Endpoint | Description |
|---|
POST | /api/sys/users/completePasswordReset | Complete the reset flow with the token from the email |
POST | /api/token | Sign in after completing the password reset |
GET | /api/sys/users/sendOtp | Send a one-time password for passwordless sign-in |