FI Request Status
Check the status of a financial information request and determine when data is ready for retrieval.
Overview
The FI Request Status API allows you to check the current status of a financial information (FI) request that was initiated using the FI Request API. Since the FI data fetch process is asynchronous, this API is essential for determining when the requested financial data has been successfully retrieved and is ready for download.Key Use Cases
- Status Monitoring: Track the progress of an FI request from initiation through completion.
- Data Readiness Check: Determine when the financial information is ready to be retrieved using the Get All FI Data API.
- Account-Level Details: Get detailed information about individual accounts linked to the consent, including their data fetch status.
- Error Detection: Identify if any accounts failed to provide data or timed out during the fetch process.
Important Notes
- You must provide at least one of the following identifiers:
consentId,consentHandle, orsessionIdto check the status. - The API returns comprehensive information about all accounts linked to the consent, including which ones have successfully delivered data.
- Per-account
fiStatusvalues are reported individually inlinkRefNumbers; possible values arePENDING,READY,DELIVERED,DENIED,TIMEOUT. - Partial readiness: the top-level
eventStatusisDATA_READYif at least one account isREADYorDELIVERED, even when other accounts are stillPENDING,DENIED, orTIMEOUT. There is no separate “partial” status — inspectlinkRefNumbersto see which accounts are actually available.
Authentication
This API requires authentication using the following headers:application/json to indicate that the request body contains JSON data.Request Body
At least one of the following parameters must be provided:consentId.Request Example
Response Parameters
"success" when the status check is successful, or "failure" if there was an error.Success Response Example
Error Responses
Invalid Session ID
When the provided session ID is not a valid GUID format:400 Bad Request
Common Error Scenarios
- InvalidRequest: The request contains invalid data, such as malformed GUID values or missing required parameters.
- InvalidConsentId: The provided consent ID does not exist in the system.
- InvalidSessionId: The provided session ID is not in valid GUID format or does not exist.
- NoDataFound: No FI request has been initiated for the provided identifiers.
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.
Usage Flow
-
Initiate FI Request: First, call the FI Request API to initiate the data fetch. Save the returned
sessionId. - Wait for Processing: Allow some time for the Account Aggregator to fetch data from the Financial Information Providers. This typically takes a few seconds to minutes depending on the number of accounts.
-
Poll Status: Call this API periodically with the
sessionIdto check the status. Implement exponential backoff for polling (e.g., start with 5 seconds, then 10, 20, etc.). -
Check Event Status: Monitor the
eventStatusfield:DATA_READY: at least one account is ready — you can call Get All FI Data, but checklinkRefNumbersto know which ones are actually availableDATA_DENIED/SESSION_FAILED/SESSION_EXPIRED: terminal failure for this fetch — no data will be returned; surface the failure to the user- If none of the above are returned and accounts are still
PENDINGinlinkRefNumbers, continue polling
-
Check Individual Account Status: Review the
linkRefNumbersarray to see which specific accounts areREADY/DELIVEREDand which are stillPENDING,DENIED, orTIMEOUT. -
Retrieve Data: Once
eventStatusisDATA_READY, use the Get All FI Data API to retrieve the actual financial information.
Best Practices
- Polling Strategy: Implement exponential backoff when polling to avoid overwhelming the API. Start with shorter intervals and gradually increase them.
- Timeout Handling: Set a maximum polling duration (e.g., 5 minutes). If data is not ready by then, handle it as a timeout scenario.
-
Partial Success: Even if some accounts have
TIMEOUTstatus, others may haveDELIVERED. You can still proceed to retrieve data for successfully delivered accounts. -
Data Expiry Awareness: Note the
dataExpirytimestamp. Plan to retrieve and process the data before it expires and gets deleted from the system. -
Session ID Persistence: Store the
sessionIdin your database to enable status checks even if your application restarts. -
Error Recovery: If you receive an error, verify that you’re using the correct identifiers (
consentId,sessionId, orconsentHandle) and that they are in valid format. -
Account-Level Monitoring: For consents with multiple accounts, monitor each account’s
fiStatusindividually to provide detailed feedback to users. -
First Fetch Indicator: Use the
firstTimeFetchflag to differentiate between initial data retrieval and incremental updates for periodic consents.
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
Body
Request body for checking FI request status. At least one of consentId, consentHandle, or sessionId must be provided.
The unique consent identifier provided by the Account Aggregator. Use this to check the status of all FI requests associated with this consent.
The unique consent handle identifier. This is an alternative identifier for the consent that can be used instead of consentId.
The unique session identifier returned in the FI Request API response. Use this to check the status of a specific FI request session.
Response
FI request status retrieved successfully
Response containing the status of a financial information request.
The version of the API that processed the request.
The overall status of the API response. Returns 'success' when the status check is successful, or 'failure' if there was an error.
Contains comprehensive status information about the FI request.
A summary message indicating success or failure of the status check operation.
