Skip to content

Password reset flow (web) ​

The web reset is a link, not a code. resetPassword emails the customer a link to the storefront's /reset-password page carrying a passwordToken; that page posts the new password to changePassword.

Play the flow ​

1 / 8
shop.example.com/login
shop · rewards · scan
log in
G continue with google
email
password
log in

Page not designed yet — drawn from what the documented flow requires.

States ​

This journey is one path through the authentication statechart, which traces every edge to code.

changePassword stores the password and returns a message — not a session. The customer logs in again, and a password login still requires a verified account: a reset does not verify one. See Lifecycle.

API calls by stage ​

StageActionAPI callAccess
1Ask for a linkPOST /api/v1/resetPassword — email, or phoneNumber + phone_prefixOrigin + Brand key
2Open /reset-password?passwordToken=…No call — the storefront reads the token from its URL—
3Save the new passwordPOST /api/v1/changePassword/:passwordToken — password, minimum 8Origin
4Log inPOST /api/v1/loginOrigin + Brand key

What the API forces onto this page ​

  • An unknown address is not silent. resetPassword answers with a message telling the customer to register. The page can show it, or replace it with a neutral "if that address has an account…" message.
  • Confirming the password is the page's job. changePassword takes one password.
  • The link's path is fixed by the backend as /reset-password on the storefront, so the storefront must serve that route.

Batch platform, Shopify app and API documentation