Finpass API Collection
  1. AA-BSA Analyzer
  • Introduction
  • Bank Statement Analyser
    • Upload Statement
      POST
    • Statement Result
      GET
  • Account Aggregator
    • Initialize
      POST
    • Fetch JSON Report
      POST
    • Fetch PDF Report
      POST
    • Refresh Data
      POST
  • Multi Bureau
    • Multi-Bureau Fetch
      POST
  • Corporate
    • CIN Lookup
      POST
    • LLPIN
      POST
    • PAN Lookup
      POST
    • Company Autocomplete
      POST
  • EPFO
    • EPFO-CRIF Combined Report
      POST
  • ITR Analyzer
    • Initialize
      POST
    • Status
      GET
    • ITR Analyzer — Get Full Data
      GET
  • AA-BSA Analyzer
    • Initialize
      POST
    • Status
      GET
    • AA BSA — Statement Result
      GET
    • AA BSA — Analysis JSON
      GET
  1. AA-BSA Analyzer

AA BSA — Statement Result

GET
api/v1/aa-bsa-journey/statement-result

AA BSA — Statement Result#

Endpoint Overview
GET /api/v1/aa-bsa-journey/statement-result?client_id=<client_id>

Description#

The AA BSA Statement Result API returns the raw bank account and transaction data fetched from the AA network after the user completes their consent flow. This includes all linked bank accounts shared by the user, along with a full transaction history for the consented statement period.
This endpoint is available only after the journey status reaches analysis_complete. The data returned here forms the underlying transaction ledger from which all BSA insights in the Analysis JSON endpoint are derived.
Key Benefits
Access clean, structured transaction data without parsing PDFs or dealing with OCR errors
Retrieve data across multiple linked bank accounts in a single response
Identify salary credits, EMI debits, and cash flow patterns directly from raw transactions
Use transaction-level data to build custom underwriting models beyond standard BSA metrics

Use Cases#

Banking & Lending
Fintech & Payments
Enterprise & Compliance
Review individual transactions to verify salary credits before loan disbursement
Detect round-tripping, large cash withdrawals, or irregular debit patterns in the raw ledger
Use transaction history as a digital substitute for 3–12 months of physical bank statements

Technical Implementation#

1
Authentication
All API requests require authentication using your Finpass API credentials passed as request headers.
1.
Obtain API Credentials: Register with Finpass to receive your X-API-KEY and X-API-SECRET.
2.
Include in Requests: Add both keys to every request as HTTP headers.
HeaderValue
X-API-KEYYour assigned API Key
X-API-SECRETYour assigned API Secret
Base URL: https://api.finpass.ai
2
Request Parameters

Request Headers#

HeaderRequiredDescription
X-API-KEYYesYour Finpass API Key
X-API-SECRETYesYour Finpass API Secret

Query Parameters#

ParameterTypeRequiredDescription
client_idstringYesThe client_id received from the /aa-bsa-journey/init response

Example Request#

GET /aa-bsa-journey/statement-result?client_id=bsa_clnt_a1b2c3d4e5f6
3
Process Response

Response Parameters#

Top-Level#

ParameterTypeDescription
successbooleanIndicates whether the request was processed successfully
messagestringHuman-readable status message
data.client_idstringThe session identifier
data.accountsarrayList of bank accounts for which data was fetched

data.accounts[] — Account Details#

ParameterTypeDescription
account_idstringUnique identifier for the account within this session
account_numberstringMasked bank account number
ifscstringIFSC code of the account branch
bank_namestringName of the bank
account_typestringType of account (e.g., Savings, Current)
holder_namestringName of the account holder as registered with the bank
opening_balancenumberAccount balance at the start of the statement period (in INR)
closing_balancenumberAccount balance at the end of the statement period (in INR)
statement_fromstringStart date of the fetched statement period (YYYY-MM-DD)
statement_tostringEnd date of the fetched statement period (YYYY-MM-DD)
transactionsarrayList of transactions within the statement period

data.accounts[].transactions[] — Transaction Details#

ParameterTypeDescription
datestringDate of the transaction (YYYY-MM-DD)
descriptionstringNarration or description of the transaction as recorded by the bank
typestringTransaction direction — CREDIT or DEBIT
amountnumberTransaction amount (in INR)
balancenumberAccount balance after this transaction (in INR)
modestringPayment mode — UPI, NEFT, IMPS, RTGS, ATM, NACH, Cheque

Example Successful Response#

{
  "success": true,
  "message": "Statement result fetched successfully",
  "data": {
    "client_id": "bsa_clnt_a1b2c3d4e5f6",
    "accounts": [
      {
        "account_id": "acc_001_hdfc",
        "account_number": "HDFC****8821",
        "ifsc": "HDFC0001234",
        "bank_name": "HDFC BANK LIMITED",
        "account_type": "Savings",
        "holder_name": "RAHUL SHARMA",
        "opening_balance": 24500.00,
        "closing_balance": 38750.50,
        "statement_from": "2023-11-01",
        "statement_to": "2024-10-31",
        "transactions": [
          {
            "date": "2024-10-30",
            "description": "SALARY CREDIT - INFOSYS LIMITED",
            "type": "CREDIT",
            "amount": 85000.00,
            "balance": 92400.50,
            "mode": "NEFT"
          },
          {
            "date": "2024-10-28",
            "description": "EMI DEBIT - HDFC HOME LOAN",
            "type": "DEBIT",
            "amount": 18500.00,
            "balance": 7400.50,
            "mode": "NACH"
          },
          {
            "date": "2024-10-25",
            "description": "UPI/SWIGGY/FOOD ORDER",
            "type": "DEBIT",
            "amount": 450.00,
            "balance": 25900.50,
            "mode": "UPI"
          },
          {
            "date": "2024-10-20",
            "description": "ATM WITHDRAWAL - ANDHERI BRANCH",
            "type": "DEBIT",
            "amount": 5000.00,
            "balance": 26350.50,
            "mode": "ATM"
          },
          {
            "date": "2024-10-15",
            "description": "IMPS/BAJAJ FINANCE EMI",
            "type": "DEBIT",
            "amount": 9200.00,
            "balance": 31350.50,
            "mode": "IMPS"
          }
        ]
      }
    ]
  }
}

Possible Error Responses#

Journey Not Complete
Invalid Client ID
Unauthorized
{
  "success": false,
  "message": "Statement result is not yet available. Journey status is 'data_fetched'. Please poll /status until status is 'analysis_complete'.",
  "error_code": "JOURNEY_INCOMPLETE"
}
Returned when this endpoint is called before the journey reaches analysis_complete.

Integration Best Practices#

Security Recommendations
Only call this endpoint from your secure backend — never expose raw transaction data to client-side code
Encrypt transaction data at rest if storing it in your database, as it constitutes sensitive personal financial information
Apply field-level access controls so only authorised underwriting personnel can view raw transaction records
Purge or anonymise transaction data once it is no longer required for the declared consent purpose
User Experience Guidelines
Always check the journey status via /status before calling this endpoint to avoid unnecessary JOURNEY_INCOMPLETE errors
If multiple accounts are returned, display a clear account selector in your UI before showing transaction details
Mask account numbers in any UI display — use the pre-masked values from the API response directly
For large transaction sets, implement pagination or lazy loading in your frontend to avoid performance issues

Code Samples#

cURL
Python
Node.js
Related APIs
AA BSA — Init Journey — Start a new AA BSA journey session and receive the consent link
AA BSA — Poll Status — Check the current state of an ongoing AA BSA journey session
AA BSA — Analysis JSON — Fetch structured BSA insights including income, obligations, and risk flags
Compliance and Legal Considerations
Transaction data returned by this endpoint was collected under explicit user consent via the RBI Account Aggregator framework. This data must only be used for the purpose declared in the consent request and must not be retained beyond the period required by your regulatory obligations. Implement appropriate data minimisation practices — do not store fields that are not needed for your declared use case. Access to this endpoint requires the AA_BSA_JOURNEY permission on your Finpass account.

Request

Query Params

Responses

🟢200Success
application/json
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET 'https://api.finpass.aiapi/v1/aa-bsa-journey/statement-result?client_id=<client_id>'
Response Response Example
{
  "success": true,
  "status_code": 200,
  "message": "Journey statement results retrieved successfully",
  "data": {
    "client_id": "aabsa_12345678_abcdef1234567890",
    "status": "completed",
    "failed_at_stage": null,
    "total_accounts": 2,
    "completed_accounts": 2,
    "failed_accounts": 0,
    "accounts": [
      {
        "account_index": 0,
        "bank_name": "FEDERALBANK",
        "account_number": "XXXXXXXXXX1234",
        "bsa_status": "completed",
        "bsa_client_id": "bank_statement_abc123def456",
        "error_message": null,
        "account_info": {
          "bank_name": "federal",
          "account_holder_name": "JOHN DOE",
          "account_number": "XXXXXXXXXX1234",
          "address": "123 Main Street, Delhi",
          "ifsc": "FDRL0000123",
          "micr_code": "110001234",
          "customer_id": "CUST123456",
          "ckyc_number": "CKYC123456",
          "email": "john.doe@example.com",
          "phone": "9876543210",
          "pincode": "110001",
          "account_type": "Savings",
          "branch_name": "NEW DELHI MAIN",
          "statement_period": {
            "from": "01-03-25",
            "to": "31-03-26"
          }
        },
        "analysis_completed": true,
        "analysis_result": null,
        "analysis_url": "https://example-bucket.s3.amazonaws.com/bank-statements/analysis_bank_statement_abc123.xlsx?signed_url_params",
        "analysis_json_url": "https://example-bucket.s3.amazonaws.com/bank-statements/analysis_bank_statement_abc123.json?signed_url_params",
        "input_s3_url": "https://example-bucket.s3.amazonaws.com/bank-statements/statement_abc123.pdf?signed_url_params",
        "analysis_pdf_s3_url": "https://example-bucket.s3.amazonaws.com/bank-statements/analysis_bank_statement_abc123.pdf?signed_url_params",
        "transactions": [
          {
            "sr_no": 1,
            "txn_date": "01-03-25",
            "value_date": "01-03-25",
            "reference_no": "REF001",
            "description": "Opening Balance",
            "txn_type": "Dr.",
            "credit": "",
            "debit": "",
            "balance": 50000
          },
          {
            "sr_no": 2,
            "txn_date": "02-03-25",
            "value_date": "02-03-25",
            "reference_no": "REF002",
            "description": "SALARY CREDIT - EMPLOYER INC",
            "txn_type": "Cr.",
            "credit": 100000,
            "debit": "",
            "balance": 150000
          },
          {
            "sr_no": 3,
            "txn_date": "03-03-25",
            "value_date": "03-03-25",
            "reference_no": "REF003",
            "description": "UPI TRANSFER - RENT PAYMENT",
            "txn_type": "Dr.",
            "credit": "",
            "debit": 25000,
            "balance": 125000
          },
          {
            "sr_no": 4,
            "txn_date": "05-03-25",
            "value_date": "05-03-25",
            "reference_no": "REF004",
            "description": "UTILITY BILL PAYMENT",
            "txn_type": "Dr.",
            "credit": "",
            "debit": 5000,
            "balance": 120000
          },
          {
            "sr_no": 5,
            "txn_date": "10-03-25",
            "value_date": "10-03-25",
            "reference_no": "REF005",
            "description": "ATM CASH WITHDRAWAL",
            "txn_type": "Dr.",
            "credit": "",
            "debit": 10000,
            "balance": 110000
          }
        ],
        "mismatched_sequence_date": [],
        "negative_balance": [],
        "discrepancies": {
          "balance_errors": [],
          "swapped_credit_debit_rows": 0,
          "corrected_row_indices": []
        },
        "checkpoint": "analysing_completed",
        "progress": null,
        "analysis_summary": {
          "total_credits": 500000,
          "total_debits": 250000,
          "average_monthly_balance": 125000,
          "opening_balance": 50000,
          "closing_balance": 300000,
          "total_transactions": 5,
          "credit_transactions": 1,
          "debit_transactions": 4,
          "upi_transactions": 2,
          "neft_transactions": 1,
          "imps_transactions": 0,
          "ach_transactions": 0
        }
      },
      {
        "account_index": 1,
        "bank_name": "ICICIBANK",
        "account_number": "XXXXXXXXXX5678",
        "bsa_status": "completed",
        "bsa_client_id": "bank_statement_xyz789abc123",
        "error_message": null,
        "account_info": {
          "bank_name": "icici",
          "account_holder_name": "JANE SMITH",
          "account_number": "XXXXXXXXXX5678",
          "address": "456 Park Avenue, Mumbai",
          "ifsc": "ICIC0000456",
          "micr_code": "400001456",
          "customer_id": "CUST789012",
          "ckyc_number": "CKYC789012",
          "email": "jane.smith@example.com",
          "phone": "9876543211",
          "pincode": "400001",
          "account_type": "Current",
          "branch_name": "MUMBAI CENTRAL",
          "statement_period": {
            "from": "01-03-25",
            "to": "31-03-26"
          }
        },
        "analysis_completed": true,
        "analysis_result": null,
        "analysis_url": "https://example-bucket.s3.amazonaws.com/bank-statements/analysis_bank_statement_xyz789.xlsx?signed_url_params",
        "analysis_json_url": "https://example-bucket.s3.amazonaws.com/bank-statements/analysis_bank_statement_xyz789.json?signed_url_params",
        "input_s3_url": "https://example-bucket.s3.amazonaws.com/bank-statements/statement_xyz789.pdf?signed_url_params",
        "analysis_pdf_s3_url": "https://example-bucket.s3.amazonaws.com/bank-statements/analysis_bank_statement_xyz789.pdf?signed_url_params",
        "transactions": [
          {
            "sr_no": 1,
            "txn_date": "01-03-25",
            "value_date": "01-03-25",
            "reference_no": "REF501",
            "description": "Opening Balance",
            "txn_type": "Dr.",
            "credit": "",
            "debit": "",
            "balance": 200000
          },
          {
            "sr_no": 2,
            "txn_date": "02-03-25",
            "value_date": "02-03-25",
            "reference_no": "REF502",
            "description": "CHEQUE DEPOSIT - CLIENT PAYMENT",
            "txn_type": "Cr.",
            "credit": 500000,
            "debit": "",
            "balance": 700000
          },
          {
            "sr_no": 3,
            "txn_date": "05-03-25",
            "value_date": "05-03-25",
            "reference_no": "REF503",
            "description": "BUSINESS EXPENSE PAYMENT",
            "txn_type": "Dr.",
            "credit": "",
            "debit": 50000,
            "balance": 650000
          }
        ],
        "mismatched_sequence_date": [],
        "negative_balance": [],
        "discrepancies": {
          "balance_errors": [],
          "swapped_credit_debit_rows": 0,
          "corrected_row_indices": []
        },
        "checkpoint": "analysing_completed",
        "progress": null,
        "analysis_summary": {
          "total_credits": 500000,
          "total_debits": 50000,
          "average_monthly_balance": 650000,
          "opening_balance": 200000,
          "closing_balance": 650000,
          "total_transactions": 3,
          "credit_transactions": 1,
          "debit_transactions": 1,
          "upi_transactions": 1,
          "neft_transactions": 0,
          "imps_transactions": 1,
          "ach_transactions": 0
        }
      }
    ],
    "error_message": null,
    "is_charged": true,
    "amount_charged": "100.00",
    "created_at": "2026-03-23T10:30:00.000000",
    "updated_at": "2026-03-23T10:35:15.000000"
  }
}
Previous
Status
Next
AA BSA — Analysis JSON
Built with