Retrieve comprehensive transaction details and account information for a specific linked account, delivered in JSON format for easy integration and processing.
| Header | Type | Required | Description |
|---|---|---|---|
client_id | string | Yes | The unique client identifier assigned to your organization during onboarding. This value is available in the FinPro admin portal. |
client_secret | string | Yes | The confidential client secret key paired with your client_id. Store this securely and never expose it in client-side code. |
organisationId | string | Yes | Your organization’s unique identifier in the FinPro system, used to scope all API requests to your tenant. |
appIdentifier | string | Yes | The application identifier that distinguishes different applications within your organization, useful for multi-product setups. |
Content-Type | string | Yes | Must be set to application/json to indicate the request body format. |
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
limit | boolean | No | ?limit=true | When set to true, limits the number of transactions returned in a single response. The exact limit value is configured at the platform level. Useful for managing large transaction datasets. |
offset | boolean | No | ?offset=true | When set to true in combination with limit, specifies the starting point for returned results, enabling pagination through large transaction sets. |
{{Base_URL}}/getfidata?limit=true&offset=true
| Parameter | Type | Required | Validation | Description |
|---|---|---|---|---|
consentID | string | Yes | Must be a valid GUID (Globally Unique Identifier) provided by the Account Aggregator after consent approval. | The unique identifier for the consent record under which this account is linked. The consent must be in ACTIVE status to retrieve data. |
linkReferenceNumber | string | Yes | Must be a valid UUID that exists in the system and is associated with the specified consent ID. | The unique identifier for the specific financial account you want to retrieve data for. This value is obtained from webhook notifications or previous API responses when accounts are linked. |
| Parameter | Type | Required | Description | Supported Values |
|---|---|---|---|---|
status | string | No | Indicates whether the request was processed successfully. | success, failure |
ver | string | No | The version number of the API specification being used in this response. | e.g., “1.21.0” |
data | object | Yes | The main data container holding all account and transaction information. | Data object |
data.linkReferenceNumber | string | Yes | The unique identifier for this linked account, matching the value provided in the request. | UUID format |
data.maskedAccountNumber | string | Yes | The account number with most digits masked for security and privacy purposes, typically showing only the last 4 digits. | e.g., “XXXXXXXX3900” |
data.balance | string | Yes | The current account balance as of the most recent data fetch, represented as a string to preserve decimal precision. | Numeric string (e.g., “101666.33”) |
data.fipName | string | Yes | The name of the Financial Information Provider (FIP), which is typically the bank or financial institution holding the account. | Institution name string |
data.fipId | string | Yes | The unique identifier for the Financial Information Provider in the Account Aggregator ecosystem. | FIP identifier (e.g., “finsharebank”) |
data.fiType | string | Yes | Categorizes the type of financial information being shared from this account, determining the structure of additional fields. | DEPOSIT, TERM_DEPOSIT, RECURRING_DEPOSIT, MUTUAL_FUNDS, EQUITIES, INSURANCE_POLICIES, etc. |
data.fiData | array | Yes | An array of transaction objects, each representing a single financial transaction on the account. | Array of transaction objects |
data.fiData[].transactionTimestamp | string | Yes | The exact date and time when the transaction was processed by the financial institution. | ISO 8601 timestamp format |
data.fiData[].txnId | string | Yes | The unique transaction identifier assigned by the financial institution, useful for transaction tracking and reconciliation. | Transaction ID string |
data.fiData[].type | string | Yes | Indicates whether money was added to or removed from the account. | CREDIT, DEBIT |
data.fiData[].amount | string | Yes | The transaction amount in the account’s base currency, represented as a string to maintain precision. | Numeric string (e.g., “5000.00”) |
data.fiData[].currentBalance | string | No | The account balance immediately after this transaction was processed, useful for balance reconciliation. | Numeric string |
data.fiData[].mode | string | No | The payment method or channel through which the transaction was executed. | CASH, UPI, IMPS, NEFT, RTGS, CARD, ATM, CHEQUE, DEMAND_DRAFT, AUTO_DEBIT, INTEREST_CREDIT, NACH, ECS, REMITTANCE, OTHERS |
data.fiData[].narration | string | No | A descriptive text provided by the financial institution explaining the transaction purpose or source/destination details. | Free-form text string |
data.fiData[].reference | string | No | Additional reference information such as cheque numbers, UPI transaction IDs, or other institution-specific identifiers. | Reference string |
data.fiData[].valueDate | string | No | The effective date when the transaction amount was actually credited or debited for interest calculation purposes, which may differ from the transaction timestamp. | Date string (YYYY-MM-DD format) |
timestamp | string | No | The server timestamp when this response was generated, useful for tracking data freshness. | ISO 8601 timestamp format |
| Field | Type | Required | Description |
|---|---|---|---|
ver | string | Optional | The API version number, included when the error occurs after version validation. |
timestamp | string | Optional | The exact time when the error was encountered, useful for log correlation and debugging. |
errorCode | string | Optional | A machine-readable error identifier that categorizes the type of failure encountered. |
errorMsg | string | Optional | A human-readable description of the error, providing context about what went wrong and potentially how to fix it. |
status | string | Optional | Set to “failure” to indicate the request did not complete successfully. |
| Error Code | Error Message | Description | Resolution |
|---|---|---|---|
InvalidRequest | ”consentID is required” or “linkReferenceNumber is required” | One or both mandatory parameters are missing from the request body. | Ensure both consentID and linkReferenceNumber are included in the request body. |
InvalidConsentId | ”Consent ID does not exist” | The provided consent ID is not found in the system or belongs to a different organization. | Verify the consent ID is correct and was successfully created for your organization. |
InvalidLinkReference | ”Link Reference Number does not exist” or “Link Reference Number not associated with this consent” | The linkReferenceNumber is invalid or doesn’t belong to the specified consent. | Check that the linkReferenceNumber was obtained from a webhook notification or API response for this specific consent. |
ConsentNotActive | ”Consent is not in active state” | The consent has been paused, revoked, or expired, preventing data access. | Check the consent status and obtain a new consent approval if needed. |
DataNotAvailable | ”Financial data not available” | The FIP has not yet provided data for this account, or data fetch is still in progress. | Wait for the DATA_READY webhook notification before attempting to retrieve data. |
Unauthorized | ”Invalid credentials” | The authentication headers are incorrect, missing, or the credentials have expired. | Verify your client_id, client_secret, organisationId, and appIdentifier are correct and active. |
RateLimitExceeded | ”Too many requests” | The API rate limit has been exceeded for your organization. | Implement exponential backoff and reduce request frequency. Check rate limit headers in the response. |
limit and offset query parameters to paginate results.narration field contains unstructured text that varies significantly across different banks and transaction types; implement robust parsing logic to extract meaningful information.currentBalance field in transaction records to verify the accuracy of your balance calculations when processing transaction sequences.balance field represents the most current balance available, which may be more recent than the latest transaction timestamp.