Add / Modify / Remove Lien
Place a new lien (ADD), modify an existing lien (ADJUST), or fully release a lien (REMOVE) on a wallet's balance. A lien is a temporary hold that reduces the available balance without debiting funds.
ADD — Place a new hold on the specified amount
ADJUST — Modify an existing lien (pass new total, not delta)
REMOVE — Fully release a lien (lienAmount is ignored)
Common use cases: pre-authorization, security deposits, staged debits.
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
Unique identifier for this lien. Must be globally unique when creating a new lien (ADD). For ADJUST or REMOVE operations, must match the lienId used during the original ADD.
Transaction ID for the lien operation (for audit and reconciliation)
External transaction ID (optional — used for partner-side reconciliation)
Source/reason for the lien (e.g., PRE_AUTH, SECURITY_DEPOSIT, STAGED_DEBIT)
Origin channel of the transaction (e.g., POS, ATM, WEB, ECOM)
Type of transaction (e.g., PREAUTH, HOLD, CASH)
The wallet/account number on which the lien is to be placed
Amount to mark as lien.
- ADD: The lien amount to place
- ADJUST: The new total lien amount (not the delta)
- REMOVE: Ignored — the full lien is removed regardless of value
doubleType of lien operation
"ADD" | "ADJUST" | "REMOVE"Whether to validate sufficient balance exists before placing/adjusting the lien
Response Body
application/json
application/json
application/json
curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/customer/api/lienmark" \ -H "X-TENANT-ID: ACME_CORP" \ -H "Content-Type: application/json" \ -d '{ "lienId": "LIEN-20260320-001", "transactionId": "TXN-PREAUTH-12345", "extTxnId": "EXT-TXN-67890", "source": "PRE_AUTH", "txnOrigin": "POS", "txnType": "PREAUTH", "accountNumber": "17568190551480014", "lienAmount": 1000, "type": "ADD", "balanceCheck": true }'{
"result": {
"lienId": "LIEN-20260320-001",
"transactionId": "TXN-PREAUTH-12345",
"extTxnId": "EXT-TXN-67890",
"lienBalance": 1000,
"accountNumber": "17568190551480014",
"accountLienBalance": 3500
},
"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 exist",
"status": 409,
"detail": "Customer does not exists for id",
"message": "error.business",
"businessCode": "PPCUST_002"
}