> ## Documentation Index
> Fetch the complete documentation index at: https://developer.moneyone.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Get All FI Data PDF

> Retrieve complete financial information in PDF format for accounts associated with an approved consent.

## Overview

The Get All FI Data PDF API allows you to download complete financial information in PDF format for accounts associated with a specific consent. This API is ideal when you need human-readable, formatted financial statements that can be easily viewed, printed, or shared with end users. The PDF includes formatted account details, transaction history, balance information, and account holder details in a professional document layout.

### Key Use Cases

* **User-Facing Reports**: Generate formatted financial statements that users can easily read and understand.
* **Document Archival**: Create permanent records of financial data in a standardized PDF format.
* **Regulatory Compliance**: Provide formatted financial documents for compliance and audit purposes.
* **Selective Account Retrieval**: Download PDFs for specific accounts by providing their link reference numbers.
* **Transaction Filtering**: Generate PDFs containing only transactions within a specified date range.

### Important Notes

* Data will only be returned if it is available in FinPro. Ensure the FI Request has been completed and the status shows `DATA_READY` before calling this API.
* The requested data must align with the parameters specified in the approved consent.
* If you need data in structured JSON format for programmatic processing, use the Get All FI Data API instead.
* The response is a binary PDF file, not JSON. Handle the response accordingly in your application.

## Authentication

This API requires authentication using the following headers:

<ParamField header="client_id" type="string" required>
  Your unique client identifier provided by FinPro during onboarding. This ID is used to authenticate your application.
</ParamField>

<ParamField header="client_secret" type="string" required>
  Your confidential client secret key provided by FinPro. This must be kept secure and never exposed in client-side code.
</ParamField>

<ParamField header="appIdentifier" type="string" required>
  The unique identifier for your application (e.g., your application's package name or bundle ID). This helps FinPro identify which application is making the request.
</ParamField>

<ParamField header="organisationId" type="string" required>
  Your organization's unique identifier assigned by FinPro. This identifies your organization in the FinPro system.
</ParamField>

<ParamField header="content-Type" type="string" required>
  Must be set to `application/json` to indicate that the request body contains JSON data. Note that the response will be a PDF file (binary content).
</ParamField>

## Request Body

<ParamField body="consentID" type="string" required>
  The unique consent identifier provided by the Account Aggregator after consent approval. This must be a valid GUID format identifier.
</ParamField>

<ParamField body="linkRefNumber" type="array" optional>
  An array of link reference numbers for specific accounts for which PDF data is required. If this parameter is not provided, PDFs will be generated for all accounts linked to the consent. Use this to generate PDFs for selected accounts only.
</ParamField>

<ParamField body="transactionsStartDate" type="string" optional>
  The start date from when transaction data should be included in the PDF. Must be in ISO 8601 UTC date-time format (e.g., `2023-01-01T00:00:00Z`). When provided, only transactions on or after this date will be included.
</ParamField>

<ParamField body="transactionsEndDate" type="string" optional>
  The end date until when transaction data should be included in the PDF. Must be in ISO 8601 UTC date-time format (e.g., `2023-01-31T23:59:59Z`). When provided, only transactions on or before this date will be included.
</ParamField>

### Request Example - All Accounts

```json theme={null}
{
  "consentID": "15c8007e-3435-4a81-8730-b67690a1c9a6"
}
```

### Request Example - Specific Accounts

```json theme={null}
{
  "consentID": "15c8007e-3435-4a81-8730-b67690a1c9a6",
  "linkRefNumber": [
    "7cd06b51-9e73-4600-a1e1-e97a6df659f4",
    "0d200ea3-1eb4-4418-b154-2b4836a9501e"
  ]
}
```

### Request Example - With Transaction Date Filtering

```json theme={null}
{
  "consentID": "15c8007e-3435-4a81-8730-b67690a1c9a6",
  "linkRefNumber": [
    "0d200ea3-1eb4-4418-b154-2b4836a9501e"
  ],
  "transactionsStartDate": "2023-01-01T00:00:00Z",
  "transactionsEndDate": "2023-01-31T23:59:59Z"
}
```

## Response Format

### Success Response

The API returns a binary PDF file as the response body with the following characteristics:

* **Content-Type**: `application/pdf` (the response header will indicate this)
* **Format**: PDF version 1.3 or higher
* **Content**: Formatted financial information including:
  * Account profile details
  * Account holder information (name, DOB, mobile, email, PAN, address)
  * Account summary (balance, account type, branch, IFSC, MICR codes)
  * Transaction history in a tabular format
  * Bank/FIP name and account details

The PDF is professionally formatted with:

* Clear section headers for Profile, Summary, and Transactions
* Tabular layout for transaction data
* Masked account numbers for security
* All relevant account holder and account details

**Note**: The response is binary PDF content, not JSON. Your application should handle the response as a file download.

## PDF Content Structure

The generated PDF contains the following sections:

### 1. Header Section

* Financial Institution Provider (FIP) name
* FI Type (e.g., Deposit, Mutual Funds)

### 2. Profile Section

Contains account holder information organized in a table:

| Field           | Description                    |
| --------------- | ------------------------------ |
| Name            | Account holder's full name     |
| DOB             | Date of birth                  |
| Mobile          | Mobile phone number            |
| E-Mail          | Email address                  |
| Address         | Complete residential address   |
| PAN             | Permanent Account Number       |
| CKYC Compliance | KYC compliance status (YES/NO) |

### 3. Summary Section

Contains account summary details:

| Field             | Description                                 |
| ----------------- | ------------------------------------------- |
| Current Balance   | Current account balance with currency       |
| Balance Date Time | Timestamp of balance calculation            |
| Account Type      | Type of account (SAVINGS/CURRENT)           |
| Branch            | Bank branch name                            |
| Facility          | Account facilities (e.g., OD for overdraft) |
| IFSC Code         | Bank's IFSC code                            |
| MICR Code         | Bank's MICR code                            |
| Opening Date      | Account opening date                        |
| Current OD Limit  | Current overdraft limit                     |
| Drawing Limit     | Drawing limit available                     |
| Status            | Account status (ACTIVE/INACTIVE)            |

### 4. Transactions Section

Contains transaction history in tabular format:

| Column                | Description                                    |
| --------------------- | ---------------------------------------------- |
| Transaction Id        | Unique transaction identifier                  |
| Type                  | Transaction type (CREDIT/DEBIT)                |
| Mode                  | Transaction mode (UPI, NEFT, RTGS, CASH, etc.) |
| Amount                | Transaction amount                             |
| Current Balance       | Balance after transaction                      |
| Transaction Timestamp | Date and time of transaction                   |
| Value Date            | Value date of transaction                      |
| Narration             | Transaction description/narration              |
| Reference             | Reference number (e.g., cheque number)         |

## Response Field Descriptions

All fields present in the PDF are derived from the structured financial data. The table below describes the data fields and their possible values:

### Profile Fields

| Field           | Type   | Values                       | Description                                             |
| --------------- | ------ | ---------------------------- | ------------------------------------------------------- |
| Holders Type    | string | SINGLE, JOINT                | Indicates if the account has single or multiple holders |
| Holder Name     | string | -                            | Full name of the account holder                         |
| DOB             | string | Date format                  | Date of birth of the account holder                     |
| Mobile          | string | 10-digit number              | Mobile phone number                                     |
| Nominee         | string | Registered, Not-Registered   | Nominee registration status                             |
| Landline        | string | -                            | Landline phone number if available                      |
| Address         | string | -                            | Complete residential address                            |
| Email           | string | Email format                 | Email address                                           |
| PAN             | string | 10-character                 | Permanent Account Number                                |
| CKYC Compliance | string | YES, NO, NO\_DATA\_AVAILABLE | Central KYC compliance status                           |

### Summary Fields

| Field            | Type   | Values                 | Description                     |
| ---------------- | ------ | ---------------------- | ------------------------------- |
| Current Balance  | string | Numeric                | Current account balance         |
| Currency         | string | INR, USD, etc.         | Currency of the balance         |
| Exchange Rate    | string | Numeric                | Exchange rate if applicable     |
| Balance DateTime | string | ISO timestamp          | When the balance was calculated |
| Type             | string | SAVINGS, CURRENT       | Type of account                 |
| Branch           | string | -                      | Bank branch name                |
| Facility         | string | OD, etc.               | Account facilities available    |
| IFSC Code        | string | 11 characters          | Bank's IFSC code                |
| MICR Code        | string | 9 digits               | Bank's MICR code                |
| Opening Date     | string | Date format            | Date when account was opened    |
| Current OD Limit | string | Numeric                | Current overdraft limit         |
| Drawing Limit    | string | Numeric                | Available drawing limit         |
| Status           | string | ACTIVE, INACTIVE, etc. | Current account status          |

### Transaction Fields

| Field                 | Type   | Values                                                                                                                      | Description                            |
| --------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
| Type                  | string | CREDIT, DEBIT                                                                                                               | Transaction direction                  |
| Mode                  | string | CASH, UPI, IMPS, NEFT, RTGS, CARD, ATM, CHEQUE, DEMAND\_DRAFT, AUTO\_DEBIT, INTEREST\_CREDIT, NACH, ECS, REMITTANCE, OTHERS | Mode of transaction                    |
| Amount                | string | Numeric                                                                                                                     | Transaction amount                     |
| Current Balance       | string | Numeric                                                                                                                     | Balance after this transaction         |
| Transaction Timestamp | string | ISO timestamp                                                                                                               | When the transaction occurred          |
| Value Date            | string | Date format                                                                                                                 | Value date of the transaction          |
| Transaction ID        | string | -                                                                                                                           | Unique transaction identifier          |
| Narration             | string | -                                                                                                                           | Description of the transaction         |
| Reference             | string | -                                                                                                                           | Reference number (e.g., cheque number) |

## Error Responses

### Invalid Consent ID

When the provided consent ID does not exist:

```json theme={null}
{
  "ver": "1.21.0",
  "timestamp": "2025-10-01T11:51:28.773Z",
  "errorCode": "InvalidConsentId",
  "errorMsg": "Consent ID does not exist."
}
```

**HTTP Status Code**: `400 Bad Request`

### Common Error Scenarios

When errors occur, the response will be JSON (not PDF) containing error details:

* **InvalidConsentId**: The provided consent ID does not exist in the system or has been deleted.
* **InvalidRequest**: The request body contains invalid data, such as malformed date formats or invalid link reference numbers.
* **NoDataAvailable**: No financial data has been fetched for this consent yet. Ensure you've completed the FI Request and the status is `DATA_READY`.
* **DataIsDeleted**: The data has expired and been deleted according to the data retention policy.
* **ConsentRevoked**: The consent has been revoked by the user and can no longer be used.

## Rate Limiting

This API is subject to rate limiting to ensure fair usage and system stability:

* **Rate Limit**: 1000 requests per time window
* **Headers Returned**:
  * `X-RateLimit-Limit`: Maximum number of requests allowed
  * `X-RateLimit-Remaining`: Number of requests remaining in current window
  * `X-RateLimit-Reset`: Unix timestamp when the rate limit resets

If you exceed the rate limit, you will receive a `429 Too Many Requests` response.

## Usage Flow

1. **Verify Data Readiness**: Use the FI Request Status API to ensure the `eventStatus` is `DATA_READY` before calling this API.

2. **Identify Required Accounts**: If you only need PDFs for specific accounts, collect their `linkRefNumber` values from the FI Request Status API response.

3. **Request PDF**: Call this API with the `consentID` and optionally the `linkRefNumber` array to specify which accounts you want.

4. **Handle Binary Response**: The response will be a binary PDF file. Save it to disk or stream it to the user as appropriate for your application.

5. **Check Response Type**: If the response is JSON instead of PDF, it indicates an error. Parse the JSON to understand the error.

6. **Present to User**: Display, download, or share the PDF with the end user as needed.

## Best Practices

* **Status Check First**: Always verify that data is ready using the FI Request Status API before attempting to retrieve the PDF. Calling this API when data is not ready will result in an error.

* **Selective Downloads**: If you only need data for specific accounts, use the `linkRefNumber` parameter to request only those accounts. This reduces response size and processing time.

* **Transaction Filtering**: Use `transactionsStartDate` and `transactionsEndDate` to generate PDFs with only relevant transactions. This is especially useful for monthly or quarterly statements.

* **Error Handling**: Check the response `Content-Type` header. If it's `application/json`, parse it as an error response. If it's `application/pdf`, handle it as a binary file.

* **File Naming**: When saving the PDF, use a meaningful filename that includes the consent ID, account details, and date range for easy identification (e.g., `FI_Data_ConsentID_StartDate_EndDate.pdf`).

* **User Presentation**: For user-facing applications, provide options to view the PDF in-browser, download it, or share it via email.

* **Storage Considerations**: PDF files can be large, especially for accounts with many transactions. Consider the storage implications when archiving PDFs.

* **Security**: PDFs contain sensitive financial information. Ensure they are:
  * Transmitted over HTTPS
  * Stored securely with appropriate access controls
  * Protected with encryption if stored long-term
  * Deleted when no longer needed according to your data retention policy

* **Multiple Accounts**: When requesting PDFs for multiple accounts (by not specifying `linkRefNumber`), the API may return a single consolidated PDF or multiple PDFs. Handle accordingly based on the actual implementation.

* **Date Range Validation**: Ensure the transaction date range falls within the consent's approved FI data range to avoid errors.

* **Timeout Handling**: PDF generation can take longer for accounts with extensive transaction histories. Implement appropriate timeout values in your HTTP client.

## PDF Viewing and Compatibility

The generated PDFs are compliant with standard PDF specifications and can be:

* Viewed in any standard PDF reader (Adobe Acrobat, Preview, Chrome, Firefox, etc.)
* Printed on standard paper sizes
* Digitally archived for long-term storage
* Shared via email or messaging platforms
* Embedded in web applications using PDF viewers

The PDF format ensures consistent rendering across all devices and platforms, making it ideal for user-facing financial statements.


## OpenAPI

````yaml POST /getallfidataPdf
openapi: 3.0.3
info:
  title: FinPro API
  description: MoneyOne FinPro - Account Aggregator FIU Platform APIs
  version: 1.21.0
servers:
  - url: '{baseUrl}'
    description: FinPro API Server
    variables:
      baseUrl:
        default: https://scramblerpay-uat.moneyone.in
        description: API Base URL - change this to your environment
security:
  - clientId: []
    clientSecret: []
    organisationId: []
    appIdentifier: []
paths:
  /getallfidataPdf:
    post:
      tags:
        - Data Retrieval
      summary: Get All FI Data PDF
      description: >-
        Retrieve complete financial information in PDF format for accounts
        associated with an approved consent. This API is ideal when you need
        human-readable, formatted financial statements that can be easily
        viewed, printed, or shared with end users. The PDF includes formatted
        account details, transaction history, balance information, and account
        holder details in a professional document layout.
      operationId: getAllFIDataPdf
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAllFIDataPdfRequest'
            examples:
              allAccounts:
                summary: Request for all accounts
                value:
                  consentID: 15c8007e-3435-4a81-8730-b67690a1c9a6
              specificAccounts:
                summary: Request for specific accounts
                value:
                  consentID: 15c8007e-3435-4a81-8730-b67690a1c9a6
                  linkRefNumber:
                    - 7cd06b51-9e73-4600-a1e1-e97a6df659f4
                    - 0d200ea3-1eb4-4418-b154-2b4836a9501e
              withDateFiltering:
                summary: Request with transaction date filtering
                value:
                  consentID: 15c8007e-3435-4a81-8730-b67690a1c9a6
                  linkRefNumber:
                    - 0d200ea3-1eb4-4418-b154-2b4836a9501e
                  transactionsStartDate: '2023-01-01T00:00:00Z'
                  transactionsEndDate: '2023-01-31T23:59:59Z'
      responses:
        '200':
          description: >-
            PDF generated successfully. The response is a binary PDF file
            containing formatted financial information including account profile
            details, account holder information, account summary, and
            transaction history.
          content:
            application/pdf:
              schema:
                type: string
                format: binary
                description: Binary PDF file containing formatted financial information
        '400':
          description: Bad Request - Invalid consent ID or validation failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalidConsentId:
                  summary: Invalid Consent ID
                  value:
                    ver: 1.21.0
                    timestamp: '2025-10-01T11:51:28.773Z'
                    errorCode: InvalidConsentId
                    errorMsg: Consent ID does not exist.
                invalidRequest:
                  summary: Invalid Request
                  value:
                    ver: 1.21.0
                    timestamp: '2025-10-01T11:51:28.773Z'
                    errorCode: InvalidRequest
                    errorMsg: Request body contains invalid data
                noDataAvailable:
                  summary: No Data Available
                  value:
                    ver: 1.21.0
                    timestamp: '2025-10-01T11:51:28.773Z'
                    errorCode: NoDataAvailable
                    errorMsg: No financial data has been fetched for this consent yet
                dataDeleted:
                  summary: Data Has Been Deleted
                  value:
                    ver: 1.21.0
                    timestamp: '2025-10-01T11:51:28.773Z'
                    errorCode: DataIsDeleted
                    errorMsg: >-
                      Data has expired and been deleted according to data
                      retention policy
                consentRevoked:
                  summary: Consent Revoked
                  value:
                    ver: 1.21.0
                    timestamp: '2025-10-01T11:51:28.773Z'
                    errorCode: ConsentRevoked
                    errorMsg: The consent has been revoked by the user
        '401':
          description: Authentication Failed - Invalid credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: >-
            Too Many Requests - Rate limit exceeded (1000 requests per time
            window)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                ver: 1.21.0
                timestamp: '2025-10-01T11:51:28.773Z'
                errorCode: InternalError
                errorMsg: Internal Server Error
      security:
        - clientId: []
          clientSecret: []
          organisationId: []
          appIdentifier: []
components:
  schemas:
    GetAllFIDataPdfRequest:
      type: object
      description: >-
        Request body for retrieving financial information in PDF format for
        accounts associated with an approved consent.
      required:
        - consentID
      properties:
        consentID:
          type: string
          format: uuid
          description: >-
            The unique consent identifier provided by the Account Aggregator
            after consent approval. This must be a valid GUID format identifier
            for an ACTIVE consent.
        linkRefNumber:
          type: array
          description: >-
            An array of link reference numbers for specific accounts for which
            PDF data is required. If this parameter is not provided, PDFs will
            be generated for all accounts linked to the consent. Use this to
            generate PDFs for selected accounts only.
          items:
            type: string
            format: uuid
        transactionsStartDate:
          type: string
          format: date-time
          description: >-
            The start date from when transaction data should be included in the
            PDF. Must be in ISO 8601 UTC date-time format (e.g.,
            2023-01-01T00:00:00Z). When provided, only transactions on or after
            this date will be included.
        transactionsEndDate:
          type: string
          format: date-time
          description: >-
            The end date until when transaction data should be included in the
            PDF. Must be in ISO 8601 UTC date-time format (e.g.,
            2023-01-31T23:59:59Z). When provided, only transactions on or before
            this date will be included.
    ErrorResponse:
      type: object
      properties:
        ver:
          type: string
          description: API version
        timestamp:
          type: string
          format: date-time
          description: When the error occurred
        errorCode:
          type: string
          description: Error category code
        errorMsg:
          type: string
          description: Detailed error message
        status:
          type: string
          description: FinPro-specific error code (FPxxxx format)
  securitySchemes:
    clientId:
      type: apiKey
      in: header
      name: client_id
      description: Your unique client identifier provided by MoneyOne during FIU onboarding
    clientSecret:
      type: apiKey
      in: header
      name: client_secret
      description: Your confidential client secret provided by MoneyOne
    organisationId:
      type: apiKey
      in: header
      name: organisationId
      description: Your organization's unique identifier in the FinPro system
    appIdentifier:
      type: apiKey
      in: header
      name: appIdentifier
      description: Application-specific identifier for tracking API calls

````