# 4. Retrieve Records

To retrieve records from SecretVault, fetch data from your cluster's nodes, then decrypt any encrypted fields using zylQL to reconstruct the original data.

#### 1. Check Your Collection for the Schema ID[​](https://docs.nillion.com/build/secretVault-secretDataAnalytics/retrieve#1-check-your-collection-for-the-schema-id) <a href="#id-1-check-your-collection-for-the-schema-id" id="id-1-check-your-collection-for-the-schema-id"></a>

List available Collections using the List Schemas endpoint (GET /schemas) to get the Schema ID of the collection you want to store your data in.

#### 2. Retrieve Records[​](https://docs.nillion.com/build/secretVault-secretDataAnalytics/retrieve#2-retrieve-records) <a href="#id-2-retrieve-records" id="id-2-retrieve-records"></a>

Retrieve records from a collection by calling the Read Data endpoint (`POST /data/read`) with the schema id and optionally a filter. If you don't pass in a filter, all records will be returned.

**Using a filter**[**​**](https://docs.nillion.com/build/secretVault-secretDataAnalytics/retrieve#using-a-filter)

A filter can be a basic match (e.g. `"status": "active"`), a comparison (e.g. `"age" : { "$gte": 30}`) or something more complex.

**Examples for retrieving records**[**​**](https://docs.nillion.com/build/secretVault-secretDataAnalytics/retrieve#examples-for-retrieving-records)

Retrieved records will have:

* Plaintext fields with identical values across nodes
* Encrypted fields as shares that need zylQL to decrypt and reconstruct values from all nodes

#### Other operations on records[​](https://docs.nillion.com/build/secretVault-secretDataAnalytics/retrieve#other-operations-on-records) <a href="#other-operations-on-records" id="other-operations-on-records"></a>

* Update Data endpoint (also supported via the `secretvaults` JS+Python wrappers)
* Delete Data endpoint (also supported via the `secretvaults` JS+Python wrappers)
* Flush Data endpoint
* Tail Data endpoint
