---
title: OOTB - Password Reset - Main Flow
description: The OOTB - Password Reset - Main Flow checks whether a user exists and has a password before letting them change their password. It can only be launched using the widget.
component: pingone-solutions
page_id: pingone-solutions:pingone-customers-passwordless:flow_reference/ciam_passwordless_ciam_pm_check_password_status
canonical_url: https://docs.pingidentity.com/pingone-solutions/pingone-customers-passwordless/flow_reference/ciam_passwordless_ciam_pm_check_password_status.html
revdate: January 24, 2024
section_ids:
  purpose: Purpose
  structure: Structure
  input-schema: Input schema
  output-schema: Output schema
  variables: Variables
---

# OOTB - Password Reset - Main Flow

The OOTB - Password Reset - Main Flow checks whether a user exists and has a password before letting them change their password. It can only be launched using the widget.

## Purpose

The **OOTB - Password Reset - Main Flow** verifies that a user exists and has a currently-valid password. If the user does have a valid password, it invokes the **CIAM-Passwordless-Protect-Change-Password-Subflow** flow so that the user can change their password.

## Structure

Diagram of the structure, as described below.

This flow is divided into sections using teleport nodes:

* **Change Password**

  Uses PingOne nodes to check for a valid user session and retrieve user data for the current user. It then uses a function node to check if the user currently has a password. If so, the flow invokes the **CIAM-Passwordless-Protect-Change-Password-Subflow** flow, then the flow progresses to the **Return Success** section.

* **Return Error**

  Displays an error message and sends a JSON error response.

* **Return Success**

  Sends a JSON success message.

## Input schema

This flow has the following inputs.

| Input Name | Description                                                |
| ---------- | ---------------------------------------------------------- |
| `username` | The username of the user whose password is being verified. |

## Output schema

This flow has the following outputs.

| Output Name          | Description                                      |
| -------------------- | ------------------------------------------------ |
| `ciam_subflowResult` | The result status of the flow.                   |
| `ciam_errorMessage`  | The error message to display in the parent flow. |
| `ciam_errorCode`     | The error code to display in the parent flow.    |

## Variables

This flow uses the following variables.

| Variable Name                | Description                                                     |
| ---------------------------- | --------------------------------------------------------------- |
| `ciam_sessionLengthInMinute` | The number of minutes after which a session is no longer valid. |
| `ciam_logoStyle`             | The HTML style to use for your company logo.                    |
| `ciam_logoUrl`               | The URL for your company logo.                                  |
| `ciam_companyName`           | Displays the name of your company.                              |
