Retrieve current account balance information for one or more linked accounts, optimized for Personal Finance Management dashboards and quick balance displays without full transaction history.
| 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 | 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. This consent must be in ACTIVE status to retrieve balance data. |
linkReferenceNumber | string | No* | Must be a valid UUID that was previously provided by the Account Aggregator corresponding to the specified consent ID. | The unique identifier for a specific financial account linked to this consent. If omitted, the API returns balances for all accounts under the consent. |
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Indicates whether the request was processed successfully. Typically set to “success” for successful requests. |
ver | string | No | The version number of the API specification being used in this response, useful for tracking API version compatibility. |
data | object or array | Yes | Contains balance information for the requested account(s). When a single linkReferenceNumber is provided, this is an object. When no linkReferenceNumber is provided, this is an array of account balance objects. |
data.fiType | string | Yes | Categorizes the type of financial information, indicating the nature of the account from which balance is retrieved. |
data.fipId | string | Yes | The unique identifier for the Financial Information Provider (FIP) in the Account Aggregator ecosystem, typically representing the bank or financial institution. |
data.fipName | string | Yes | The human-readable name of the Financial Information Provider, useful for display purposes in user interfaces. |
data.balance | string | Yes | The current account balance represented as a string to preserve decimal precision and avoid floating-point rounding errors. |
data.linkReferenceNumber | string | Yes | The unique identifier linking this specific account to the consent, essential for correlating balance data with specific accounts. |
data.maskedAccountNumber | string | Yes | The account number with most digits masked for security and privacy purposes, typically displaying only the last 4 digits (e.g., “XXXXXXXX3900”). |
timestamp | string | No | The server timestamp when this response was generated, useful for tracking data freshness and caching strategies. |
| FI Type | Description |
|---|---|
DEPOSIT | Savings or Current account balances, representing readily accessible liquid funds in checking or savings accounts. |
TERM_DEPOSIT | Fixed Deposit account balances, showing time-bound deposits with locked-in interest rates until maturity. |
RECURRING_DEPOSIT | Recurring Deposit account balances, displaying accumulated value from regular installment deposits. |
MUTUAL_FUNDS | Mutual fund investment values, though less commonly supported by this balance-focused endpoint. |
| 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 across distributed systems. |
errorCode | string | Optional | A machine-readable error identifier that categorizes the type of failure, enabling programmatic error handling logic. |
errorMsg | string | Optional | A human-readable description of the error, providing context about what went wrong and potentially suggesting resolution steps. |
status | string | Optional | Set to “failure” to indicate the request did not complete successfully, distinguishing error responses from successful ones. |
| Error Code | Error Message | Payload Example | Description | Resolution |
|---|---|---|---|---|
InvalidRequest | ”[linkReferenceNumber is required] [consentID is required]“ | {} | Both mandatory fields are missing from the request body. | Include at minimum the consentID parameter in the request body. |
InvalidRequest | ”[consentID is required]“ | {"linkReferenceNumber": "7f8227f1-697f-40d3-a4af-0508f5d0a1dd"} | The consentID parameter is missing, which is mandatory for all requests. | Add the consentID parameter to your request body. |
InvalidRequest | ”[linkReferenceNumber is required]“ | {"consentID": "abc123"} | In some configurations, linkReferenceNumber may be required. This is typically not the case, but may occur in specific deployment scenarios. | Add a valid linkReferenceNumber or verify your API configuration with FinPro support. |
InvalidConsentId | ”Consent ID does not exist” | N/A | The provided consent ID is not found in the system or belongs to a different organization. | Verify the consent ID is correct, active, and belongs to your organization. |
InvalidLinkReference | ”Link Reference Number does not exist” or “Link Reference Number not associated with this consent” | N/A | The linkReferenceNumber is invalid or doesn’t belong to the specified consent. | Check that the linkReferenceNumber was obtained from a webhook notification for this specific consent. |
ConsentNotActive | ”Consent is not in active state” | N/A | The consent has been paused, revoked, or expired, preventing balance data access. | Check the consent status and obtain a new consent approval if needed. |
DataNotAvailable | ”Balance data not available” | N/A | The FIP has not yet provided balance information, or data fetch is still in progress. | Wait for the DATA_READY webhook notification before attempting to retrieve balance data. |
Unauthorized | ”Invalid credentials” | N/A | The authentication headers are incorrect, missing, or the credentials have expired or been revoked. | Verify your client_id, client_secret, organisationId, and appIdentifier are correct and active in the FinPro portal. |
RateLimitExceeded | ”Too many requests” | N/A | The API rate limit has been exceeded for your organization within the current time window. | Implement exponential backoff, reduce request frequency, and check X-RateLimit-* response headers for guidance. |
linkReferenceNumber parameter entirely, which returns balance data for all linked accounts in a single API call.