# 4.2. User - Change password

<table border="1" id="bkmrk-id-4.1.-description-" style="border-collapse: collapse; width: 100%; height: 268px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29px;"><td style="height: 29px;">**Id**</td><td style="height: 29px;">4.2.</td></tr><tr style="height: 94px;"><td style="height: 94px;">**Description**</td><td style="height: 94px;">As a **<span class="notion-enable-hover" data-token-index="1">Generic User</span>**   
  
I want to be able to change my password

So that I can keep my account secure

</td></tr><tr style="height: 29px;"><td style="height: 29px;">**Priority**</td><td style="height: 29px;">**<span style="color: rgb(224, 62, 45);">High</span>**</td></tr><tr style="height: 29px;"><td style="height: 29px;">**Actors**</td><td style="height: 29px;">User</td></tr><tr style="height: 29px;"><td style="height: 29px;">**API Calls**</td><td style="height: 29px;">N/A</td></tr><tr style="height: 29px;"><td style="height: 29px;">**Linked Processes**</td><td style="height: 29px;">  
</td></tr><tr style="height: 29px;"><td style="height: 29px;">**Status**</td><td style="height: 29px;"><span style="color: rgb(22, 145, 121);">**Implemented**</span> - Only user with access to django-admin use password authentication, and therefore only these users can perform a password change via UI.   
  
API users, use API keys and don't have passwords to manage.</td></tr></tbody></table>

### Preconditions

1. The **User** must be authenticated.
2. The **User** must known his old password

### Postconditions

1. The System returns a confirmation that the password has been reset.

### Main flow

1. The **User** triggers a credential change via the django-admin UI.
2. The system returns a confirmation indicating the the password has been updated.

### Exceptions

#### \[400 Bad Request\] Invalid input:

If mandatory fields are missing or invalid, the system returns an error message.

#### \[500 Internal Server Error\] System Error

If the system fails to save changes due to an internal error, it displays an appropriate message and logs the error for further investigation.