Skip to content

Reset Password

Reset the customer's password using the token received from the forgot password email.

Endpoint

PUT /api/shop/customers/reset-password

Request Headers

HeaderRequiredDescription
Content-TypeYesapplication/json
X-STOREFRONT-KEYYesYour storefront API key

Note: No authentication required for this endpoint

Request Body

json
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "email": "[email protected]",
  "password": "newSecurePassword123!",
  "passwordConfirmation": "newSecurePassword123!"
}

Request Parameters

ParameterTypeRequiredDescription
tokenstringYesReset token from email
emailstringYesEmail address
passwordstringYesNew password
passwordConfirmationstringYesConfirm new password

Password Requirements

  • Minimum 8 characters
  • At least one uppercase letter
  • At least one lowercase letter
  • At least one number
  • Special character recommended (!@#$%^&*)
  • Cannot be same as old password

Response Fields (200 OK)

FieldTypeDescription
messagestringSuccess message

Token Validation

  • Token must be from password reset email
  • Token expires after 24 hours
  • Each token can be used only once
  • Token becomes invalid after reset

After Reset

  • New password is active immediately
  • Old password no longer works
  • Customer must login with new password
  • All previous sessions remain active
  • May want to logout from other devices

Use Cases

  • Complete forgotten password recovery
  • Set new secure password
  • Access locked account
  • Change compromised password
  • Self-service password reset

Important Notes

  • Token must match email address
  • Passwords must match exactly
  • Token is single-use
  • Expired tokens cannot be reused
  • Login required after reset

Security

  • Validates token ownership
  • Requires email verification
  • Password hashed before storage
  • One-time use tokens
  • Rate limiting recommended

Released under the MIT License.