m2pfintech
API Guide

API Catalogue

Complete catalogue of customer-facing APIs available in DCMS — all endpoints originate from the Customer Service.

All APIs listed below are customer-facing endpoints from the Customer Service. These are the APIs that banks expose (directly or via mobile/internet banking applications) for end-customer actions. For full request/response specifications, see the API Reference.

Every request requires the TENANT header and JWT authentication. All request/response bodies are encrypted via ECDH + AES-256-GCM at the gateway level.


Onboarding APIs

#EndpointMethodPurpose
1/registerPOSTRegister a new customer to DCMS (optionally issue insta-kit card in same call)
2/registerCardPOSTIssue a new card to an already-registered customer

Customer Management APIs

#EndpointMethodPurpose
1/viewCustomerPOSTView complete customer profile (entity, kits, accounts, KYC)
2/v2/fetchByCifPOSTFetch customer details by CIF (v2 — enhanced with AES-GCM encryption)
3/fetchByCifPOSTFetch customer details by CIF (v1)
4/fetchCifByMaskedCardPOSTFetch CIF by masked card number
5/update-manager/poiPOSTUpdate Proof of Identity information
6/update-manager/poaPOSTUpdate Proof of Address information
7/update-manager/accountPOSTUpdate registered account details

Kit (Card) Management APIs

#EndpointMethodPurpose
1/kit-manager/manageKitPOSTUniversal kit operation — lock, unlock, block, block & replace, hotlist
2/kit-manager/manageAllKitsPOSTManage all kits for an entity (bulk status change)
3/kit-manager/kitActivationPOSTActivate a card (INACTIVE → ACTIVE)
4/kit-manager/upgradeCardPOSTUpgrade card to a higher product tier
5/kit-manager/applyForCardPOSTApply for an additional card
6/kit-manager/kitTrackingPOSTTrack card delivery status
7/kit-manager/fetchKitsByEntityIdPOSTList all kits (cards) for a customer
8/kit-manager/v2/fetchKitsByEntityIdPOSTList kits (v2 — with encrypted card numbers)
9/kit-manager/fetchKitsByAccountNoPOSTList kits linked to an account number
10/kit-manager/v2/fetchByCardNoPOSTFetch kit details by card number (v2)
11/kit-manager/getCvvPOSTRetrieve card CVV (post-authentication)
12/kit-manager/fetchTransactionPOSTFetch transaction history for a kit

PIN Management APIs

#EndpointMethodPurpose
1/kit-manager/setPinPOSTSet card PIN (v1 — encrypted PIN block)
2/kit-manager/v2/setPinPOSTSet card PIN (v2 — AES-GCM encrypted PIN block)
3/kit-manager/regeneratePinMailerPOSTRegenerate PIN mailer for physical cards

Authentication & Validation APIs

#EndpointMethodPurpose
1/kit-manager/validatePinPOSTValidate PIN (v1)
2/kit-manager/v2/validatePinPOSTValidate PIN (v2 — AES-GCM encrypted)
3/kit-manager/validateCardPOSTValidate card without PIN (mobile + expiry + last 6 digits)
4/kit-manager/validateCardEndingPOSTValidate card ending with PIN + CVV
5/kit-manager/v2/validateCardEndingPOSTValidate card ending (v2 — AES-GCM encrypted)

Preferences & Controls APIs

#EndpointMethodPurpose
1/preference/setPOSTSet channel preferences and limits (domestic/international × ATM/POS/E-com/Contactless)
2/preference/fetchPOSTFetch current preferences and limits for a kit
3/preference/{operation}/optInPOSTOpt-in/out of specific features (Super PIN, Super OTP, etc.)

NCMC (Transit) APIs

#EndpointMethodPurpose
1/ncmc/preference/setPOSTConfigure NCMC auto-reload preferences
2/ncmc/preference/fetchPOSTFetch NCMC auto-reload preferences

Wallet APIs

#EndpointMethodPurpose
1/wallet/loadPOSTLoad money into NCMC transit wallet
2/wallet/fetch/balancePOSTFetch wallet balance (offline + staged)
3/wallet/fetch/servicesPOSTFetch transit services linked to the wallet
4/wallet/fetch/authnt/transactionPOSTFetch wallet ISO-level transaction records
5/wallet/fetch/ledger/transactionPOSTFetch wallet ledger-level transaction records

Branch Management APIs

#EndpointMethodPurpose
1/branchPOSTCreate a new branch
2/branchPUTUpdate an existing branch
3/branch/fetchPOSTFetch branch details (with pagination and filters)

Inventory Management APIs

#EndpointMethodPurpose
1/inventory/fetchKitSummaryPOSTFetch kit summary with filters (branch, product, status)
2/inventory/fetchKitDetailsFromInventoryPOSTFetch detailed kit info from inventory
3/inventory/fetchCardOrderDetailsFromInventoryPOSTFetch card order details from inventory
4/inventory/update/deliveryStatusPOSTUpdate delivery status for kits (bulk)
5/inventory/kitsTransferPOSTTransfer kits between branches
6/inventory/instaKit/expirePOSTExpire unassigned insta-kits

Card Order Management APIs

#EndpointMethodPurpose
1/card-orderPOSTCreate card order for DC kits
2/card-order/withFilePOSTCreate card order with file upload (PGK kits)
3/card-order/uploadFilePOSTUpload card order file (TXT format)
4/card-order/fetchStatusPOSTGet card order status
5/card-order/cancelPOSTCancel a card order (if in RECEIVED state)
6/card-order/processPOSTProcess a RECEIVED card order via CMS
7/card-order/receivedPOSTFetch all RECEIVED card orders
8/card-order/statusPOSTUpdate card order status from CMS
9/card-order/sync-pending-statusPOSTSync all PENDING order statuses from CMS
10/card-order/retry-stuck-pendingPOSTRetry stuck PENDING card orders

Account-Kit Mapping APIs

#EndpointMethodPurpose
1/accountkitmapping-manager/fetchAccountsByCardNoPOSTFetch linked accounts by card number
2/account/fetchAccountsByCardNoPOSTFetch linked accounts by card number (alternate)

SDK Availability

SDKStatus
REST APIAvailable — full access via standard HTTP clients
Postman CollectionAvailable — pre-configured for all APIs
OpenAPI SpecAvailable — OpenAPI 3.0 / Swagger
Java SDKRoadmap
Python SDKRoadmap
Node.js SDKRoadmap

Postman collection and OpenAPI specification are provided during onboarding. Use them to explore and test all APIs in the UAT environment.

On this page