Get All FI Data
Retrieve complete financial information in JSON format for accounts associated with an approved consent.
Overview
The Get All FI Data API allows you to download complete financial information in JSON format for all accounts associated with a specific consent. This API provides comprehensive access to financial data including account profiles, transaction histories, balances, and account holder information. It supports all Financial Information (FI) types that are active in the Account Aggregator ecosystem.Key Use Cases
- Complete Data Retrieval: Download all available financial data linked to a given consent in a structured JSON format.
- Transaction Filtering: Optionally filter transactions by specifying a custom date range to retrieve only relevant transaction data.
- Multi-Account Support: Retrieve data for all accounts linked to a consent in a single API call.
- All FI Types: Supports various financial information types including Deposit accounts, Mutual Funds, Equities, Insurance, and more.
Important Notes
- Data will only be returned if it is available in FinPro. You must first successfully complete the FI Request and ensure the status shows
DATA_READYbefore calling this API. - The requested data must align with the parameters and scope specified in the approved consent.
- If you need data in PDF format instead of JSON, use the Get All FI Data PDF API.
- For periodic/recurring consents, this API returns cumulative data. To get only incremental data since the last fetch, use the Get All Latest FI Data API instead.
Authentication
This API requires authentication using the following headers:application/json to indicate that the request body contains JSON data and that the response will be in JSON format.Query Parameters
The following optional query parameters can be used to control the pagination of results:true, limits the number of records returned in the response. This is useful for handling large datasets.true, offsets the starting point of records. Use this in combination with limit for pagination.?limit=true&offset=true
Request Body
2023-01-01T00:00:00Z). When provided, only transactions on or after this date will be included in the response.2023-01-31T23:59:59Z). When provided, only transactions on or before this date will be included in the response.Request Example
Request Example with Transaction Date Filtering
Response Parameters
"success" when data is successfully retrieved, or "failure" if there was an error.Success Response Example
Error Responses
Invalid Consent ID
When the provided consent ID does not exist:400 Bad Request
Error Code Catalogue
| Error Code | Error Message | Description | HTTP Status |
|---|---|---|---|
InvalidRequest | transactionsStartDate must be a valid ISO date | The start date is not in valid ISO 8601 format | 400 |
InvalidRequest | consentID must be a string | The consentID parameter is null or not a string | 400 |
InvalidRequest | transactionsEndDate must be a valid ISO date | The end date is not in valid ISO 8601 format | 400 |
InvalidRequest | consentID value can have only A to Z, a to z, 0 to 9, _ , - and . characters | The consentID contains invalid characters | 400 |
InvalidPayload | Either consentId or accountID should be passed and both consentID and accountID should not be passed in payload | Missing or conflicting parameters | 400 |
InvalidConsentId | Consent ID does not exist. | The provided consent ID is not found in the system | 400 |
InvalidRequest | Consent ID is Revoked with consent type as VIEW. | Cannot retrieve data for a revoked VIEW-type consent | 400 |
NoDataAvailable | Data is not available for the given consent | No financial data has been fetched for this consent yet | 400 |
DataIsDeleted | Data is deleted for this consent | The data has expired and been deleted per data retention policy | 400 |
NoDataFound | Data is not available | No linked accounts or data found for this consent | 400 |
InternalError | Internal Server Error : accountFIDataList | Unexpected server error during data retrieval | 500 |
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 allowedX-RateLimit-Remaining: Number of requests remaining in current windowX-RateLimit-Reset: Unix timestamp when the rate limit resets
429 Too Many Requests response.
Supported FI Types
This API supports all Financial Information types defined in the ReBIT FI Schema:- Banking: DEPOSIT, TERM_DEPOSIT, TERM-DEPOSIT, RECURRING_DEPOSIT
- Investments: MUTUAL_FUNDS, EQUITIES, BONDS, DEBENTURES, ETF, SIP
- Government Securities: GOVT_SECURITIES, CP
- Insurance: INSURANCE_POLICIES, LIFE_INSURANCE, GENERAL_INSURANCE
- Pension: NPS
- Alternative Investments: AIF, INVIT, REIT, IDR, CIS
- Tax/GST: GSTR1_3B
- Others: OTHER
Usage Flow
-
Verify Data Readiness: Before calling this API, use the FI Request Status API to ensure the
eventStatusisDATA_READY. -
Retrieve Data: Call this API with the
consentIDto retrieve all financial information associated with the consent. -
Optional Filtering: If you only need transactions for a specific period, include the
transactionsStartDateandtransactionsEndDateparameters. - Process Response: Parse the JSON response to extract account information, transaction details, balances, and other financial data for your application’s use case.
- Handle Multiple Accounts: The response contains an array of account objects. Process each account separately as they may have different FI types and data structures.
- Data Expiry Awareness: Note that the fetched data has a limited lifetime based on the consent’s data life parameter. Plan to re-fetch data before it expires if needed.
Best Practices
-
Status Check First: Always verify that data is ready using the FI Request Status API before attempting to retrieve it. Calling this API when data is not ready will result in a
NoDataAvailableerror. -
Transaction Filtering: When you only need recent transactions, use the
transactionsStartDateandtransactionsEndDateparameters to reduce payload size and improve performance. - Handle Different FI Types: Different FI types have different data structures. Implement flexible parsing logic to handle various FI type schemas as per ReBIT specifications.
-
Error Handling: Implement comprehensive error handling for all error codes, especially:
NoDataAvailable: Indicates you need to wait longer or initiate an FI requestDataIsDeleted: Indicates data has expired and you need to fetch fresh dataInvalidConsentId: Indicates the consent may be invalid, expired, or revoked
- Data Persistence: Store the retrieved financial data in your system with appropriate security measures. Do not rely on fetching data repeatedly as it may be deleted after the data life period.
-
Pagination: For consents with large amounts of data, use the
limitandoffsetquery parameters to implement pagination and avoid timeout issues. - Schema Validation: Validate the received data against the ReBIT FI Schema to ensure data integrity before processing.
- Consent Scope: Ensure you only request and process data that falls within the scope approved by the user in the consent.
- Security: Always transmit and store financial data securely. Use HTTPS for API calls and encrypt data at rest in your systems.
Authorizations
Your unique client identifier provided by MoneyOne during FIU onboarding
Your confidential client secret provided by MoneyOne
Your organization's unique identifier in the FinPro system
Application-specific identifier for tracking API calls
Query Parameters
When set to true, limits the number of records returned in the response. This is useful for handling large datasets.
When set to true, offsets the starting point of records. Use this in combination with limit for pagination.
Body
The unique consent identifier (UUID) for which you want to retrieve financial information. This must be an ACTIVE consent that has already been approved by the customer and for which data has been fetched.
Optional ISO 8601 date-time filter to retrieve transactions starting from this date. Use this to limit the transaction history to a specific time range. Must be within the consent's approved data range.
Optional ISO 8601 date-time filter to retrieve transactions up to this date. Use in combination with transactionsStartDate to define a specific date range. Must be within the consent's approved data range.
Response
Financial data retrieved successfully
