A simple plugin that adds a password reset facility to the WordPress REST API using a code. The process is a two step process: User requests a password reset. A code is emailed to their registered email address The user enters the code when setting a new password, which is only set if the code is va
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 4.6 and PHP 5.4.
SourceWordPress plugins · Nov 14, 2026
01 / Source details
Aboutthistool.
A simple plugin that adds a password reset facility to the WordPress REST API using a code. The process is a two step process:
01User requests a password reset. A code is emailed to their registered email address
02The user enters the code when setting a new password, which is only set if the code is valid and has not expired
It is also possible to check the validity of a code without resetting the password which enables the possibility of setting the password by other means, or having a two stage process for checking the code and resetting the password if desired.
Default settings are to use an 8 digit code consisting of numbers, upper and lower case letters and special characters, which has a life span of 15 minutes, afterwhich a new code would need to be requested. By default a user can attempt to use or validate a code up to 3 times before automatically invalidating it.
Endpoints
The plugin adds two new endpoints to the REST API:
Endpoint: /wp-json/bdpwr/v1/reset-password — HTTP Verb: POST — Parameters ( all required ): — email
/wp-json/bdpwr/v1/set-password — HTTP Verb: POST — Parameters ( all required ): — email — password — code
/wp-json/bdpwr/v1/validate-code — HTTP Verb: POST — Parameters ( all required ): — email — code
{ "data": { "status": 200 }, "message": "The code supplied is valid." }
Example Error Responses (JSON)
Reset Password
{ "code": "bad_email", "message": "No user found with this email address.", "data": { "status": 500 } }
Set New Password
{ "code": "bad_request", "message": "You must request a password reset code before you try to set a new password.", "data": { "status": 500 } }
Validate Code
{ "code": "bad_request", "message": "The reset code provided is not valid.", "data": { "status": 500 } }
Filters
A number of WordPress filters have been added to help customise the process, please feel free to request additional filters or submit a pull request with any that you required.
Where do I report security bugs found in this plugin?
Please report security bugs found in the source code of the bdvs-password-reset plugin through the Patchstack Vulnerability Disclosure Program. The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin. Report a security vulnerability.
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati