# 4.26. Organisation Administrator - Un-reject/approve an approved/rejected record lined to organisation

<table border="1" id="bkmrk-id-4.1.-description-" style="border-collapse: collapse; width: 100%; height: 347px;"><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.26.</td></tr><tr style="height: 157px;"><td style="height: 157px;">**Description**</td><td style="height: 157px;">As an **<span class="notion-enable-hover" data-token-index="1">Organisation Administrator</span>**

I need to be able to un-approve/reject a record belonging to my organisation that was unintentionally rejected/approved.

So that I can rollback invalid changes and allow the approvers to correct their mistakes.

</td></tr><tr style="height: 29px;"><td style="height: 29px;">**Priority**</td><td style="height: 29px;"><span style="color: rgb(230, 126, 35);">**Medium**</span></td></tr><tr style="height: 29px;"><td style="height: 29px;">**Actors**</td><td style="height: 29px;">Organisation Administrator</td></tr><tr style="height: 29px;"><td style="height: 29px;">**API Calls**</td><td style="height: 29px;">**POST** /phyiscal-links/&lt;physical\_link\_id&gt;/reset-approval/</td></tr><tr style="height: 29px;"><td style="height: 29px;">**Linked Processes**</td><td style="height: 29px;">  
</td></tr><tr style="height: 45px;"><td style="height: 45px;">**Status**</td><td style="height: 45px;">**<span style="color: rgb(22, 145, 121);">Implemented</span>**</td></tr></tbody></table>

### Preconditions

1. The User must be authenticated and have the **Organisation Administrator** role.
2. The User must have an approved/rejected record that belongs to his organisation and that he wants to un-approve/reject

### Postconditions

1. The System rolls back the approval/rejection.

### Main flow

1. The **Organisation Administrator** retrieves a record marked as approved/rejected that belongs to his organisation.
2. The **Organisation Administrator** un-approves/rejects the record.
3. The system validates the request parameters.
4. The system rolls back the approval/rejection.

### Exceptions

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

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

#### \[400 Bad Request\] Record already approved / un-approved:

If the user tries to approve a record that is already approved an error is returned.

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

If the **Organisation Administrator** attempts to un-approve/reject a resources that does not exist or does not belong to his organisation, the system will return an error.

#### \[409 Not approved/reject\] Data not marked as approved or rejected

If the **Organisation Administrator** attempts to rollback a resources that is not marked as approved or rejected, 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.