> ## Documentation Index
> Fetch the complete documentation index at: https://developer.moneyone.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Account Aggregator List

> Retrieve the list of all Account Aggregators integrated with FinPro and available for your organization to use.

## Overview

The Account Aggregator List API provides access to information about all Account Aggregators (AAs) that are currently integrated and active within the FinPro platform for your Financial Information User (FIU) organization. Account Aggregators serve as the intermediary entities that facilitate secure data sharing between Financial Information Providers (FIPs) and Financial Information Users (FIUs) in the Account Aggregator ecosystem as defined by ReBIT specifications.

This API is useful when you need to:

* Display available Account Aggregators to customers during the consent journey, allowing them to choose their preferred AA
* Retrieve AA-specific information such as web URLs, mobile application links, and logo resources for branding purposes
* Verify which Account Aggregators are currently enabled and operational for your organization
* Build AA selection interfaces or validate VUA (Virtual User Address) formats before initiating consent requests

## Authentication

This API requires organization-level authentication credentials to be passed in the request headers. All credentials should be provisioned through the FinPro admin portal.

### Required Headers

| Header           | Type   | Description                                                                                   |
| ---------------- | ------ | --------------------------------------------------------------------------------------------- |
| `Content-Type`   | string | Must be set to `application/json` for proper request processing                               |
| `client_id`      | string | The unique client identifier assigned to your FIU organization during onboarding              |
| `client_secret`  | string | The secret key paired with your client\_id for secure authentication                          |
| `organisationId` | string | Your organization's unique identifier in the FinPro system                                    |
| `appIdentifier`  | string | The application identifier that distinguishes different applications within your organization |

## Request

### Endpoint

```
POST {{Base_URL}}/accountaggregatorlist
```

### Request Body

This API does not require any parameters in the request body. The response is determined by your organization's configuration and the Account Aggregators that are currently active in the FinPro system.

### Request Example

```json theme={null}
{}
```

## Response

### Success Response (200 OK)

When the request is successfully processed, the API returns a list of all Account Aggregators that are integrated with FinPro and enabled for your organization.

### Response Fields

| Field            | Type   | Description                                                                                                                                                                                                   |
| ---------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ver`            | string | The version of the FinPro API that processed the request                                                                                                                                                      |
| `status`         | string | The outcome of the API call. Possible values: `success`, `failure`                                                                                                                                            |
| `data`           | array  | An array of Account Aggregator objects containing details about each AA                                                                                                                                       |
| `data[].name`    | string | The internal identifier or short name of the Account Aggregator used in system references                                                                                                                     |
| `data[].aaId`    | string | The unique Account Aggregator identifier as registered in the Sahamati Central Registry. This is used as the domain part of VUA addresses (e.g., for aaId "onemoney", VUAs are formatted as mobile\@onemoney) |
| `data[].webUrl`  | string | The full URL of the Account Aggregator's web application where users can complete the consent approval process through a browser                                                                              |
| `data[].apkUrl`  | string | The URL or deep link to the Account Aggregator's mobile application, used for redirecting customers to the native app experience                                                                              |
| `data[].logoUrl` | string | The URL of the Account Aggregator's logo image, which can be used in your application's UI to represent the AA visually                                                                                       |
| `data[].baseUrl` | string | The base domain of the Account Aggregator used for constructing VUA addresses and API endpoints                                                                                                               |
| `data[].status`  | string | The operational status of the Account Aggregator. Possible values: `Active`, `Inactive`. Only Active AAs are available for use in consent flows                                                               |

### Response Example

```json theme={null}
{
  "ver": "1.11.0",
  "status": "success",
  "data": [
    {
      "name": "onemoney",
      "aaId": "onemoney",
      "webUrl": "https://aa.sandbox.onemoney.in/",
      "apkUrl": "https://aa.onemoney.in",
      "logoUrl": "http://sandboxaa.onemoney.in/assets/images/logo.svg",
      "baseUrl": "aa.onemoney.in",
      "status": "Active"
    }
  ]
}
```

## Error Responses

### Authentication Errors

#### 401 Unauthorized - Invalid Organization

Returned when the provided `organisationId` does not match any registered FIU organization in the FinPro system.

```json theme={null}
{
  "ver": "1.21.0",
  "timestamp": "2025-10-01T11:56:10.511Z",
  "errorCode": "Unauthorized",
  "errorMsg": "Invalid organizationId."
}
```

**Common causes:**

* The organisationId value is incorrect or contains typos
* The organization has been deactivated or not yet provisioned in FinPro
* Using UAT credentials in a production environment or vice versa

**Resolution:**

* Verify the organisationId matches the value provided in your FinPro admin portal
* Ensure you are using credentials from the correct environment (UAT vs Production)
* Contact MoneyOne support if the organization was recently onboarded

## Usage Notes

### Understanding VUA Format

The Virtual User Address (VUA) is a unique identifier for customers within the Account Aggregator ecosystem. It follows the format: `mobile_number@aa_identifier`, where:

* `mobile_number` is the customer's 10-digit mobile number registered with the AA
* `aa_identifier` corresponds to the `aaId` returned by this API

Example: If a customer is registered with the MoneyOne Account Aggregator and their mobile number is 9876543210, their VUA would be `9876543210@onemoney`.

### AA Selection Strategies

There are multiple approaches to Account Aggregator selection in your application:

1. **Pre-configured AA**: Your organization may have a preferred or exclusive partnership with a specific Account Aggregator. In this case, you can hardcode the VUA format using that AA's identifier.

2. **User choice**: Display the list of available Account Aggregators to customers and let them select their preferred AA based on where they already have an account or registration.

3. **VUA validation**: If customers provide their VUA directly, extract the domain part and validate it against the list of active AAs returned by this API.

### Handling Multiple Environments

Account Aggregator URLs and configurations may differ between UAT (sandbox) and production environments:

* The `webUrl` in UAT typically points to sandbox domains (e.g., aa.sandbox.onemoney.in)
* Production URLs will point to live domains (e.g., aa.onemoney.in)
* Always use the appropriate FinPro base URL and credentials for the environment you are working in

### Caching Recommendations

The list of integrated Account Aggregators typically does not change frequently. Consider implementing these caching strategies:

* Cache the AA list in your application for 24 hours or until application restart
* Implement a manual refresh mechanism for administrators to update the cached list
* Monitor the AA status field and exclude any AAs marked as "Inactive" from customer-facing selections
* Refresh the cache after receiving notifications about AA ecosystem changes from MoneyOne

### Logo Display Guidelines

When displaying AA logos in your application:

* The `logoUrl` field provides a direct link to the Account Aggregator's official logo image
* Ensure your application handles cases where logo URLs may be unavailable or return errors
* Cache logos locally to improve loading performance and reduce external dependencies
* Follow the Account Aggregator's brand guidelines regarding logo sizing, spacing, and modifications
* Consider providing fallback branding (such as the AA name in text) if logo images fail to load

### Rate Limiting

This API is subject to rate limiting controls to ensure fair usage across all FIU organizations:

* Rate limit headers are included in every response to help you track your usage
* `X-RateLimit-Limit`: The maximum number of requests allowed in the time window
* `X-RateLimit-Remaining`: The number of requests remaining in the current window
* `X-RateLimit-Reset`: The Unix timestamp when the rate limit window resets

If you exceed the rate limit, subsequent requests will receive a 429 (Too Many Requests) response until the window resets.

## Related APIs

* [Product List](/api-reference/misc/product-list) - Get consent templates configured for your organization
* [FIP List](/api-reference/misc/fip-list) - Retrieve all Financial Information Providers in the AA ecosystem
* [Consent Request V2](/api-reference/consent/consent-v2) - Initiate consent requests with VUA and AA information


## OpenAPI

````yaml POST /accountaggregatorlist
openapi: 3.0.3
info:
  title: FinPro API
  description: MoneyOne FinPro - Account Aggregator FIU Platform APIs
  version: 1.21.0
servers:
  - url: '{baseUrl}'
    description: FinPro API Server
    variables:
      baseUrl:
        default: https://scramblerpay-uat.moneyone.in
        description: API Base URL - change this to your environment
security:
  - clientId: []
    clientSecret: []
    organisationId: []
    appIdentifier: []
paths:
  /accountaggregatorlist:
    post:
      tags:
        - Miscellaneous
      summary: Account Aggregator List
      description: >-
        Retrieve the list of all Account Aggregators integrated with FinPro and
        available for your organization to use. Account Aggregators serve as
        intermediary entities that facilitate secure data sharing between
        Financial Information Providers (FIPs) and Financial Information Users
        (FIUs) in the Account Aggregator ecosystem.
      operationId: getAccountAggregatorList
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountAggregatorListRequest'
            example: {}
      responses:
        '200':
          description: Account Aggregator list retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountAggregatorListResponse'
              example:
                ver: 1.11.0
                status: success
                data:
                  - name: onemoney
                    aaId: onemoney
                    webUrl: https://aa.sandbox.onemoney.in/
                    apkUrl: https://aa.onemoney.in
                    logoUrl: http://sandboxaa.onemoney.in/assets/images/logo.svg
                    baseUrl: aa.onemoney.in
                    status: Active
        '401':
          description: Authentication Failed - Invalid credentials or organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                ver: 1.21.0
                timestamp: '2025-10-01T11:56:10.511Z'
                errorCode: Unauthorized
                errorMsg: Invalid organizationId.
      security:
        - clientId: []
          clientSecret: []
          organisationId: []
          appIdentifier: []
components:
  schemas:
    AccountAggregatorListRequest:
      type: object
      description: >-
        Request body for retrieving the Account Aggregator list. This API does
        not require any parameters in the request body.
      properties: {}
    AccountAggregatorListResponse:
      type: object
      description: >-
        Response containing the list of Account Aggregators integrated with
        FinPro.
      properties:
        ver:
          type: string
          description: The version of the FinPro API that processed the request.
        status:
          type: string
          description: 'The outcome of the API call. Possible values: success, failure.'
        data:
          type: array
          description: >-
            An array of Account Aggregator objects containing details about each
            AA.
          items:
            $ref: '#/components/schemas/AccountAggregatorItem'
    ErrorResponse:
      type: object
      properties:
        ver:
          type: string
          description: API version
        timestamp:
          type: string
          format: date-time
          description: When the error occurred
        errorCode:
          type: string
          description: Error category code
        errorMsg:
          type: string
          description: Detailed error message
        status:
          type: string
          description: FinPro-specific error code (FPxxxx format)
    AccountAggregatorItem:
      type: object
      description: Information about an individual Account Aggregator.
      properties:
        name:
          type: string
          description: >-
            The internal identifier or short name of the Account Aggregator used
            in system references.
        aaId:
          type: string
          description: >-
            The unique Account Aggregator identifier as registered in the
            Sahamati Central Registry. This is used as the domain part of VUA
            addresses (e.g., for aaId 'onemoney', VUAs are formatted as
            mobile@onemoney).
        webUrl:
          type: string
          format: uri
          description: >-
            The full URL of the Account Aggregator's web application where users
            can complete the consent approval process through a browser.
        apkUrl:
          type: string
          description: >-
            The URL or deep link to the Account Aggregator's mobile application,
            used for redirecting customers to the native app experience.
        logoUrl:
          type: string
          format: uri
          description: >-
            The URL of the Account Aggregator's logo image, which can be used in
            your application's UI to represent the AA visually.
        baseUrl:
          type: string
          description: >-
            The base domain of the Account Aggregator used for constructing VUA
            addresses and API endpoints.
        status:
          type: string
          enum:
            - Active
            - Inactive
          description: >-
            The operational status of the Account Aggregator. Only Active AAs
            are available for use in consent flows.
  securitySchemes:
    clientId:
      type: apiKey
      in: header
      name: client_id
      description: Your unique client identifier provided by MoneyOne during FIU onboarding
    clientSecret:
      type: apiKey
      in: header
      name: client_secret
      description: Your confidential client secret provided by MoneyOne
    organisationId:
      type: apiKey
      in: header
      name: organisationId
      description: Your organization's unique identifier in the FinPro system
    appIdentifier:
      type: apiKey
      in: header
      name: appIdentifier
      description: Application-specific identifier for tracking API calls

````