# 4.58. Analyst - Querying data

<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.58.</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">Analyst</span>**,

I need perform advanced queries on the available data,

So that I can extract specific datasets for further analysis.

</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;">Analyst</td></tr><tr style="height: 29px;"><td style="height: 29px;">**API Calls**</td><td style="height: 29px;">**GET** /analyst/access-control-procedure-types

**GET** /analyst/organisation-types

**GET** /analyst/organisations

**GET** /analyst/addresses

**GET** /analyst/site-types **GET** /analyst/sites

**GET** /analyst/block-types

**GET** /analyst/blocks

**GET** /analyst/unit-types

**GET** /analyst/units

**GET** /analyst/equipment-types

**GET** /analyst/equipments

**GET** /analyst/physical-link-types

**GET** /analyst/physical-links

</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<span class="notion-enable-hover" data-token-index="1"> **Analyst**</span> role.

### Postconditions

1. The System returns the request data.

### Main flow

1. The **User** triggers the retrieval of vertical cabling data via the APIs (GET) and adds the needed filters or search queries to the request.
2. The system returns the data that corresponds to given search/filters.

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