Search Customers by Criteria
Searches for customers using various search criteria. Returns a paginated list of matching customer profiles.
Search Types
| Type | Description | Example Value |
|---|---|---|
MOBILE | Search by mobile number | 9876543210 |
KIT | Search by card kit number | 20003255 |
CUSTOMER_ID | Search by customer ID | 9932482 |
ENTITY_ID | Search by entity ID | 617713338570000051250925 |
CARD | Search by masked card number | 876541XXXXXX0682 |
PAN | Search by PAN number | ABCDE1234F |
AADHAAR_ID | Search by Aadhaar number | XXXX-XXXX-1234 |
EMAIL_ID | Search by email | john@example.com |
FIRST_NAME | Search by first name | John |
LAST_NAME | Search by last name | Doe |
KYC_TOKEN | Search by KYC token | TOKEN123 |
CUSTOMER_ENTITY_ID | Search by customer entity | CUST_ENT_001 |
VOTER_ID | Search by voter ID | ABC1234567 |
Authorization
bearerAuth tenantId JWT Bearer token from the Authentication API
In: header
Your unique tenant identifier assigned during onboarding
In: header
Query Parameters
Page number (0-indexed)
0Records per page
10Request Body
application/json
Required. Type of search criteria
"MOBILE" | "KIT" | "CUSTOMER_ID" | "ENTITY_ID" | "CARD" | "PAN" | "AADHAAR_ID" | "VOTER_ID" | "EMAIL_ID" | "FIRST_NAME" | "LAST_NAME" | "KYC_TOKEN" | "CUSTOMER_ENTITY_ID"Required. Search value
1 <= lengthRequired. Tenant identifier
1 <= lengthCountry code (for MOBILE search)
"91"Response Body
application/json
application/json
application/json
curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/customer/v1/customers/support/fetch-customer-list" \ -H "Content-Type: application/json" \ -d '{ "searchType": "MOBILE", "tenant": "ACME_CORP", "value": "9876543210" }'{
"result": {},
"pagination": {
"list": true,
"pageSize": 0,
"pageNo": 0,
"totalPages": 0,
"totalElements": 0
}
}{
"type": "https://www.m2pfintech.com/problem/constraint-violation",
"title": "Method argument not valid",
"status": 400,
"message": "error.validation",
"fieldErrors": [
{
"field": "tenant",
"message": "must not be blank"
},
{
"field": "searchType",
"message": "must not be null"
},
{
"field": "value",
"message": "must not be blank"
}
]
}{
"type": "https://www.m2pfintech.com/problem/problem-with-message",
"title": "Customer does not exists for id",
"status": 409,
"detail": "Customer does not exists for id",
"message": "error.business",
"businessCode": "PPCUST_002"
}Fetch Customer Details by Search Criteria POST
Searches for and retrieves customer details based on a flexible search criteria. This is the primary customer lookup API that supports searching by mobile number, kit number, entity ID, PAN, email, and other identifiers. ### When to Use - **Customer Support**: Look up a customer using whatever identifier they provide - **Pre-Transaction Validation**: Verify customer existence before initiating operations - **Profile Display**: Fetch customer details to display in your app or portal ### Response Returns comprehensive customer details including: - Personal information (name, DOB, gender, email, mobile) - KYC details and status - Card details (kit number, card status, product type) - Account/wallet information - Address details ### Important Notes - The response structure includes nested card and wallet details - For customers with multiple cards, all cards are included in the response - PAN and Aadhaar numbers are masked in the response for security
Get Customer Usage Details (LRS Limits) POST
Retrieves the customer's transaction usage/limits consumed, aggregated by base currency and transaction type. This is critical for forex operations to track **LRS (Liberalised Remittance Scheme)** limits. ### Use Cases - Check how much of the ₹7 lakh LRS limit has been consumed - Validate load eligibility before initiating forex card load - Display usage summary in partner app ### Response Structure Returns usage broken down by: - **Base currency** (USD, INR, etc.) - **Transaction type** (LOAD, LOAD_DIY, etc.) - **Time period** (daily, monthly, yearly, overall)
