> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ulm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Password Update Errors

These are the most common errors cases and error codes returned by the [Update Password Process](c_updatePassword).

## Invalid new password

If the user provides an invalid new password, then the Process returns an `HTTP 400` status. The body includes a `fieldErrors` array with the reason(s) as to what went wrong:

```
**RESPONSE - body**
{
   "processId": "8bca30ca-dd44-4050-aece-53b0dbed1922",
   "stepName": "PasswordPrompt",
   "lastStep": false,
   "fieldErrors": [
      {
         "field": "credential",
         "code": "NotWeakPassword",
         "rejectedValue": "test",
         "message": "password-regex-rule-violation-.*[0-9].*"
      },
      {
         "field": "credential",
         "code": "NotWeakPassword",
         "rejectedValue": "test",
         "message": "blacklisted-password"
      },
      {
         "field": "credential",
         "code": "NotWeakPassword",
         "rejectedValue": "test",
         "message": "password-regex-rule-violation-.{8,}"
      },
      {
         "field": "credential",
         "code": "NotWeakPassword",
         "rejectedValue": "test",
         "message": "password-regex-rule-violation-.*[A-Z].*"
      }
   ],
   "lastFailedStepAction": {
      "processId": "8e32c1b6-f9f2-4cb7-9885-55ba89eeddca",
      "processName": "userManagement.UpdatePassword.v1.0",
      "stepName": "PasswordPrompt",
      "displayMessage": "Please input required information",
      "parameters": {
         "oldPassword": "String",
         "newPassword": "String"
      }
   }
}
```

In the above example, the `fieldErrors` array indicates the following:

* The password fails to include at least one number (0-9)
* The password is on an internal list of commonly banned passwords
* The password fails to meet the minimum length of (8 characters)
* The password fails to include at least one capital (A-Z)

| Reminder: |
| - |
| Password rules are controlled by the **Password Complexity Rules** setting. You can manage these [app settings](https://docs.vindicia.com/bundle/b_connectAdminGuide/page/topics/appSettings_c.html) in the [Digital Identity Management Admin](https://docs.vindicia.com/bundle/b_connectAdminGuide/page/topics/adminIntroduction_c.html) console. |

The Process also includes a `lastStepFailedAction` object that repeats the previous Process step's request. The user can re-attempt their request with a different (ideally stronger) password.

| `processId` | The unique identifier for this instance of the Process. |
| - | - |
| `stepName` | The internal name of the step that the Process is currently on / just executed. |
| `lastStep` | Boolean that indicates whether or not this was the last step in the Process. |
| `fieldError` | Array of possible error objects. Each object describes a separate error condition. |
| `field` | The name of the specific field where the error occurred. |
| `code` | An error object's internal code name. |
| `rejectedValue` | The actual value that caused the error |
| `message` | Optional message that describes the error. |
| `lastFailedStepAction` | Object that repeats the previous Process step's details and required input. This allows the client to retry the failed request. |

## Error Codes

Below is a list of potential error codes that may be returned during the execution of this Process.

**Note:** See [Common Process Error Codes](c_commonProcessErrors).

| HTTP Status | Digital Identity Management Business Error Code | Description |
| - | - | - |
| `400` | `NotWeakPassword` | The password provided did not meet the minimum criteria for a sufficiently complex password. |
| `400` | `NotEmpty` | No password was supplied. |
| `400` | `user-without-authnid` | An attempt was made to update the user's password, but they do not have a corresponding authentication identifier (thus rendering a password useless). |
| `400` | `invalid-credential` | The user provided an incorrect value as their current password. |
| `400` | `process-terminated-with-too-many-retries` | Process terminated with too many failed user input attempts. |

**Parent topic:**[Update Password Process](../topics/c_updatePassword)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.