# Storage Read

### Overview

The **Storage Read Node** is the counterpart to the **Storage Write Node**, enabling developers to **retrieve document metadata** from storage using a **storageId**.

{% hint style="info" %}
**Important Note:** This node **does not return the actual document file**. Instead, it **retrieves the documentId**, which serves as the **primary key** within the system for document identification.
{% endhint %}

If developers need to **fetch the actual document contents**, they can use the **documentId** returned by this node in conjunction with the **Fetch Document Node**.

#### **Common Workflow Pattern for Storage Read Usage**

1️⃣ **Retrieve the document metadata** using the **Storage Read Node** (returns documentId).\
2️⃣ **Pass the documentId** to the **Fetch Document Node** to get the actual file contents.\
3️⃣ **Process the document further** using OCR, AI extraction, or other workflow steps.

🔹 **Example Use-Case:** In a **loan processing system**, an AI agent may need to **retrieve previously stored financial statements**. The Storage Read Node fetches the **documentId**, which is then passed to **Fetch Document Node** to extract and analyze the contents.

### **Configurations**

| Field          | Description                                                                                                                                            |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Storage**    | Select the **pre-configured storage** from where the document needs to be retrieved.                                                                   |
| **Storage ID** | The **unique identifier** of the document in storage, generated by the **Storage Write Node**. This ID is required to fetch the associated documentId. |

#### **Execution Flow:**

1️⃣ The **Storage Read Node** receives a **storageId** as input.\
2️⃣ It retrieves the corresponding **documentId**, which serves as the **system’s primary key** for document identification.\
3️⃣ The **documentId** can then be used in a **Fetch Document Node** to retrieve the actual file.

#### **Output Format:**

```json
{
  "documentId": "a0abf1d4-a4ca-459e-aada-b10947481b9c"
}
```

* **documentId** → A unique identifier that represents the stored document.

### Example Use-Cases

#### **Use-Case 1: Retrieving KYC Documents for Loan Applications**

A **loan processing workflow** needs to retrieve **previously stored KYC documents** (e.g., ID Proof, Address Proof) for verification before approval.

**Configuration:**

| Field          | Value                                  |
| -------------- | -------------------------------------- |
| **Storage**    | `KYC Documents`                        |
| **Storage ID** | `fa5d0517-a479-49a5-b06e-9ed599f8e57a` |

**Execution Process:**

1️⃣ The **Storage Read Node** retrieves the **documentId** associated with the stored KYC document.\
2️⃣ The returned **documentId** is **passed to the Fetch Document Node** to retrieve the actual file.\
3️⃣ The document is **verified by AI models or manual review** before final loan approval.

***

#### **Use-Case 2: Fetching Financial Statements for Business Loan Assessment**

A financial AI agent needs to **retrieve and analyze past financial statements** submitted during a business loan application.

**Configuration:**

| Field          | Value                                  |
| -------------- | -------------------------------------- |
| **Storage**    | `Financial Statements`                 |
| **Storage ID** | `b85c7029-df3a-49ab-a45e-3bdfb79d6b7a` |

**Execution Process:**

1️⃣ The **Storage Read Node** fetches the **documentId** for the financial statement.\
2️⃣ The **documentId** is passed to the **Fetch Document Node** to retrieve the statement file.\
3️⃣ The retrieved statement is **processed by an AI model** to extract financial insights.

***

#### **Use-Case 3: Accessing Archived Invoices for Auditing**

An enterprise finance system requires invoices stored in the system to be **retrieved for tax filing and audits**.

**Configuration:**

| Field          | Value                                  |
| -------------- | -------------------------------------- |
| **Storage**    | `Invoices`                             |
| **Storage ID** | `c94a8223-ea5b-4cc5-b36f-7dcf54bfa2e4` |

**Execution Process:**

1️⃣ The **Storage Read Node** retrieves the **documentId** for the stored invoice.\
2️⃣ The **documentId** is passed to the **Fetch Document Node**, which fetches the actual invoice.\
3️⃣ The invoice is **reviewed by finance teams** for tax compliance and auditing.
