> ## 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.

# Product List

> Retrieve the list of consent templates (products) configured in the FinPro admin portal for your organization.

## Overview

The Product List API provides access to all consent templates that have been created by your Financial Information User (FIU) organization in the FinPro admin portal. These consent templates, also referred to as products, define the parameters for consent requests including data types, validity periods, fetch modes, and other configuration settings that govern how financial data is collected from customers.

This API is particularly useful when you need to:

* Display available consent templates to users during the onboarding or application process
* Retrieve specific consent template details programmatically before initiating a consent request
* Audit and verify the consent configurations that are currently active in your organization
* Build dynamic consent selection interfaces that adapt based on available product configurations

## 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}}/productslist
```

### Request Body Parameters

| Parameter   | Type   | Required | Description                                                                                                                                                                                                              |
| ----------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `productId` | string | Optional | The specific consent template code to retrieve. If omitted, the API returns all active consent templates configured for your organization. Must contain only alphanumeric characters, underscores, hyphens, and periods. |

### Request Examples

<CodeGroup>
  ```json Get All Products theme={null}
  {
  }
  ```

  ```json Get Specific Product theme={null}
  {
    "productId": "TESTWM01"
  }
  ```
</CodeGroup>

## Response

### Success Response (200 OK)

When the request is successfully processed, the API returns detailed information about the requested consent template(s).

### 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 consent template objects containing the configuration details                                                                                                                       |
| `data[].productName`        | string            | The human-readable name of the consent template as configured in the admin portal                                                                                                               |
| `data[].productCode`        | string            | The unique identifier (template code) used to reference this consent template in API calls                                                                                                      |
| `data[].productDescription` | string            | A descriptive text explaining the purpose or use case of this consent template                                                                                                                  |
| `data[].consentFrom`        | string (ISO 8601) | The start date and time from which the consent becomes valid                                                                                                                                    |
| `data[].consentTo`          | string (ISO 8601) | The end date and time until which the consent remains valid. The duration between consentFrom and consentTo determines the consent validity period                                              |
| `data[].consentMode`        | string            | How the fetched data is handled. `VIEW` means data is not stored, `STORE` means data can be persisted                                                                                           |
| `data[].fetchType`          | string            | The frequency pattern for data retrieval. `ONETIME` for single fetch, `PERIODIC` for recurring fetches                                                                                          |
| `data[].fiTypes`            | string            | Comma-separated list of Financial Information schema types included in this consent template (e.g., DEPOSIT, MUTUAL\_FUNDS, INSURANCE\_POLICIES)                                                |
| `data[].consentTypes`       | string            | Comma-separated list indicating which sections of financial information are requested: PROFILE (account holder details), SUMMARY (aggregated data), TRANSACTIONS (detailed transaction history) |
| `data[].dataRangeFrom`      | string (ISO 8601) | The earliest date for which financial data should be retrieved                                                                                                                                  |
| `data[].dataRangeTo`        | string (ISO 8601) | The most recent date for which financial data should be retrieved. The period between dataRangeFrom and dataRangeTo defines the historical data range                                           |
| `data[].dataLifeUnit`       | string            | The time unit for data retention. Possible values: `DAY`, `MONTH`, `YEAR`, `INF` (infinite)                                                                                                     |
| `data[].dataLifeValue`      | number            | The numeric value indicating how long data can be retained, measured in the unit specified by dataLifeUnit                                                                                      |
| `data[].frequencyUnit`      | string            | The time unit for periodic data fetch frequency. Possible values: `DAY`, `MONTH`, `YEAR`, `INF`                                                                                                 |
| `data[].frequencyValue`     | number            | The numeric value indicating how often data should be fetched, measured in the unit specified by frequencyUnit                                                                                  |
| `data[].fiFetch`            | string            | The mechanism for triggering data fetches. `MANUAL` requires explicit FIU API calls, `AUTOMATIC` fetches data automatically, `AUTO MANUAL` supports both modes                                  |
| `data[].createdAt`          | string (ISO 8601) | The timestamp when this consent template was created in the FinPro admin portal                                                                                                                 |

### Response Examples

<CodeGroup>
  ```json All Products Response theme={null}
  {
    "ver": "1.21.0",
    "status": "success",
    "data": [
      {
        "productName": "WMTEST",
        "productCode": "WMSAV01",
        "productDescription": "for wealth management",
        "consentFrom": "2025-03-19T12:19:31.000Z",
        "consentTo": "2028-03-19T12:19:31.000Z",
        "consentMode": "STORE",
        "fetchType": "PERIODIC",
        "fiTypes": "DEPOSIT,TERM_DEPOSIT,RECURRING_DEPOSIT,MUTUAL_FUNDS,CREDIT_CARD,SIP,GOVT_SECURITIES,EQUITIES,BONDS,DEBENTURES,ETF",
        "consentTypes": "PROFILE,SUMMARY,TRANSACTIONS",
        "dataRangeFrom": "2022-03-19T12:20:18.000Z",
        "dataRangeTo": "2025-03-19T12:20:18.000Z",
        "dataLifeUnit": "YEAR",
        "dataLifeValue": 3,
        "frequencyUnit": "DAY",
        "frequencyValue": 1,
        "fiFetch": "MANUAL",
        "createdAt": "2025-03-19T12:20:26.000Z"
      },
      {
        "productName": "Investment Advisory",
        "productCode": "SAV12345",
        "productDescription": "Purpose is to fetch the actual invested data and provide more accurate investment advice",
        "consentFrom": "2023-09-12T13:12:18.000Z",
        "consentTo": "2132-06-12T13:12:18.000Z",
        "consentMode": "STORE",
        "fetchType": "PERIODIC",
        "fiTypes": "MUTUAL_FUNDS,SIP,EQUITIES,BONDS,GOVT_SECURITIES,ETF,ULIP",
        "consentTypes": "PROFILE,SUMMARY,TRANSACTIONS",
        "dataRangeFrom": "1969-06-12T13:12:18.000Z",
        "dataRangeTo": "2023-09-12T13:12:18.000Z",
        "dataLifeUnit": "INF",
        "dataLifeValue": 0,
        "frequencyUnit": "DAY",
        "frequencyValue": 5,
        "fiFetch": "MANUAL",
        "createdAt": "2023-09-12T13:12:34.000Z"
      }
    ]
  }
  ```

  ```json Specific Product Response theme={null}
  {
    "ver": "1.21.0",
    "status": "success",
    "data": [
      {
        "productName": "WM01",
        "productCode": "TESTWM01",
        "productDescription": "Abc",
        "consentFrom": "2025-02-24T07:36:55.000Z",
        "consentTo": "2026-02-24T07:36:55.000Z",
        "consentMode": "STORE",
        "fetchType": "PERIODIC",
        "fiTypes": "DEPOSIT",
        "consentTypes": "PROFILE,SUMMARY,TRANSACTIONS",
        "dataRangeFrom": "2025-01-25T07:36:55.000Z",
        "dataRangeTo": "2025-02-24T07:36:55.000Z",
        "dataLifeUnit": "YEAR",
        "dataLifeValue": 1,
        "frequencyUnit": "YEAR",
        "frequencyValue": 14,
        "fiFetch": "AUTOMATIC",
        "createdAt": "2025-02-24T07:37:30.000Z"
      }
    ]
  }
  ```
</CodeGroup>

## 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:55:43.896Z",
  "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

### Product Selection Best Practices

* Retrieve and cache the product list during application initialization to minimize API calls
* Map product codes to specific user journeys or workflows in your application for consistent consent request behavior
* Regularly refresh the product list to ensure your application reflects any updates made in the FinPro admin portal
* Use the productId parameter when you need to verify specific template configurations before initiating a consent flow

### FI Types Reference

The `fiTypes` field can contain any combination of the following Account Aggregator financial information schema types:

* **Banking:** DEPOSIT, TERM\_DEPOSIT, RECURRING\_DEPOSIT, CREDIT\_CARD, CD (Certificate of Deposit)
* **Investments:** MUTUAL\_FUNDS, SIP, EQUITIES, BONDS, DEBENTURES, ETF, GOVT\_SECURITIES, CP (Commercial Paper), IDR, CIS, AIF, INVIT, REIT
* **Insurance:** INSURANCE\_POLICIES, LIFE\_INSURANCE, GENERAL\_INSURANCE, ULIP
* **Retirement:** NPS, EPF, PPF
* **Tax:** GST\_GSTR1, GST\_GSTR2A, GST\_GSTR3B, GSTR1\_3B
* **Other:** OTHER (for custom or future FI types)

### 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

* [Consent Request V2](/api-reference/consent/consent-v2) - Initiate consent requests using product IDs
* [Consent Request V3](/api-reference/consent/consent-v3) - Create FIP-specific consents with product templates
* [Account Aggregator List](/api-reference/misc/aa-list) - Get the list of integrated Account Aggregators


## OpenAPI

````yaml POST /productslist
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:
  /productslist:
    post:
      tags:
        - Miscellaneous
      summary: Product List
      description: >-
        Retrieve the list of consent templates (products) configured in the
        FinPro admin portal for your organization. These consent templates
        define the parameters for consent requests including data types,
        validity periods, fetch modes, and other configuration settings that
        govern how financial data is collected from customers.
      operationId: getProductsList
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductsListRequest'
            examples:
              getAllProducts:
                summary: Get all products
                value: {}
              getSpecificProduct:
                summary: Get specific product
                value:
                  productId: TESTWM01
      responses:
        '200':
          description: Products retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductsListResponse'
              examples:
                allProducts:
                  summary: All products response
                  value:
                    ver: 1.21.0
                    status: success
                    data:
                      - productName: WMTEST
                        productCode: WMSAV01
                        productDescription: for wealth management
                        consentFrom: '2025-03-19T12:19:31.000Z'
                        consentTo: '2028-03-19T12:19:31.000Z'
                        consentMode: STORE
                        fetchType: PERIODIC
                        fiTypes: >-
                          DEPOSIT,TERM_DEPOSIT,RECURRING_DEPOSIT,MUTUAL_FUNDS,CREDIT_CARD,SIP,GOVT_SECURITIES,EQUITIES,BONDS,DEBENTURES,ETF
                        consentTypes: PROFILE,SUMMARY,TRANSACTIONS
                        dataRangeFrom: '2022-03-19T12:20:18.000Z'
                        dataRangeTo: '2025-03-19T12:20:18.000Z'
                        dataLifeUnit: YEAR
                        dataLifeValue: 3
                        frequencyUnit: DAY
                        frequencyValue: 1
                        fiFetch: MANUAL
                        createdAt: '2025-03-19T12:20:26.000Z'
                      - productName: Investment Advisory
                        productCode: SAV12345
                        productDescription: >-
                          Purpose is to fetch the actual invested data and
                          provide more accurate investment advice
                        consentFrom: '2023-09-12T13:12:18.000Z'
                        consentTo: '2132-06-12T13:12:18.000Z'
                        consentMode: STORE
                        fetchType: PERIODIC
                        fiTypes: >-
                          MUTUAL_FUNDS,SIP,EQUITIES,BONDS,GOVT_SECURITIES,ETF,ULIP
                        consentTypes: PROFILE,SUMMARY,TRANSACTIONS
                        dataRangeFrom: '1969-06-12T13:12:18.000Z'
                        dataRangeTo: '2023-09-12T13:12:18.000Z'
                        dataLifeUnit: INF
                        dataLifeValue: 0
                        frequencyUnit: DAY
                        frequencyValue: 5
                        fiFetch: MANUAL
                        createdAt: '2023-09-12T13:12:34.000Z'
                specificProduct:
                  summary: Specific product response
                  value:
                    ver: 1.21.0
                    status: success
                    data:
                      - productName: WM01
                        productCode: TESTWM01
                        productDescription: Abc
                        consentFrom: '2025-02-24T07:36:55.000Z'
                        consentTo: '2026-02-24T07:36:55.000Z'
                        consentMode: STORE
                        fetchType: PERIODIC
                        fiTypes: DEPOSIT
                        consentTypes: PROFILE,SUMMARY,TRANSACTIONS
                        dataRangeFrom: '2025-01-25T07:36:55.000Z'
                        dataRangeTo: '2025-02-24T07:36:55.000Z'
                        dataLifeUnit: YEAR
                        dataLifeValue: 1
                        frequencyUnit: YEAR
                        frequencyValue: 14
                        fiFetch: AUTOMATIC
                        createdAt: '2025-02-24T07:37:30.000Z'
        '401':
          description: Authentication Failed - Invalid organization credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                ver: 1.21.0
                timestamp: '2025-10-01T11:55:43.896Z'
                errorCode: Unauthorized
                errorMsg: Invalid organizationId.
      security:
        - clientId: []
          clientSecret: []
          organisationId: []
          appIdentifier: []
components:
  schemas:
    ProductsListRequest:
      type: object
      description: >-
        Request body for retrieving consent templates (products) configured in
        the FinPro admin portal.
      properties:
        productId:
          type: string
          pattern: ^[a-zA-Z0-9_\-.]+$
          description: >-
            The specific consent template code to retrieve. If omitted, the API
            returns all active consent templates configured for your
            organization. Must contain only alphanumeric characters,
            underscores, hyphens, and periods.
    ProductsListResponse:
      type: object
      description: >-
        Response containing the list of consent templates (products) configured
        for the organization.
      properties:
        ver:
          type: string
          description: The version of the FinPro API that processed the request.
        status:
          type: string
          enum:
            - success
            - failure
          description: The outcome of the API call.
        data:
          type: array
          description: >-
            An array of consent template objects containing the configuration
            details.
          items:
            $ref: '#/components/schemas/ProductItem'
    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)
    ProductItem:
      type: object
      description: A consent template (product) configured in the FinPro admin portal.
      properties:
        productName:
          type: string
          description: >-
            The human-readable name of the consent template as configured in the
            admin portal.
        productCode:
          type: string
          description: >-
            The unique identifier (template code) used to reference this consent
            template in API calls.
        productDescription:
          type: string
          description: >-
            A descriptive text explaining the purpose or use case of this
            consent template.
        consentFrom:
          type: string
          format: date-time
          description: >-
            The start date and time from which the consent becomes valid (ISO
            8601 format).
        consentTo:
          type: string
          format: date-time
          description: >-
            The end date and time until which the consent remains valid (ISO
            8601 format). The duration between consentFrom and consentTo
            determines the consent validity period.
        consentMode:
          type: string
          enum:
            - VIEW
            - STORE
          description: >-
            How the fetched data is handled. VIEW means data is not stored,
            STORE means data can be persisted.
        fetchType:
          type: string
          enum:
            - ONETIME
            - PERIODIC
          description: >-
            The frequency pattern for data retrieval. ONETIME for single fetch,
            PERIODIC for recurring fetches.
        fiTypes:
          type: string
          description: >-
            Comma-separated list of Financial Information schema types included
            in this consent template (e.g., DEPOSIT, MUTUAL_FUNDS,
            INSURANCE_POLICIES).
        consentTypes:
          type: string
          description: >-
            Comma-separated list indicating which sections of financial
            information are requested: PROFILE (account holder details), SUMMARY
            (aggregated data), TRANSACTIONS (detailed transaction history).
        dataRangeFrom:
          type: string
          format: date-time
          description: >-
            The earliest date for which financial data should be retrieved (ISO
            8601 format).
        dataRangeTo:
          type: string
          format: date-time
          description: >-
            The most recent date for which financial data should be retrieved
            (ISO 8601 format). The period between dataRangeFrom and dataRangeTo
            defines the historical data range.
        dataLifeUnit:
          type: string
          enum:
            - DAY
            - MONTH
            - YEAR
            - INF
          description: The time unit for data retention. INF indicates infinite retention.
        dataLifeValue:
          type: integer
          description: >-
            The numeric value indicating how long data can be retained, measured
            in the unit specified by dataLifeUnit.
        frequencyUnit:
          type: string
          enum:
            - DAY
            - MONTH
            - YEAR
            - INF
          description: The time unit for periodic data fetch frequency.
        frequencyValue:
          type: integer
          description: >-
            The numeric value indicating how often data should be fetched,
            measured in the unit specified by frequencyUnit.
        fiFetch:
          type: string
          enum:
            - MANUAL
            - AUTOMATIC
            - AUTO MANUAL
          description: >-
            The mechanism for triggering data fetches. MANUAL requires explicit
            FIU API calls, AUTOMATIC fetches data automatically, AUTO MANUAL
            supports both modes.
        createdAt:
          type: string
          format: date-time
          description: >-
            The timestamp when this consent template was created in the FinPro
            admin portal (ISO 8601 format).
  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

````