Transact Comply offers a transaction monitoring platform with an API-style output tailored for developer documentation. It enables users to analyze and evaluate transactions to detect suspicious activity using flexible scenarios and a comprehensive rule library. This document provides an overview of the API, authentication process, details on Transact Comply API usage, sample request and response structures, and specifications of data fields.
The Transact Comply API is designed to seamlessly integrate with third-party platforms, providing comprehensive transaction monitoring functionalities across various use cases.
The aim is to enable transaction monitoring functions in partners platform where monitoring can be done for single or multiple entities (via batch upload) for individuals and organizations..
Please contact us for API related information.
API displayed in the documentation is for representation purpose.
It follows standard OAuth2.0 architecture for authentication and authorization. OAuth is a delegated authorization framework for REST/APIs. It enables apps to obtain limited access (scopes) to a user's datawithout giving away a user's password. It decouples authentication from authorization and supports multiple use cases addressing different device capabilities.
Base URL: https://api.transactcomply.com/tmprocessor/tp/
End point : GetToken
Content-Type : application/x-www-form-urlencoded
Method: POST
{
"username": "abc@123",
"password": "123456",
"grant_type": "client_credentials"
}
{
"token":
{
"access_token": "***************************************",
"expires_in": 240,
"token_type": "Bearer"
}
}
Base URL: https://api.transactcomply.com/tmprocessor/tp/
End point : TransactionProcessorAPI
Method: POST
Authentication: access token recieved from authentication API
{
"projectId": 1,
"transaction_details": {
"transaction_id": "TRN-122",
"transaction_date": "14-04-2024",
"transaction_time": "11:22:04:021",
"type": "Deposit",
"mode_of_payment": "Cash deposit",
"status": "Completed",
"channel": "MOBILE",
"purpose": "Arms trafficking",
"sender_transaction_amount": "1010010",
"sender_transaction_country": "India",
"sender_transaction_currency": "INR",
"receiver_transaction_amount": "20202",
"receiver_transaction_country": "India",
"receiver_transaction_currency": "INR",
"quantity": null,
"price_per_unit": null,
"scrip_Code": null,
"scrip_id": null,
"CrrEntityId": null,
"CrrProjectId": 0
},
"entity_details": [
{
"entity_id": 0,
"entity_cd": "ETRN-122",
"entity_role": "Sender/Receiver",
"type": "Individual",
"name": "Sanyam Gill",
"alias": null,
"city": "Indore",
"state": "Madhya Pradesh",
"country": "India",
"residence": null,
"date_of_birth": null,
"month_of_birth": null,
"year_of_birth": null,
"email": "sanyam123@gmail.com",
"phone_number": "9645965667",
"gender": "Male",
"sector": "Hotels",
"status": "Active",
"date_of_registration": 12,
"month_of_registration": 5,
"year_of_registration": 2023,
"cin": null,
"din": null,
"passport_number": null,
"bank_name": "Bank of Madhya Pradesh",
"account_number": "45678901289",
"account_type": "Savings",
"nationality": "India",
"risk_profile": null,
"ip_address": null,
"device": "HP",
"bank_country": "India",
"bank_bic": null,
"bank_iban": null,
"annual_income_currency": null,
"annual_income_amount": null,
"annual_net_worth_currency": null,
"annumal_net_worth_amount": null,
"vpa_id": null
}
]
}
{
"isSuccess": false,
"message": null,
"transactionid": "TRN-122",
"entityid": null,
"batchId": 0,
"monitoringstatus": "Flag",
"MonitoredOn": "2024-12-19T10:39:56.077972+00:00",
"TransactionMonitoringStatus": null,
"SenderMonitoringStatus": "Flag",
"ReceiverMonitoringStatus": "Flag",
"TransactionMonitoringResultModels":
[{
"RunId": 149,
"MonitoringStatus": "Pass",
"RuleSettings": "{\"ProjectId\":11,\"RuleId\":\"TMR4\",\"RuleName\":\"High-Risk Jurisdiction Transactions\",\"Description\":\"Transactions involving high-risk jurisdictions\",\"RuleType\":\"live\",\"Settings\":\"{\\\"action\\\": \\\"Flag\\\", \\\"default\\\": \\\"Pass\\\", \\\"defaultaction\\\": \\\"Pass\\\", \\\"threshold_amount\\\": 100000}\",\"RuleCd\":\"rule_high_risk_transaction_country\",\"Category\":\"Country\",\"Class\":\"transaction\",\"DisplayName\":\"High-Risk Jurisdiction Transactions\",\"RuleBuilderJson\":null,\"userid\":0}",
"CheckResult": "{\"timestamp\":\"02-05-2024 01:16:08GMT\"}",
"CheckCounts": 0
}],
"EntitesMonitoringResultModels":
[{
"RunId": 149,
"EntityId": 2,
"MonitoringStatus": "Pass",
"RuleSettings": "{\"ProjectId\":11,\"RuleId\":\"SCR2\",\"RuleName\":\"Politically Exposed Persons\",\"Description\":\"Name is a High Match against Politically Exposed Perosn List\",\"RuleType\":\"live\",\"Settings\":\"{\\\"action\\\": \\\"Flag\\\", \\\"default\\\": \\\"Pass\\\", \\\"fuzziness\\\": \\\"0.1\\\", \\\"defaultaction\\\": \\\"Pass\\\", \\\"confidencescore\\\": {\\\"nomatch\\\": 0, \\\"lowmatch\\\": 75, \\\"exactmatch\\\": 90}, \\\"threshold_amount\\\": 0}\",\"RuleCd\":\"rule_name_match_peps\",\"Category\":\"Name Based\",\"Class\":\"name_matching\",\"DisplayName\":\"Politically Exposed Persons\",\"RuleBuilderJson\":null,\"userid\":0}",
"CheckResult": "[{\"RuleApplied\":null,\"Priority\":null,\"MatchStatus\":\"No Hit Found\",\"ConfidenceScore\":0.0,\"GivenId\":\"ETSN-122\",\"GivenName\":\"Sanyam Gill\",\"MatchedUID\":null,\"MatchedName\":null,\"Timestamp\":\"02-05-2024 01:16:08GMT\",\"MatchingCriteria\":\"PEPs\"}]",
"CheckCounts": 0
}]
}
Datafield Name | Type | Required | Length | Single | Multiple | Description |
---|---|---|---|---|---|---|
quantity | int | Yes | Yes | Transaction | ||
price_per_unit | int | Yes | Yes | Transaction | ||
scrip_Code | string | Yes | varchar(max) | Yes | Transaction | |
scrip_id | string | Yes | varchar(max) | Yes | Transaction | |
scrip_id | string | Yes | varchar(max) | Yes | Transaction | |
transaction_id | string | Yes | varchar(max) | Yes | Transaction | |
transaction_date | string | Yes | varchar(max) | Yes | Transaction | |
transaction_time | string | Yes | varchar(max) | Yes | Transaction | |
type | string | Yes | varchar(max) | Yes | Transaction | |
mode_Of_Payment | string | Yes | varchar(max) | Yes | Transaction | |
status | string | Yes | varchar(max) | Yes | Transaction | |
channel | string | Yes | varchar(max) | Yes | Transaction | |
purpose | string | Yes | varchar(max) | Yes | Transaction | |
sender_transaction_amount | string | Yes | varchar(max) | Yes | Transaction | |
sender_transaction_country | string | Yes | varchar(max) | Yes | Transaction | |
sender_transaction_currency | string | Yes | varchar(max) | Yes | Transaction | |
receiver_transaction_amount | string | Yes | varchar(max) | Yes | Transaction | |
receiver_transaction_country | string | Yes | varchar(max) | Yes | Transaction | |
receiver_transaction_currency | string | Yes | varchar(max) | Yes | Transaction |
Datafield Name | Type | Required | Length | Single | Multiple | Description |
---|---|---|---|---|---|---|
passport_number | string | No | varchar(20) | Yes | Entities | |
nationality | string | No | varchar(50) | Yes | Entities | |
risk_Profile | string | No | varchar(50) | Yes | Entities | |
ip_address | string | No | varchar(50) | Yes | Entities | |
device | string | No | varchar(100) | Yes | Entities | |
bank_country | string | Yes | varchar(max) | Yes | Entities | |
date_of_birth | int32 | No | 2 | Yes | Entities | |
month_of_birth | int32 | No | 2 | Yes | Entities | |
year_of_birth | int32 | No | 4 | Yes | Entities | |
phone_number | string | No | varchar(20) | Yes | Entities | |
bank_name | string | No | varchar(100) | Yes | Entities | |
annual_income_currency | string | No | varchar(20) | Yes | Entities | |
annual_income_amount | int | No | Yes | Entities | ||
annual_net_worth_currency | string | No | varchar(max) | Yes | Entities | |
annumal_net_worth_amount | int | No | Yes | Entities | ||
entity_id | int32 | Yes | varchar(max) | Yes | Entities | |
entity_Role | string | Yes | varchar(max) | Yes | Entities | |
type | string | Yes | varchar(50) | Yes | Entities | |
CIN | string | No | 27 | Yes | Entities | |
DIN | string | No | 15 | Yes | Entities | |
name | string | Yes | varchar(1000) | Yes | Entities | |
alias | string | No | varchar(1000) | Yes | Entities | |
city | string | No | varchar(100) | Yes | Entities | |
state | string | No | varchar(100) | Yes | Entities | |
country | string | Yes | varchar(100) | Yes | Entities | |
residence | string | No | varchar(100) | Yes | Entities | |
string | No | varchar(100) | Yes | Entities | ||
gender | string | No | varchar(10) | Yes | Entities | |
sector | string | No | varchar(100) | Yes | Entities | |
status | string | No | varchar(50) | Yes | Entities | |
date_of_Registration | int32 | No | 2 | Yes | Entities | |
month_of_Registration | int32 | No | 2 | Yes | Entities | |
year_of_Registration | int32 | No | 4 | Yes | Entities | |
account_number | string | No | varchar(50) | Yes | Entities | |
account_type | string | No | varchar(50) | Yes | Entities | |
bank_BIC | string | No | varchar(max) | Yes | Entities | |
bank_IBAN | string | No | varchar(max) | Yes | Entities |
Code | Response | Description |
---|---|---|
401 | Error: response status is 401 | The token expired |
400 | Bad request | Invalid Type. Type can only be either Individual, Organization, Vessels or All. |
408 | Request Timeout Error | The server did not receive a complete request from the client within the server's allotted timeout period. |
409 | Too Many Requests | The user has sent too many requests |
500 | Internal Server Error | The server has encountered a situation that it does not know how to handle |
504 | Gateway Timeout | The server is acting as a gateway and cannot get a response in time for a request. |
200 | Ok | Request recieved |
Copyright © 2025 ZIGRAM Data Technologies Pvt Ltd