m2pfintech
API LibraryIssuance

Pre-Validate Forex Issuance

Checks whether a forex card issuance request is within the configured limits for the customer and product.

Response

  • exceptionRequired: false → Within limits, proceed with issuance
  • exceptionRequired: true → Limit exceeded, exception approval needed
POST
/v1/forex/issuance/fetch/issuance/limit-check

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

mobile*
productId*string

Required. Product ID to check limits against

issuerTenant?string

Issuer tenant identifier

noOfCards?integer

Number of cards being requested

Response Body

application/json

application/json

application/json

curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/middleware/v1/forex/issuance/fetch/issuance/limit-check" \  -H "X-TENANT-ID: ACME_CORP" \  -H "Content-Type: application/json" \  -d '{    "mobile": {      "value": "9842093840",      "countryCode": 91    },    "productId": "uZwuh50VfL",    "issuerTenant": "qappregsep",    "noOfCards": 2  }'

{
  "result": {
    "exceptionRequired": false
  },
  "pagination": null
}

{
  "type": "https://www.m2pfintech.com/problem/constraint-violation",
  "title": "Method argument not valid",
  "status": 400,
  "message": "error.validation",
  "fieldErrors": [
    {
      "field": "mobile",
      "message": "Invalid contact"
    }
  ]
}
{
  "type": "https://www.m2pfintech.com/problem/problem-with-message",
  "title": "Customer Card Limit Failed",
  "status": 409,
  "detail": "Customer Card Limit Failed",
  "message": "error.business",
  "businessCode": "PP_CORP_053"
}

Fetch Issuances by Status GET

Returns a paginated list of all corporate issuances in a specific status. This is the **primary status-tracking endpoint** for the partner portal — poll this after triggering a bulk issuance to check how many records have moved to `SUCCESS` or `FAILED`. ### Valid Status Values | Status | Meaning | |--------|---------| | `CREATED` | Maker submitted, awaiting checker approval | | `PENDING_APPROVAL` | In checker queue | | `APPROVED` | Checker approved, provisioning in progress | | `REJECTED` | Checker rejected | | `SUCCESS` | Cards fully provisioned and active | | `FAILED` | Provisioning failed (check `reason` field) | ### Bulk Tracking Pattern ``` GET /fetch-by-status/SUCCESS?pageNo=0&pageSize=100 → shows how many out of a bulk batch completed successfully GET /fetch-by-status/FAILED?pageNo=0&pageSize=100 → shows failed records with error reasons for retry ``` ### Server Use the **corporate** server URLs for this endpoint.

Fetch Issuances by Criteria POST

Advanced search endpoint that lets the portal filter issuances by any combination of status, hierarchy, and a dynamic field/value pair (e.g., search by `applicationNumber`, `mobile`, `pan`, etc.). ### Use Cases - Search issuances by customer PAN or mobile number - Filter all `FAILED` issuances within a specific branch - Build the "search" feature in the issuance management dashboard ### `type` (DataType) Values `STRING` | `INTEGER` | `BIGDECIMAL` | `BOOLEAN` | `DATE` | `ENCRYPTED` ### Server Use the **corporate** server URLs for this endpoint.