Skip to main content
POST
Error

Overview

The Get FI Data API retrieves detailed transaction history and account information for a single financial account that has been linked through an approved consent. This endpoint returns data in JSON format, making it ideal for applications that need to process, analyze, or display transaction-level financial information for individual accounts.
This API fetches data for one specific account identified by its linkReferenceNumber. If you need data for all accounts under a consent, use the Get All FI Data endpoint instead. For XML format output, use the Get FI Data XML endpoint.

Use Cases

This API is particularly useful for:
  • Spend analysis and categorization: Applications that analyze user spending patterns, categorize transactions automatically, and provide insights into financial behavior.
  • Account aggregation dashboards: Personal Finance Management (PFM) platforms that display transaction history and account details for individual accounts in a unified interface.
  • Transaction reconciliation: Systems that match transactions against invoices, receipts, or expected payments for accounting or expense management purposes.
  • Financial insights and reporting: Services that generate reports on cash flow, income patterns, expense tracking, and budget adherence based on actual transaction data.
  • Periodic data updates: Implementations that fetch transaction data at scheduled intervals to keep local databases synchronized with source financial institutions.

Authentication

All requests to this endpoint must include the following authentication headers:

HTTP Request

Query Parameters (Optional)

You can append optional query parameters to control pagination and response size: Example with query parameters: {{Base_URL}}/getfidata?limit=true&offset=true

Request Parameters

Request Body Example

Response Format

Success Response

A successful response returns a JSON object containing comprehensive account information and transaction details for the requested account.

Response Parameters

Response Example

Error Handling

Error Response Format

When an error occurs during request processing, the API returns a standardized error response containing diagnostic information to help identify and resolve the issue.

Common Error Codes

Error Response Example

Supported Account Types

This API supports data retrieval for the following account types:
  • Current Account: Business or high-transaction-volume checking accounts with no balance restrictions.
  • Savings Account: Personal deposit accounts that typically earn interest and have transaction limits.
  • Fixed Deposit (Term Deposit): Time-bound deposits with fixed interest rates and maturity dates.
  • Recurring Deposit: Regular installment-based deposits that build savings over time with predefined contributions.
Additional account types may be supported depending on the capabilities of connected Financial Information Providers and the consent template configuration.

Usage Notes and Best Practices

  • Before calling this API, ensure that you have received a DATA_READY webhook notification for the specific linkReferenceNumber you want to query.
  • The linkReferenceNumber is generated and provided by the Account Aggregator when a user successfully links an account during the consent approval flow.
  • Store linkReferenceNumber values from webhook notifications in your database, indexed by consent ID, to enable efficient data retrieval.

Data Freshness and Timing

  • The data returned reflects the information available at the time of the last successful data fetch from the Financial Information Provider (FIP).
  • For PERIODIC consents, data is refreshed according to the fetch frequency configured in your consent template (e.g., daily, weekly).
  • For ONETIME consents, data represents a snapshot at the time of consent approval and will not update automatically.
  • Do not assume real-time data; transaction information may be delayed by several hours or days depending on the FIP’s data provision schedule.

Pagination for Large Transaction Sets

  • When dealing with accounts that have extensive transaction histories, use the optional limit and offset query parameters to paginate results.
  • Implement pagination logic to fetch data in chunks, preventing memory issues and improving application responsiveness.
  • Store the pagination state (offset value) between requests to systematically retrieve complete transaction histories.

Transaction Data Processing

  • Transactions are typically ordered reverse chronologically (most recent first), but always verify the ordering by checking transactionTimestamp values.
  • The narration field contains unstructured text that varies significantly across different banks and transaction types; implement robust parsing logic to extract meaningful information.
  • Transaction categorization (merchant names, expense categories) should be performed in your application logic, as this information is not standardized across FIPs.

Balance Reconciliation

  • Use the currentBalance field in transaction records to verify the accuracy of your balance calculations when processing transaction sequences.
  • Discrepancies between calculated and reported balances may indicate missing transactions or data quality issues that should be logged for investigation.
  • The top-level balance field represents the most current balance available, which may be more recent than the latest transaction timestamp.

Performance Optimization

  • Cache account profile data (masked account number, FIP details) as this information rarely changes, reducing redundant API calls.
  • For applications displaying multiple accounts, make parallel API requests (respecting rate limits) to improve overall data loading performance.
  • Monitor the size of transaction response payloads and adjust pagination parameters to balance between number of API calls and payload sizes.

Error Handling and Retry Logic

  • Implement exponential backoff with jitter for retry logic to handle transient network errors or temporary service unavailability.
  • Distinguish between retryable errors (rate limits, temporary unavailability) and permanent errors (invalid credentials, non-existent references) to avoid unnecessary API calls.
  • Log all error responses with full context (consent ID, link reference, timestamp) to facilitate troubleshooting and support escalation.

Compliance and Data Security

  • Financial transaction data contains sensitive personal information; ensure compliance with data protection regulations (GDPR, DPDPA, etc.) in how you store and process this data.
  • Implement data retention policies aligned with regulatory requirements and delete transaction data when it is no longer needed or consent is revoked.
  • Use encrypted storage for cached transaction data and ensure secure transmission (TLS 1.2+) for all API communications.
  • Get All FI Data: Retrieves transaction data for all accounts linked to a consent in a single API call, useful for bulk data retrieval.
  • Get FI Data XML: Provides the same transaction data in XML format for systems that require XML parsing or have XML-based integration requirements.
  • Get All Latest Data: Fetches only incremental updates for PERIODIC consents, optimizing bandwidth and processing for regularly updated data.
  • Get FI Balance: Retrieves only the current balance for an account without transaction details, ideal for dashboard displays and quick balance checks.

Authorizations

client_id
string
header
required

Your unique client identifier provided by MoneyOne during FIU onboarding

client_secret
string
header
required

Your confidential client secret provided by MoneyOne

organisationId
string
header
required

Your organization's unique identifier in the FinPro system

appIdentifier
string
header
required

Application-specific identifier for tracking API calls

Query Parameters

limit
boolean

When set to true, limits the number of transactions returned in a single response. The exact limit value is configured at the platform level.

offset
boolean

When set to true in combination with limit, specifies the starting point for returned results, enabling pagination through large transaction sets.

Body

application/json

The unique reference number for the linked account. Identifies the specific customer account from which to retrieve financial data. This value is obtained from the consent list APIs when the customer has linked their accounts.

The unique consent identifier that authorizes access to the financial data. This must be an active consent that includes the account specified by the linkReferenceNumber.

Response

Financial data retrieved successfully

ver
string

The version of the FinPro API that processed this request.

status
string

Overall API call status. Will be 'success' for successful requests.

timestamp
string<date-time>

ISO 8601 timestamp indicating when the response was generated.

data
object

Contains the account information and transaction data.