def METHOD_NAME(self, context, request: TracimRequest, hapic_data=None):
    """
    Send a request to reset password. This will result in a new email sent to the user
    with a token to be used for password reset operation.
    """
    app_config = request.registry.settings["CFG"]  # type: CFG
    uapi = UserApi(None, session=request.dbsession, config=app_config, show_deactivated=False)
    try:
        if hapic_data.body.username:
            user = uapi.get_one_by_username(username=hapic_data.body.username)
        else:
            user = uapi.get_one_by_email(email=hapic_data.body.email)
        uapi.reset_password_notification(user, do_save=True)
    except (
        ExternalAuthUserPasswordModificationDisallowed,
        MissingEmailCantResetPassword,
        NotificationDisabledCantResetPassword,
        UserAuthTypeDisabled,
        UserDoesNotExist,
    ) as exc:
        # INFO - MP - 2023-04-21 - We do not want to give information about user existence to
        # external user, so we just return a 200 even if there is any error.
        logger.error(self, exc)