Approve/Reject Unified Issuance (v2)
Maker-checker state transition endpoint for v2 unified issuances.
Use this to approve or reject issuances that are in CREATED or PENDING_APPROVAL status.
Flow
- Fetch issuance by status to get the
id - Submit state-transition with
idandaction(APPROVED/REJECTED) - On APPROVED → system processes issuance → status becomes SUCCESS
- On REJECTED → issuance is rejected and no cards are created
Server
Use the corporate server URLs for this endpoint.
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
MongoDB ObjectId from create issuance response
Approval action
"APPROVED" | "REJECTED"Optional remarks for rejection
Response Body
application/json
curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/middleware/v2/issuances/state-transition" \ -H "X-TENANT-ID: ACME_CORP" \ -H "Content-Type: application/json" \ -d '{ "id": "6a0431f65de0228d6be3575c", "action": "APPROVED" }'{
"result": {
"currentStatus": "APPROVED",
"id": "6a0431f65de0228d6be3575c",
"applicationNumber": "532470",
"issuanceChannel": "Corporate",
"issuanceType": "Single",
"noOfCards": 0,
"noOfCardsRequested": 1
}
}Fetch Unified Issuance by ID (v2) GET
Fetch complete issuance details by MongoDB ObjectId. Use this to get the full issuance record including card details after approval. ### Server Use the **corporate** server URLs for this endpoint.
AML Name Matching POST
Performs Anti-Money Laundering (AML) name screening against sanctions and watchlists. This is a **mandatory** pre-issuance check for all forex card issuances. ### How It Works - Submits the customer's name for fuzzy matching against global sanctions lists - Returns a match score and list of potential matches - A score below the configured threshold allows issuance to proceed - Matches above the threshold require manual review or rejection ### Response - `matched: false` → No AML hits, safe to proceed - `matched: true` → Potential match found, review required
