Error
A valid request URL is required to generate request examples{
"ver": "1.21.0",
"status": "success",
"data": {
"status": "SUCCESS",
"message": "Success",
"status_code": "success",
"transaction_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"journey_id": "aa_excel_analytics_v1",
"data": {
"s3Url": "https://s3.ap-south-1.amazonaws.com/bucket-name/analytics/report.xlsx?X-Amz-Algorithm=AWS4-HMAC-SHA256&...",
"expiresIn": 3600
}
}
}{
"ver": "1.21.0",
"timestamp": "2025-10-01T11:49:28.920Z",
"errorCode": "InvalidRequest",
"errorMsg": "Invalid consent ID or journey ID",
"status": "FP0001"
}{
"ver": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"errorCode": "<string>",
"errorMsg": "<string>",
"status": "<string>"
}Analytics
Analytics Excel
Retrieve analytics data as an S3 link or Excel file for a completed consent journey.
POST
/
analytics
/
excel
Error
A valid request URL is required to generate request examples{
"ver": "1.21.0",
"status": "success",
"data": {
"status": "SUCCESS",
"message": "Success",
"status_code": "success",
"transaction_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"journey_id": "aa_excel_analytics_v1",
"data": {
"s3Url": "https://s3.ap-south-1.amazonaws.com/bucket-name/analytics/report.xlsx?X-Amz-Algorithm=AWS4-HMAC-SHA256&...",
"expiresIn": 3600
}
}
}{
"ver": "1.21.0",
"timestamp": "2025-10-01T11:49:28.920Z",
"errorCode": "InvalidRequest",
"errorMsg": "Invalid consent ID or journey ID",
"status": "FP0001"
}{
"ver": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"errorCode": "<string>",
"errorMsg": "<string>",
"status": "<string>"
}Overview
The Analytics Excel API allows you to retrieve analytics and insights data as a downloadable Excel file or an S3 pre-signed URL for a specific consent journey. The output format (S3 link or direct Excel file) depends on your organization’s configuration.Key Use Cases
- Downloadable Reports: Get analytics data as an Excel file for offline analysis and reporting.
- S3 Integration: Receive a pre-signed S3 URL to programmatically download or store the analytics report.
- Account-Level Analytics: Request analytics for specific linked accounts using link reference numbers.
Important Notes
- The consent journey must be completed before calling this API.
- The output format (S3 URL or Excel file) is configured at the organization level during onboarding.
- The
linkRefNumberparameter allows you to request analytics for specific linked accounts rather than all accounts in the consent.
Authentication
This API requires authentication using the following headers:string
required
Your unique client identifier provided by FinPro during onboarding. This ID is used to authenticate your application.
string
required
Your confidential client secret key provided by FinPro. This must be kept secure and never exposed in client-side code.
string
required
The unique identifier for your application (e.g., your application’s package name or bundle ID). This helps FinPro identify which application is making the request.
string
required
Your organization’s unique identifier assigned by FinPro. This identifies your organization in the FinPro system.
string
required
Must be set to
application/json to indicate that the request body contains JSON data.Request Body
string
required
The unique consent identifier provided by the Account Aggregator after consent approval. This must be a valid consent ID.
string
required
The unique journey identifier associated with the consent flow. This identifies the specific journey for which analytics data is requested.
string[]
required
An array of link reference numbers identifying the specific linked accounts for which analytics should be generated. Each link reference number corresponds to a specific account authorization.
Request Example
{
"consentID": "ef33fe97-ac6f-4c28-98fd-b3f9716736da",
"journeyID": "aa_excel_analytics_v1",
"linkRefNumber": [
"2f3ad75d-87e2-4b1d-8b5b-a39b5160d208"
]
}
Response
The response format depends on your organization’s configuration:- S3 URL: Returns a pre-signed S3 URL to download the Excel file.
- Excel File: Returns the Excel file directly as a binary download.
Success Response Example (S3 URL)
{
"ver": "1.21.0",
"status": "success",
"data": {
"status": "SUCCESS",
"message": "Success",
"status_code": "success",
"transaction_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"journey_id": "aa_excel_analytics_v1",
"data": {
"s3Url": "https://s3.ap-south-1.amazonaws.com/bucket-name/analytics/report.xlsx?X-Amz-Algorithm=AWS4-HMAC-SHA256&...",
"expiresIn": 3600
}
}
}
When the response contains an S3 URL, the pre-signed URL has an expiry time. Download the file before the URL expires. The
expiresIn field indicates the validity period in seconds.Code Examples
curl --location --request POST '{{Base_URL}}/analytics/excel' \
--header 'client_id: {{Client_Id}}' \
--header 'client_secret: {{Client_Secret}}' \
--header 'organisationId: {{Organisation_Id}}' \
--header 'appIdentifier: {{App_Identifier}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"consentID": "ef33fe97-ac6f-4c28-98fd-b3f9716736da",
"journeyID": "aa_excel_analytics_v1",
"linkRefNumber": [
"2f3ad75d-87e2-4b1d-8b5b-a39b5160d208"
]
}'
const response = await fetch('{{Base_URL}}/analytics/excel', {
method: 'POST',
headers: {
'client_id': '{{Client_Id}}',
'client_secret': '{{Client_Secret}}',
'organisationId': '{{Organisation_Id}}',
'appIdentifier': '{{App_Identifier}}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
consentID: 'ef33fe97-ac6f-4c28-98fd-b3f9716736da',
journeyID: 'aa_excel_analytics_v1',
linkRefNumber: [
'2f3ad75d-87e2-4b1d-8b5b-a39b5160d208'
]
})
});
const data = await response.json();
console.log(data);
import requests
url = "{{Base_URL}}/analytics/excel"
headers = {
"client_id": "{{Client_Id}}",
"client_secret": "{{Client_Secret}}",
"organisationId": "{{Organisation_Id}}",
"appIdentifier": "{{App_Identifier}}",
"Content-Type": "application/json"
}
payload = {
"consentID": "ef33fe97-ac6f-4c28-98fd-b3f9716736da",
"journeyID": "aa_excel_analytics_v1",
"linkRefNumber": [
"2f3ad75d-87e2-4b1d-8b5b-a39b5160d208"
]
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
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
application/json
Request body for retrieving analytics data as Excel or S3 link.
The unique consent identifier provided by the Account Aggregator after consent approval.
Example:
"ef33fe97-ac6f-4c28-98fd-b3f9716736da"
The unique journey identifier associated with the consent flow.
Example:
"aa_excel_analytics_v1"
Array of link reference numbers for specific linked accounts.
Example:
["2f3ad75d-87e2-4b1d-8b5b-a39b5160d208"]
Was this page helpful?
