Sending Reset Password email via Web API

You can hook retrieve_password_message (code):

/**
 * Filters the message body of the password reset mail.
 *
 * If the filtered message is empty, the password reset email will not be sent.
 *
 * @param string  $message    Default mail message.
 * @param string  $key        The activation key.
 * @param string  $user_login The username for the user.
 * @param WP_User $user_data  WP_User object.
 */

Make the web API call from your filter handler and then return an empty message so no email is sent.

As above, the activation key and user login are passed to the filter as parameters and you can get the user’s email address from the WP_User object, $user_data->user_email.