Skip to main content
POST
Error

Overview

The Consent List with Unique Accounts API provides an advanced consent listing capability with deduplication, filtering, and pagination features. Unlike V1 and V2 which return raw consent lists, this API is optimized for scenarios where you need to present unique accounts to users or process large consent datasets efficiently. Key capabilities that distinguish this API:
  • Deduplication: Returns unique accounts even when multiple consents exist for the same account across different time periods or statuses.
  • Status Filtering: Filter consents by one or more status values (PENDING, ACTIVE, REJECTED, REVOKED, EXPIRED) to focus on specific consent states.
  • Pagination Support: Handle large result sets efficiently with configurable page size and page number parameters, preventing performance issues with extensive consent histories.
  • Account Details: Each consent includes detailed account information in the accounts array, providing visibility into which specific financial accounts are linked.
This API is ideal for customer-facing dashboards, administrative interfaces, and reporting tools where you need to present organized, filterable consent information without overwhelming users with duplicate entries.

Endpoint

Authentication

This API requires authentication through the following headers that must be included in every request:

Request Body

The request body must be a JSON object containing the following parameters:

Important Notes

  • Mobile Number Format: The mobile number must be exactly 10 digits without any country code, spaces, hyphens, or other special characters. Examples: 9876543210 (correct), +919876543210 (incorrect).
  • Status Filtering: The status array is case-sensitive. Use uppercase values exactly as documented: PENDING, ACTIVE, etc. Invalid status values may be ignored or cause validation errors.
  • Pagination Behavior: When pageSize is specified but pageNumber is not, the API returns the first page. When neither is specified, all results are returned without pagination.
  • Empty Status Array: If you provide an empty status array [], the API may return no results or behave as if no status filter was applied, depending on implementation. To get all statuses, omit the status parameter entirely.

Response

Success Response (200 OK) - Without Pagination

When pagination is not requested, all matching consents are returned in a single response:

Success Response (200 OK) - With Pagination

When pagination parameters are provided, the response includes page metadata:
Each consent object in the data array contains the following fields:

Account Object Structure

When consents have linked accounts, each item in the accounts array contains:

Error Response (400 Bad Request)

When the request contains invalid data or fails validation:

Common Error Codes

Example Request

Use Cases

Build a customer-facing dashboard with pagination:

Status-Based Filtering

Display different consent categories to users:

Export All Consents for Reporting

Fetch all consents across pages for batch processing:

Best Practices

  1. Use Pagination for Large Datasets: Always use pagination when displaying consents in UI. This improves performance and user experience, especially for customers with many consents.
  2. Status Filtering: Use status filters to reduce data transfer and focus on relevant consents. For example, show only ACTIVE and PENDING consents in the main dashboard, with expired/revoked consents in a history section.
  3. Cache Page Results: Cache individual page results with appropriate TTL (e.g., 5-10 minutes) to reduce API calls when users navigate back and forth between pages.
  4. Handle Empty Accounts Array: The accounts array may be empty for PENDING or REJECTED consents. Design your UI to handle this gracefully by showing appropriate messaging.
  5. Deduplication Awareness: This API returns deduplicated results. If you need to see every individual consent request (including duplicates), use the V1 or V2 list APIs instead.
  6. Progress Indicators: When loading multiple pages, show progress indicators to users. Calculate progress as currentPage / totalPages using the pageDetails metadata.

API Version Comparison

  • V1 (Basic List): Uses mobile number only. Returns all consents in flat list without deduplication or pagination. Simple but may have performance issues with large datasets.
  • V2 (Enhanced List): Supports multiple identifier types (mobile, email, PAN). Includes account ID filtering. Still returns flat list without pagination.
  • V1 Unique Accounts (this API): Provides deduplicated view of unique accounts. Supports status filtering and pagination. Best for customer-facing dashboards and large datasets.
Choose this API when:
  • You need to display unique accounts without duplicate consent entries
  • You’re working with customers who have many consents and need pagination
  • You want to filter consents by specific status values
  • You’re building customer dashboards or administrative interfaces that require organized, filterable views
  • Performance and scalability are concerns due to potentially large consent lists

Authorizations

client_id
string
header
required

Your unique client identifier provided by MoneyOne during FIU onboarding

client_secret
string
header
required

Your confidential client secret provided by MoneyOne

organisationId
string
header
required

Your organization's unique identifier in the FinPro system

appIdentifier
string
header
required

Application-specific identifier for tracking API calls

Body

application/json
mobileNumber
string
required

The customer's 10-digit mobile number without country code or special characters. This should be the same mobile number used when creating consent requests.

Pattern: ^[0-9]{10}$
productID
string

The unique identifier of the consent template (product) for which you want to retrieve consents. This filters the consent list to only show consents created using this specific product configuration. Optional — if omitted, consents across all products are returned.

accountID
string

The account identifier to filter consents for a specific customer interaction or loan application. Must be alphanumeric. Use the same value that was provided during consent creation.

Pattern: ^[a-zA-Z0-9]+$
status
enum<string>[]

An array of consent status values to filter the results. If not provided, consents of all statuses are returned.

Available options:
PENDING,
ACTIVE,
REJECTED,
REVOKED,
EXPIRED,
PAUSED
pageNumber
integer

The page number to retrieve when using pagination. Pages are 1-indexed (first page is 1). If not provided, defaults to page 1.

Required range: x >= 1
pageSize
integer

The number of consent records to return per page. If not provided, all matching consents are returned in a single response. Recommended values are between 10 and 100.

Required range: x >= 1

Response

Consents retrieved successfully

ver
string

The version of the FinPro API that processed this request.

status
string

Overall API call status. Will be 'success' for successful requests.

pageDetails
object

Pagination metadata. Only present when pagination parameters (pageSize and optionally pageNumber) are provided in the request.

data
object[]

An array of deduplicated consent objects matching the query criteria.