Update Customer Account Status
Changes the customer's account status. Only valid status transitions are allowed.
Valid Statuses
| Status | Description |
|---|---|
ACTIVE | Account is fully operational |
LOCKED | Temporarily locked (can unlock) |
BLOCKED | Blocked by admin (terminal for some transitions) |
FRAUD | Flagged for fraud |
INACTIVE | Account inactive |
CUSTOMER_BLOCKED | Blocked at customer request |
CREDIT_FREEZE | Credits blocked, debits allowed |
DEBIT_FREEZE | Debits blocked, credits allowed |
REFUND_ONLY | Only refund transactions allowed |
CLOSED | Account permanently closed |
EXPIRED | Account expired |
Invalid Transitions
Attempting an invalid transition (e.g., CREDIT_FREEZE → CREDIT_FREEZE) returns error
code PPCUST_032.
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. Target status
"ACTIVE" | "LOCKED" | "BLOCKED" | "FRAUD" | "INACTIVE" | "CUSTOMER_BLOCKED" | "CREDIT_FREEZE" | "DEBIT_FREEZE" | "REFUND_ONLY" | "CLOSED" | "EXPIRED"Response Body
application/json
application/json
application/json
curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/customer/v1/customers/update/status" \ -H "X-TENANT-ID: ACME_CORP" \ -H "Content-Type: application/json" \ -d '{ "entityId": "750244137320000234050825", "status": "CREDIT_FREEZE" }'{
"result": {
"entityId": "750244137320000234050825",
"status": "CREDIT_FREEZE"
},
"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 Status Transition from : CREDIT_FREEZE to CREDIT_FREEZE",
"status": 409,
"detail": "Invalid Status Transition from : CREDIT_FREEZE to CREDIT_FREEZE",
"message": "error.business",
"businessCode": "PPCUST_032"
}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)
Update Customer Profile POST
Updates customer profile details including personal information, address, communication preferences, and identity documents. ### Updatable Fields - **Personal**: firstName, lastName, gender, DOB, email - **Address**: permanentAddress, communicationAddress - **Identity**: PAN, nationalIdentity documents - **Banking**: cbsAccountNumber, CIF, customerId - **Risk**: riskRating, customerOccupation, politicallyExposed - **Custom**: customerAdditionalDetails (key-value metadata) ### Important Notes - `entityId` is required and identifies which customer to update - Only provided fields are updated — omitted fields remain unchanged - Status changes should use the dedicated Update Status endpoint
