# 4.12. Application Administrator - Restore deleted records

<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.12.</td></tr><tr style="height: 94px;"><td style="height: 94px;">**Description**</td><td style="height: 94px;">As an **<span class="notion-enable-hover" data-token-index="1">Application Administrator</span>**   
  
I need to be able to recover records marked as deleted   
  
So that I can rollback invalid changes</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;">Application Administrator</td></tr><tr style="height: 29px;"><td style="height: 29px;">**API Calls**</td><td style="height: 29px;">**POST** /sites/&lt;site\_id&gt;/restore

**POST** /blocks/&lt;block\_id&gt;/restore

**POST** /units/&lt;unit\_id&gt;/restore

**POST** /equipments/&lt;equipment\_id&gt;/restore

</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>**</td></tr></tbody></table>

### Preconditions

1. The User must be authenticated and have the **Application Administrator** role.
2. The User must have a deleted record that he wants to recover

### Postconditions

1. The System recovers the selected record.

### Main flow

1. The **Application Administrator** retrieves a record marked as deleted.
2. The **Application Administrator** recovers the record.
3. The system validates the request parameters.
4. The system recovers the deleted record.

### Exceptions

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

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

#### \[404 Not found\] Data not found

If the **Application Administrator** attempts to recover a resources that does not exist, the system will return an error.

#### \[409 Not deleted\] Data not marked as deleted

If the **Application Administrator** attempts to recover a resources that is not marked as deleted, the system will return an error.

#### \[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.