m2pfintech
API LibraryCustomer

Update Customer Profile

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
POST
/v1/customers/update

Authorization

bearerAuth tenantId
AuthorizationBearer <token>

JWT Bearer token from the Authentication API

In: header

X-TENANT-ID<token>

Your unique tenant identifier assigned during onboarding

In: header

Header Parameters

X-TENANT-ID*string

Your unique tenant identifier

Request Body

application/json

entityId*string

Required. Customer entity ID

Length1 <= length
status?string

Account status (use Update Status endpoint for status changes)

Value in"ACTIVE" | "LOCKED" | "BLOCKED" | "FRAUD" | "INACTIVE" | "CUSTOMER_BLOCKED" | "CREDIT_FREEZE" | "DEBIT_FREEZE" | "REFUND_ONLY" | "CLOSED" | "EXPIRED"
firstName?string

First name

lastName?string

Last name

gender?string
Value in"Male" | "Female" | "Others"
dob?string

Date of birth (format: dd/MM/yyyy)

email?string

Email address

pan?string

PAN number

permanentAddress?
communicationAddress?
communication?
cbsAccountNumber?string

CBS account number

cif?string

CIF number

customerId?string

Customer ID

customerRiskDetails?
nationalIdentity?
customerAdditionalDetails?

Custom key-value metadata

Response Body

application/json

application/json

application/json

curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/customer/v1/customers/update" \  -H "X-TENANT-ID: ACME_CORP" \  -H "Content-Type: application/json" \  -d '{    "entityId": "615928984620006085281025",    "firstName": "Tim",    "lastName": "David",    "gender": "Male",    "dob": "10/10/1999",    "pan": "AJXPC9886A",    "cbsAccountNumber": "87001810807",    "cif": "87001810807",    "customerId": "87001810807",    "permanentAddress": {      "address1": "123 Main Street",      "address2": "Apt 4B",      "pin": "600100",      "city": "Chennai",      "state": "Tamil Nadu",      "country": "India"    },    "communication": {      "mobile": {        "value": "9876543210",        "countryCode": 91      },      "email": "tim.david@example.com"    }  }'
{
  "result": {
    "entityId": "615928984620006085281025",
    "firstName": "Tim",
    "lastName": "David",
    "dob": "10/10/1999",
    "gender": "Male",
    "communication": {
      "mobile": {
        "value": "9876543210",
        "countryCode": 91
      },
      "email": "tim.david@example.com"
    }
  },
  "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": "Customer does not exists for id",
  "status": 409,
  "detail": "Customer does not exists for id",
  "message": "error.business",
  "businessCode": "PPCUST_002"
}