DMT API offered by oxymoney platform
Authorization Bearer <OAuth2 token>
request-time <CURRENT TIME IN MILLISECONDS>
Response of all API will be wrapped in below structure.
{"status":{"message":"[message]","code":[api-response-code]},"result":[result object]}
Field | Description |
---|---|
status | standard status code of API |
result | Result Object specific to API |
The Status-Code element in a server response, is a 3-digit integer where the first digit of the Status-Code defines the class of response and the last two digits do not have any categorization role.
Code | Description |
---|---|
401 | User is not authenticated |
400 | Request is syntactically incorrect |
415 | Method not allowed, when use sending GET instead of POST or vice versa |
403 | User us authenticated by not authorized to access the resource |
200 | API Executed Successfully |
API Repsonse code will be populated only if , HTTP Response code 200
Code | Description |
---|---|
4160 | UserValidation failed |
4170 | When user enter wrong OTP/MPIN |
4000 | Operation failed due to sytem failue |
4040 | No result found for give API call |
4001 | When user is not authorized to perform the action |
2000 | API Executed successfully, result object will be available |
OP-#1
URL
/uiObjects/endpoint/v3/onboarding/status/{userType}/{mobile}
MethodHTTP GET
MediaTypeapplication/json
Field | Description |
---|---|
userType | Path Variable - value subAgent or customer |
mobile | Path Variable - User Mobile Like: 9999999999 |
{"status":{"message":null,"code":2000},"result":{"isOldUser":"true"}}
curl --location 'https://{domain}/uiObjects/endpoint/v3/onboarding/status/subAgent/9648137703' \
--header 'request-time: 1735230558285' \
--header 'Authorization: Bearer 9a6382cc-364c-449c-b9e6-f931f4fa1dcc'
OP-#2
URL
/uiObjects/endpoint/v3/paymentSource
MethodHTTP GET
MediaTypeapplication/json
{"status":{"message":"success","code":2000},"result":["bank","wallet"]}
curl --location 'https://{domain}/uiObjects/endpoint/v3/paymentSource' \
--header 'accept: */*' \
--header 'request-time: 1735215335011' \
--header 'Authorization: bearer 55df03da-2384-481f-b9a7-209a2c26f1ff'
OP-#3
URL
/uiObjects/endpoint/v3/security/otp
MethodHTTP POST
MediaTypeapplication/json
Payload
{
"object" : [sender mobile]
}
{ "status": { "message": "otp.sent.successfully", "code": 2000 }, "result": { "state": "5e170a7a-e673-4ba7-a618-09a716338498" } }
Field | Description |
---|---|
state | This can be passed to consent header of API |
curl --location 'https://{domain}/uiObjects/endpoint/v3/security/otp' \
--header 'request-time: 1735215335011' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 55df03da-2384-481f-b9a7-209a2c26f1ff' \
--data '{
"object": 9999888844
}'
OP-#4
URL
/uiObjects/endpoint/v3/user/tag/{userType}/{mobile}
MethodHTTP POST
MediaTypeapplication/json
Header :
Consent : [Consent]
Field | Description |
---|---|
Consent | OTP<Space> [OTP Get from API#3]<Space> [state from API#-3],MPIN [MPIN in case required] or NONE |
Field | Description |
---|---|
userType | Path Variable - value subAgent or customer |
mobile | Path Variable - User Mobile Like: 9999999999 |
Customer Response
{ "status": { "message": null, "code": 2000 }, "result": { "tagId": "7416452b-623e-4b66-97e1-e36a81e0313b", "remark": "Customer already register with us.", "userType": "customer", "status": true } }
SubAgent Response
{ "status": { "message": null, "code": 2000 }, "result": { "tagId": "d4e6ccca-102c-4e4e-803b-81c827e2bf73", "remark": "SubAgent already register with us.", "userType": "subAgent", "status": true } }
curl --location --request POST 'https://{domain}/uiObjects/endpoint/v3/user/tag/{userType}/9999888811' \
--header 'request-time: 1735115068606' \
--header 'Consent: OTP 123456 fffc422e-7fce-437a-8108-27b04acbd078' \
--header 'Authorization: Bearer 40ba64bd-94a8-47a7-9f62-52ec36cc5b53'
OP-#5
URL
/uiObjects/endpoint/v3/sender/securityScheme/{SenderId}
MethodHTTP GET
MediaTypeapplication/json
Field | Description |
---|---|
senderId | Path Variable - TagId From API-#4 |
subAgentTagId | Request Params - TagId From API-#4 |
{ "status": { "message": null, "code": 2000 }, "result": { "scheme": "OTP" } }
curl --location 'https://{domain}/uiObjects/endpoint/v3/sender/securityScheme/7416452b-623e-4b66-97e1-e36a81e0313b?subAgentTagId=d4e6ccca-102c-4e4e-803b-81c827e2bf73' \
--header 'request-time: 1735116772925' \
--header 'Authorization: Bearer 40ba64bd-94a8-47a7-9f62-52ec36cc5b53'
OP-#6
URL
/uiObjects/endpoint/v3/sender/{SenderId}
MethodHTTP GET
MediaTypeapplication/json
Field | Description |
---|---|
senderId | Path Variable - TagId From API-#4 |
subAgentTagId | Request Params - TagId FromAPI-#4 |
Header :
Consent : [Consent]
Field | Description |
---|---|
Consent | OTP [OTP Get from API#3] [state from API#-3],MPIN [MPIN in case required] or NONE |
{ "status": { "message": null, "code": 2000 }, "result": { "senderName": "ROHIT SINGH", "kycStatus": { "kyc_status": "COMPLETED", "kyc_expired_on": "2025-12-20 19:35:41", "kyc_required": false, "taxation_required": false }, "limitLeft": { "MONTHLY": 50000.0 }, "senderMobile": 9999888811, "sessionId": { "fundtransferSessionId": "afc2d5cf-a105-42d8-a2fe-028824f78315", "getBalanceSessionId": "d162d737-312c-4135-bb9b-b74ee333cd11" }, "beneficiaries": [ { "accountNumber": "87654345678909", "ifscCode": "SBIN0011214", "accountHolderName": "DEMO", "beneficiaryId": "1088", "status": "true" } ] } }
curl --location 'https://{domain}/uiObjects/endpoint/v3/sender/7416452b-623e-4b66-97e1-e36a81e0313b?subAgentTagId=d4e6ccca-102c-4e4e-803b-81c827e2bf73' \
--header 'Consent: OTP 123456 5e170a7a-e673-4ba7-a618-09a716338498' \
--header 'request-time: 1735118176991' \
--header 'Authorization: Bearer 40ba64bd-94a8-47a7-9f62-52ec36cc5b53'
OP-#7
URL
uiObjects/endpoint/v3/sender/beneficiary/{SenderId}
MethodHTTP POST
MediaTypeapplication/json
Field | Description |
---|---|
senderId | Path Variable - TagId From API-#4 |
subAgentTagId | Request Params - TagId From API-#4 |
Header :
Consent : [Consent]
Field | Description |
---|---|
Consent | OTP [OTP Get from API#3] [state from API#-3],MPIN [MPIN in case required] or NONE |
{
"accountNo": "87654345678909",
"ifscCode": "SBIN0011214",
"name": "DEMO"
}
{ "status": { "message": null, "code": 2000 }, "result": { "beneficiaryId": 1088 } }
curl --location 'https://{domain}/uiObjects/endpoint/v3/sender/beneficiary/7416452b-623e-4b66-97e1-e36a81e0313b?subAgentTagId=d4e6ccca-102c-4e4e-803b-81c827e2bf73' \
--header 'Consent: OTP 123456 5e170a7a-e673-4ba7-a618-09a716338498' \
--header 'request-time: 1735120825645' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0b2a110a-11d3-4a22-b072-0a7e0219811a' \
--data '{
"accountNo": "87654345678909",
"ifscCode": "SBIN0011214",
"name": "DEMO"
}'
OP-#8
URL
/wallet/endpoint/v3/fundTransfer/securityScheme/{SenderId}
MethodHTTP POST
MediaTypeapplication/json
Field | Description |
---|---|
senderId | Path Variable - TagId From API-#4 |
subAgentTagId | Request Params - TagId From API-#4 |
paymentSource | Request Params - wallet /bank |
{ "status": { "message": null, "code": 2000 }, "result": { "scheme": "OTP" } }
curl --location --request POST 'https://{domain}/wallet/endpoint/v3/fundTransfer/securityScheme/7416452b-623e-4b66-97e1-e36a81e0313b?paymentSource=Wallet&subAgentTagId=d4e6ccca-102c-4e4e-803b-81c827e2bf73' \
--header 'request-time: 1735127728063' \
--header 'Authorization: Bearer 0b2a110a-11d3-4a22-b072-0a7e0219811a'
OP-#9
URL
/wallet/endpoint/v3/fundTransfer/request/{sessionId}
MethodHTTP POST
MediaTypeapplication/json
Field | Description |
---|---|
sessionId | Path Params - SessionId From API-#6 |
subAgentTagId | Request Params - TagId From API-#4 |
{
"amount": 120.00,
"correlationId": "9987654",
"from": "7416452b-623e-4b66-97e1-e36a81e0313b",
"to": "1088",
"type": "imps",
"options": {
"userAgent": "Mozilla/5.0",
"sourceAddress": "192.168.1.1",
"geoTag": "37.7749,122.4194"
}
}
{ "status": { "message": null, "code": 2000 }, "result": { "invoiceId": "7035" } }
curl --location 'https://{domain}/wallet/endpoint/v3/fundTransfer/request?sessionId=7f3aca61-aec4-46de-8dad-720e434ca531&subAgentTagId=58e56bd7-06ac-4c3e-a484-f188be38ac0d' \
--header 'Consent: OTP 123456 5e170a7a-e673-4ba7-a618-09a716338498' \
--header 'request-time: 1735050502300' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 77158757-8275-4705-8c70-d0d4f4d41d57' \
--data '{
"amount": 120.00,
"correlationId": "9987654",
"from": "5a86711e-2c01-4943-ac20-ebf86f09258b",
"to": "1088",
"type": "imps",
"options": {
"userAgent": "Mozilla/5.0",
"sourceAddress": "192.168.1.1",
"geoTag": "37.7749,122.4194"
}
}'
userAgent
, sourceAddress
,geoTag
should be taken from the SubAgent Machine. we will verify in a UAT SignUP.OP-#10
URL
/wallet/endpoint/v3/status/{correlationId}
MethodHTTP GET
MediaTypeapplication/json
Field | Description |
---|---|
correlationId | Path Variable - correlationId From API-#9 |
subAgentTagId | Request Params - TagId From API-#4 |
{ "status": { "message": null, "code": 2000 }, "result": { "invoiceId": 7035, "message": "Transaction completed successfully", "status": "COMPLETED" } }
curl --location 'https://{domain}/wallet/endpoint/v3/status/99877613445?subAgentTagId=58e56bd7-06ac-4c3e-a484-f188be38ac0d&statusCheckType=null' \
--header 'request-time: 1735051807944' \
--header 'Authorization: Bearer 77158757-8275-4705-8c70-d0d4f4d41d57'
COMPLETED -> Our system accepted request successfully and you need to check txn status by calling API-#11
FAILED -> Our system rejected txn request due to any validation or system exception and txn not submitted to Bank.
PENDING -> Txn under processing .
OP-#11
URL
/wallet/endpoint/v3/invoice/{invoiceId}
MethodHTTP GET
MediaTypeapplication/json
Field | Description |
---|---|
invoiceId | Path Variable - invoiceId From API-#9 |
subAgentTagId | Request Params - TagId From API-#4 |
{ "status": { "message": null, "code": 2000 }, "result": { "amount": [amount], "beneficiaryName": "[beneficiaryName]", "transactionId": "[Bank Transaction Id]", "status": "[Transaction Actual Status]","bankRRN":[bankRRN],"isDelayed":"true" } ] }
curl --location 'https://{domain}/wallet/endpoint/v3/invoice/7035?subAgentTagId=58e56bd7-06ac-4c3e-a484-f188be38ac0d' \
--header 'request-time: 1735051882691' \
--header 'Authorization: Bearer 77158757-8275-4705-8c70-d0d4f4d41d57'
COMPLETED -> Txn successfully done
FAILED -> Txn failed.
PENDING -> Txn under processing.
isDelayed -> If isDelayed is true, the amount will be settled in the customer's wallet; otherwise, it will be settled in the merchant's wallet.
OP-#12
URL
/uiObjects/endpoint/v3/sender/mpin/{senderId}
MethodHTTP PUT
MediaTypeapplication/json
Field | Description |
---|---|
senderId | Path Variable - senderId From API-#4 |
subAgentTagId | Request Params - TagId From API-#4 |
{
"mpin": "1234",
"otp": "123456",
"state": "4667b4c4-e050-4777-99ea-a8684a49a5c7"
}
{ "status": { "message": null, "code": 2000 }, "result": { "mobile": 9999888844 } }
curl --location --request PUT 'https://{domain}/uiObjects/endpoint/v3/sender/mpin/5a86711e-2c01-4943-ac20-ebf86f09258b?subAgentTagId=58e56bd7-06ac-4c3e-a484-f188be38ac0d' \
--header 'request-time: 1735053416646' \
--data '{
"mpin": "1234",
"otp": "123456",
"state": "6e9b119a-c6f1-42ab-b89a-17d297f01a2b"
}'
OP-#13
URL
uiObjects/endpoint/v3/sender/{senderId}/beneficary/{id}
MethodHTTP POST
MediaTypeapplication/json
Field | Description |
---|---|
senderId | Path Variable - TagId From API-#4 |
subAgentTagId | Request Params - TagId From API-#4 |
beneficaryID | Path Variable - BeneficaryID From API-#7 |
{
"object": true
}
{ "status": { "message": "activate.beneficiary.success", "code": 2000 }, "result": null }
OP-#14
URL
/wallet/endpoint/v3/balance/{senderId}
MethodHTTP GET
MediaTypeapplication/json
Field | Description |
---|---|
senderId | Path Variable - TagId From API-#4 |
subAgentTagId | Request Params - TagId From API-#4 |
sessionId | Request Params - SessionId From API-#6 |
{ "status": { "message": null, "code": 2000 }, "result": { "mainAccount": 0.00, "cashbackAccount": 0.00, "limits": {}, "counters": {} } }
curl --location 'https://{domain}/wallet/endpoint/v3/balance/7416452b-623e-4b66-97e1-e36a81e0313b?subAgentTagId=58e56bd7-06ac-4c3e-a484-f188be38ac0d&sessionId=d5e22140-b2fc-4bd9-bd94-328d063bb47e' \
--header 'request-time: 1735052856344' \
--header 'Authorization: Bearer 43d6643e-c031-477b-8856-d4efe4d1069c'
OP-#15
URL
/wallet/endpoint/v3/balance/agent
MethodHTTP GET
MediaTypeapplication/json
{ "status": { "message": null, "code": 2000 }, "result": [ { "walletType": "MAIN_WALLET", "walletBalance": 100900 }, { "walletType": "TRADE_WALLET", "walletBalance": 0 }, { "walletType": "CASHBACK_WALLET", "walletBalance": 0 }, { "walletType": "OVER_DRAFT_WALLET", "walletBalance": 0 } ] }
curl --location 'https://{domain}/wallet/endpoint/v3/balance/agent' \
--header 'request-time: 1697004173838' \
--header 'Authorization: Bearer b5393922-bdb6-40b7-ae6a-7168a7e03b42'
OP-#16
URL
/uiObjects/endpoint/v3/ekyc/onboarding/ekycRequest
MethodHTTP POST
MediaTypeapplication/json
SubAgent Payload
{ "email": "abcd@gmail.com", "fatherName": "tesst TB", "gstInNumber": "maanpbt7899b1zm", "mobile": 9934760666, "name": "Chhotu Test", "pan": "ANPYR7899V", "subAgentTag": "", "userType": "subAgent"}
Customer Payload
{ "email": "abcd@gmail.com", "fatherName": "", "gstInNumber": "", "mobile": 9999888832, "name": "Testt Pawan", "pan": "", "subAgentTag": "8d44aaa2-7fd0-4af7-a41f-f6a5ffefd367", "userType": "customer"}
{ "status": { "message": null, "code": 2000 }, "result": { "expire_on": "2024-12-25 15:41:58", "url": "https://{domain}/proxy/endpoint/v3/ekyc/onboarding/ekyc-process?payload=tnm9x29AaenqQSeYHXfNB7h6Kmk3Rz5nctddCKtl5Fme5XP62vtblqmIpiSbaUNuRtTG%252BLuOb6upy%252BC5x5KLazJI%252Bf31ZLv9C3jwG0O8b80aORRPhh3Xc2hs9N8wfo%2FnLXj0HT9zILC%252BU1GCjO8%252B3w%3D%3D&session=e1ecbc3e-7d16-4198-8ca2-965da445208d&authId=588" } }
curl --location 'https://{domain}/uiObjects/endpoint/v3/ekyc/onboarding/ekycRequest' \
--header 'accept: */*' \
--header 'request-time: 1735224629737' \
--header 'Authorization: Bearer 9a6382cc-364c-449c-b9e6-f931f4fa1dcc' \
--header 'Content-Type: application/json' \
--data-raw '{ "email": "testpawan1@gmail.com", "fatherName": "", "gstInNumber": "", "mobile": 9999888832, "name": "Testt Pawan", "pan": "", "subAgentTag": "8d44aaa2-7fd0-4af7-a41f-f6a5ffefd367", "userType": "customer"}'
Customer Callback
{"status":{"message":null,"code":2000},"result":{"onboardingStatus":"COMPLETED","onboardingRemark":"Successfully Matched.","senderId":"2ec2344c-1e24-4dfd-943e-a5cc7a5c78bf","mobile":8799754264,"action":"ONBOARDED","agentName":"Rahul Tiwari","userType":"customer","userName":"Pawan Kumar Saini","userOnboardingStatus":"COMPLETED","onboardingDate":"2024-12-26 17:47:56","subAgentTag":"4a64f3db-ad3f-41c5-b654-5efae3137368"}}
SubAgent Callback
{"status":{"message":null,"code":2000},"result":{"onboardingStatus":"COMPLETED","onboardingRemark":"Successfully Matched.","subAgentId":"2ec2343c-1f23-4dfd-943e-a5cc7z8c78bf","partnerName":"rohit singh","mobile":8799754265,"action":"ONBOARDED","userType":"subAgent","userName":"Pawan Kumar Saini","userOnboardingStatus":"COMPLETED","onboardingDate":"2024-12-26 18:02:07"}}
tagId
and status, providing a response to your callback URL indicating whether the process was successful or failed. Kindly share your callback URL.