# 4.65. Viewer - Read single entries by ID

<table border="1" id="bkmrk-id-4.1.-description-" style="border-collapse: collapse; width: 100%; height: 363px;"><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.65.</td></tr><tr style="height: 125px;"><td style="height: 125px;">**Description**</td><td style="height: 125px;">As a **<span class="notion-enable-hover" data-token-index="1">Viewer</span>**,

I must be able to access any site / block / unit / connection / ntp by ID,

So that I can retrieve detailed information on a given database entry.

</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;">Viewer</td></tr><tr style="height: 93px;"><td style="height: 93px;">**API Calls**</td><td style="height: 93px;">**GET** /sites/&lt;site-id&gt;

**GET** /blocks/&lt;block-id&gt;

**GET** /units/&lt;unit-id&gt;

**GET** /equipments/&lt;equipment-id&gt;

**GET** /physical-links/&lt;physical-link-id&gt;

</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 **Viewer** role.
2. The user must have the id of a resource on the system.

### Postconditions

1. The System returns the data that matches the request.

### Main flow

1. The **User** requests a resource by id.
2. The system returns the requested resource.

### Exceptions

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

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

#### \[404 Not Found\] Resource not found:

Error returned if the Server could not find any resource with the given id.

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