Upgrade Customer KYC
Upgrades a customer's card KYC level from Min KYC to Full KYC. This is required to increase transaction limits and enable full card functionality.
Supported Document Types
| Type | Description |
|---|---|
PAN | Permanent Account Number |
AADHAR | Aadhaar card |
PASSPORT | Passport |
DRIVING_LICENCE | Driving licence |
VOTER_ID | Voter ID card |
First-Time Registration
For customers being registered for the first time during KYC upgrade, provide
the firstTimeRegistration object with name, gender, email, and card details.
Prerequisites
- Customer must be in Min KYC status
- Valid identity document is required
Authorization
bearerAuth tenantId JWT Bearer token from the Authentication API
In: header
Your unique tenant identifier assigned during onboarding
In: header
Header Parameters
Your unique tenant identifier
Request Body
application/json
Required. Customer entity ID
1 <= lengthRequired. Identity document type
1 <= length"PAN" | "AADHAR" | "PASSPORT" | "DRIVING_LICENCE" | "VOTER_ID"Required. Document number
1 <= lengthKit number of the card
Unique transaction reference
Target KYC type
Product ID
KYC identifier
Reference number (kit number for SOR call)
Date of birth (format: YYYY-MM-DD)
^(\d{4})-(\d{2})-(\d{2})$First-time registration details (if new customer)
Response Body
application/json
application/json
application/json
curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/customer/v1/customers/upgrade/kyc" \ -H "X-TENANT-ID: ACME_CORP" \ -H "Content-Type: application/json" \ -d '{ "entityId": "615928984620006085281025", "docType": "PAN", "docNo": "UIXEU1234T", "proxyCardNo": "1000000009", "txnRefNo": "M2P130015" }'{
"result": {
"status": "success",
"message": "Customer's Card KYC upgraded successfully"
},
"pagination": null
}{
"type": "https://www.m2pfintech.com/problem/problem-with-message",
"title": "Bad Request",
"status": 400,
"detail": "Unable to convert http message",
"message": "error.http.400"
}{
"type": "https://www.m2pfintech.com/problem/problem-with-message",
"title": "Invalid request",
"status": 409,
"detail": "Invalid request",
"message": "error.business",
"businessCode": "PPCUST_010"
}Update Customer Trip Details POST
Adds or updates travel trip details for a forex customer. Trip information is required for forex card operations and regulatory compliance. ### Trip Types - `NEW` — Adding a new trip - `EXISTING` — Updating an existing trip (provide trip `id`) ### Trip Details Include - Destination country with ISO codes - Travel dates (start/end) - Purpose of travel (with RBI purpose codes) - Passport details (number, file number, issue/expiry dates) - Supporting documents
Fetch All Dispute Reason Codes GET
Retrieves the complete list of dispute reason codes across all card networks. Use this endpoint to populate a reason code dropdown in your dispute filing UI. ### Response Returns a flat list of all active reason codes. Each reason code includes: - `id`: Internal identifier - `reasonCode`: The network-specific reason code (e.g., "13.1" for VISA) - `reasonCodeDesc`: Human-readable description of the dispute reason - `status`: Whether the reason code is currently active ### Tip If you need reason codes for a specific network only, use the `/v1/disputes/fetch-reason-codes/network/{id}` endpoint instead.
