Overview
This guide describes the end-to-end integration flow for initiating user consent, handling user redirection, tracking transaction status, and fetching analytics data using the Intelligent Data Fetch system with AA + PDF fallback.This integration uses a unified
transactionId for all operations, simplifying the flow compared to the legacy consent-based approach.Integration Flow
Initiate Consent
Call
POST /v3/requestconsent to start the consent journey and receive a transaction_idStep 1: Initiate Consent
Endpoint
Headers
| Header | Description |
|---|---|
Content-Type | application/json |
client_id | Your client ID |
client_secret | Your client secret |
organisationId | Your organisation ID |
appIdentifier | Your app identifier |
Request Body
Request Parameters
Virtual User Address (e.g.,
9876543210@onemoney)Unique account identifier
Array of product IDs for multi-consent. Use either this or
productIDUser identifier value (mobile, PAN, Aadhaar, etc.)
Type:
MOBILE, PAN, AADHAR, EMAIL, DOB, GSTINCallback URL after consent journey
Array of FIP IDs for smart routing
PAN number (format:
ABCDE1234F)Configuration object for custom data range
Runtime, per-request thresholds for business-rule checks (see below)
Config Object (Optional)
Checks Overrides (Optional)
Runtime, per-request thresholds for the business-rule checks evaluated during the journey. It is a flat key→value map where each key is the parameter name of a configurable check and each value is the threshold that check is evaluated against for this request. This lets you tune check thresholds per consent request without changing the configuration set up for your product.- If you want to set thresholds dynamically, pass the values in
checks_overrides. - If you do not need dynamic thresholds, omit the field — the threshold configured for your product is used instead, with no API change required.
- A key that does not match a configurable check is ignored.
- The set of configurable checks and their parameter names are agreed during onboarding. To enable or change them, contact support@moneyone.in.
Sample Request
Response
Step 2: User Redirection
Redirect the user to thewebRedirectionUrl received in Step 1.
Post-Journey Redirect
After completing the consent journey, users are automatically redirected to yourredirectUrl with the following parameters:
| Parameter | Description |
|---|---|
txnid | Transaction identifier |
status | Journey status (true = success, false = failure) |
To configure additional redirect URL parameters, contact support@moneyone.in.
Step 3: Status Tracking
You can track the transaction status using one of the following methods:- Webhook (Recommended)
- Polling API
Configure a webhook endpoint to receive status updates when the transaction reaches a terminal state.
Webhook Payload - Successful AA Flow
Webhook Payload - AA Failed with PDF Fallback
Webhook Payload - Journey Failed (Both Skipped)
Webhook Payload Fields
| Field | Description |
|---|---|
timestamp | ISO 8601 timestamp of the event |
transactionID | Transaction identifier |
eventType | Type of event (JOURNEY_COMPLETE) |
eventStatus | Overall status (SUCCESS, FAILED) |
accountID | Account identifier |
eventData | Array of step-level data |
AA Flow Fields
| Field | Description |
|---|---|
consents[].consentID | Consent identifier (null if not created) |
consents[].consentHandle | Consent handle |
consents[].consentStatus | CONSENT_APPROVED, CONSENT_REJECTED |
consents[].productID | Product ID (null if consent rejected) |
consents[].fetchType | Fetch type (PERIODIC, ONETIME, null) |
consents[].fiFetch | FI fetch mode (MANUAL, AUTOMATIC, null) |
consents[].dataFetchStatus | SUCCESS, FAILED, NO_DATA, NOT_ATTEMPTED |
consents[].accounts[] | Linked account details |
consents[].accounts[].linkRefNumber | Link reference number |
consents[].accounts[].fiStatus | FI status (DELIVERED) |
consents[].accounts[].fipID | FIP identifier |
consents[].accounts[].maskedAccountNumber | Masked account number |
consents[].accounts[].checks | Business-rule checks evaluated for this account (see Checks) |
consents[].accounts[].checks.indicators[].check_id | Identifier of the check (e.g., MIN_SALARY_15000) |
consents[].accounts[].checks.indicators[].metadata | Map of source values used to evaluate the check |
consents[].accounts[].checks.indicators[].result | Check outcome (PASS, FAILED) |
PDF Flow Fields
| Field | Description |
|---|---|
accounts[].maskedAccountNumber | Account number |
accounts[].bankName | Bank name |
accounts[].accountType | Account type |
accounts[].startDate | Statement start date |
accounts[].endDate | Statement end date |
accounts[].checks | Business-rule checks evaluated for this account (see Checks) |
accounts[].checks.indicators[].check_id | Identifier of the check (e.g., MIN_SALARY_15000) |
accounts[].checks.indicators[].metadata | Map of source values used to evaluate the check |
accounts[].checks.indicators[].result | Check outcome (PASS, FAILED) |
Checks
Thechecks object reports the outcome of business rules evaluated against each account’s data. It contains an indicators array, where each entry holds a check_id, its metadata, and the result. It appears per account under both AA consents and PDF accounts (in the webhook payload and Polling API), and per linkReferenceNumber in the Raw FI Data response.| Field | Type | Description |
|---|---|---|
indicators | array | List of evaluated checks |
indicators[].check_id | string | Name of the check (e.g., MIN_SALARY_15000) |
indicators[].metadata | object | Map of source values used to evaluate the check (e.g., {"salary": "40000"}) |
indicators[].result | string | Check outcome — PASS or FAILED |
To configure webhooks, contact support@moneyone.in.
Step 4: Fetch Data
Once the data fetch is completed (eventStatus = SUCCESS), fetch raw FI data or analytics.
Available Endpoints
| Type | Endpoint | Description |
|---|---|---|
| Raw FI Data | POST /getallfidata | Raw FI data (AA or PDF) |
| Analytics JSON | POST /analytics/json | Analytics in JSON format |
| Analytics XML | POST /analytics/xml | Analytics in XML format |
| Analytics Excel | POST /analytics/excel | Analytics as Excel file |
Request Body
All endpoints use the same request body:- Raw FI Data
- Analytics JSON
- Analytics XML
- Analytics Excel
You can obtain the FI data two ways: pull it on demand with
POST /getallfidata, or have it pushed to your webhook as soon as it is ready. Both carry the same FI data records.- Pull — POST /getallfidata
- Push — Webhook
Endpoint
Sample Request
Sample Response
Response Fields
| Field | Description |
|---|---|
data[].type | Data source (AA or PDF) |
data[].fiType | Financial information type (e.g., DEPOSIT) |
data[].isTampered | Data tampering flag |
data[].Profile | Account holder details |
data[].Summary | Account summary |
data[].Transactions | Transaction list |
data[].checks | Business-rule checks evaluated for this account (see Checks) |
data[].checks.indicators[].check_id | Identifier of the check (e.g., MIN_SALARY_15000) |
data[].checks.indicators[].metadata | Map of source values used to evaluate the check |
data[].checks.indicators[].result | Check outcome (PASS, FAILED) |
Analytics output format is configurable. Contact support@moneyone.in to configure your preferred format.
UI Events (postMessage API)
When the orchestration UI is embedded in an iframe, it communicates with the parent window using thepostMessage API.
Event Structure
Event Codes
| Event Code | Trigger Condition | Description |
|---|---|---|
JOURNEY-SUCCESS | status === 'SUCCESSFUL' | Workflow completed successfully |
JOURNEY-FAILURE | status === 'UNSUCCESSFUL' or 'EXPIRED' or 'CANCELLED' | Workflow failed |
JOURNEY-SKIPPED | status === 'SKIPPED' | Workflow was skipped |
JOURNEY-NETBANKING-REDIRECT | Netbanking redirect required | User needs netbanking redirect |
Listening for Events
Quick Reference
Endpoints
| Action | Method | Endpoint |
|---|---|---|
| Initiate Consent | POST | /v3/requestconsent |
| Check Status | POST | /transaction/status |
| Fetch Raw FI Data | POST | /getallfidata |
| Fetch Analytics (JSON) | POST | /analytics/json |
| Fetch Analytics (XML) | POST | /analytics/xml |
| Fetch Analytics (Excel) | POST | /analytics/excel |
Required Headers
| Header | Required |
|---|---|
Content-Type | Yes |
client_id | Yes |
client_secret | Yes |
organisationId | Yes |
appIdentifier | Yes |
Need Help?
Contact support@moneyone.in for technical assistance or integration queries.
