Data-Load-API (4.0)
Download OpenAPI specification:
The Data Load API allows you to automate a number of AML processes via REST API:
- Loading or amending Customer, Account and Transaction (CAT) information
- Watchlist screening tasks via a REST API
- Real-time transaction monitoring
- Loading Suspicious Matter Reports
- On demand applicant and customer screening
This API is hosted in Amazon Web Services (AWS), so can be integrated into any API based system relatively easily. It supports bulk loading of customer, account, and transaction data. After data is loaded, predefined rule processing jobs and screening jobs are executed. These jobs will generate any relevant alerts or reports in Jade Thirdeye, based on your risk-based configuration decisions.
Authentication
This API uses a dual authentication mechanism:
- API Key Authentication: All requests require a valid API key in the x-api-key header provided by Jade ThirdEye.
- Bearer Token Authentication: Requests must include a valid JWT token in the
Authorizationheader with the formatBearer {token}.
This token, along with the required Client-Id and Reporting-Entity headers, is used to authorize access to specific API resources.
For OAuth 2.0 flows, the API supports the authorization code flow that enables secure user authentication through an external identity provider.
Create or Update Customers
Create, update, and screen customer records in Jade ThirdEye. The customer API will update an existing customer if the customerNumber exists, otherwise it will create a new record. Up to 1000 new or updated customers can be batched in a call.
Authorizations:
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Request Body schema: application/jsonrequired
required | Array of EntityCustomer (object) or PersonCustomer (object) [ 1 .. 1000 ] items Customers can be loaded in batches of up to 1000 |
Responses
Request samples
- Payload
{- "customers": [
- {
- "customerNumber": "ABC123",
- "effectiveFrom": "2021-06-30T13:45:00Z",
- "type": "P",
- "firstName": "Alice",
- "lastName": "Anderson",
- "dateOfBirth": "1999-11-21",
- "gender": "F",
- "additionalProperties": [
- {
- "name": "addressLine1",
- "value": "221B Baker Street"
}, - {
- "name": "addressLine2",
- "value": "Baker Street"
}, - {
- "name": "suburb",
- "value": "London"
}, - {
- "name": "state",
- "value": "London"
}, - {
- "name": "countryCode",
- "value": "GB"
}
]
}, - {
- "customerNumber": "1003",
- "effectiveFrom": "2021-12-01T12:02:00Z",
- "type": "E",
- "entityName": "ABC Enterprises Limited",
- "additionalProperties": [
- {
- "name": "addressLine1",
- "value": "123 Main Street"
}, - {
- "name": "addressLine2",
- "value": "Thames Street"
}, - {
- "name": "suburb",
- "value": "London"
}, - {
- "name": "state",
- "value": "London"
}, - {
- "name": "countryCode",
- "value": "GB"
}
]
}
]
}Create or Update Accounts
Create and update account records in Jade ThirdEye. The account API will update an existing account if the accountNumber exists, otherwise it will create a new record. Up to 1000 new or updated accounts can be batched in a call.
Authorizations:
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Request Body schema: application/json
required | Array of objects (Account) [ 1 .. 1000 ] items Accounts can be loaded in batches of up to 1000 |
Responses
Request samples
- Payload
{- "accounts": [
- {
- "effectiveFrom": "string",
- "accountNumber": "123405678910-01",
- "customerNumbers": [
- "123ABC"
], - "openDate": "2021-06-30T13:45:00Z",
- "closeDate": "string",
- "accountName": "Generic Trading Ltd Operations Account 1"
}
]
}Create Transactions
Create transaction records in JTE.
Authorizations:
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Request Body schema: application/json
required | Array of objects (Transaction) [ 1 .. 1000 ] items Transactions can be loaded in batches of up to 1000 |
Responses
Request samples
- Payload
{- "transactions": [
- {
- "accountNumber": "123405678910-01",
- "amount": "1200.50",
- "debit": false,
- "transactionDateTime": "2021-06-30T13:45:00Z",
- "transactionId": "ba1834cc-9ed4-4511-868a-6b8f30edf284",
- "transactionType": "CCPI"
}
]
}Load and create a Suspicious Matter Report
Load details into Jade ThirdEye for a single suspicious-matter-reports.
Authorizations:
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Request Body schema: application/jsonrequired
required | Array of objects (Entity) <= 50 items IDs for customers, accounts and transaction associated with this report. |
| ReportType required | stringSMR The type of report being loaded. |
required | object The report content. |
Responses
Request samples
- Payload
{- "Entities": [
- {
- "EntityId": "12345",
- "EntityType": "Customer"
}
], - "ReportType": "SMR",
- "Report": {
- "ReportingEntityDetails": {
- "BranchId": "200",
- "BranchName": "branchA",
- "Address": {
- "CountryCode": "GB",
- "Address": "17 George Street",
- "Suburb": "Downtown",
- "State": "London",
- "Postcode": "9999"
}
}, - "CustomerSuspicionDetails": [
- {
- "EntityId": "123456789",
- "IsSuspicious": false,
- "IsAuthorisedAgent": false,
- "Relationship": "Grandpa",
- "Evidence": "This person came into the branch and was acting extremely nervous and asking very strange questions."
}
], - "SuspiciousMatterDetails": {
- "OtherSuspiciousReason": "When asked for ID he left quickly.",
- "DesignatedServices": [
- "BET_ACC",
- "BULSER"
], - "SuspiciousReasons": [
- "AT",
- "AF"
], - "GroundsForSuspicion": "Did not like him",
- "DesignatedServicesType": "Provided",
- "GrandTotal": 2678
}, - "UnknownPersons": [
- {
- "Description": "Extremely bad guy",
- "SupportingDoc": true,
- "DocDescription": "Photos of the person at the branch."
}, - {
- "Description": "Extremely bad girl",
- "SupportingDoc": true,
- "DocDescription": "Photos and video of the person at the branch."
}
], - "AdditionalDetails": {
- "OffenceType": "TF",
- "PriorReports": [
- {
- "PreviousReportDate": "2022-07-29",
- "PreviousReportId": "123456-ABC"
}
], - "GovernmentBodies": [
- {
- "Address": {
- "Address": "23 Green Street",
- "Suburb": "Ekatahuna",
- "State": "Kantaberry",
- "Postcode": "9999",
- "CountryCode": "AU"
}, - "DateReported": "2022-08-01",
- "Name": "SISO",
- "RelatedInfo": "Police confirmed a man, 27, had been arrested following the attack and is due to appear in Counties Manukau District Court today charged with intent to injure.The man was Tasered after fleeing from police on foot and assaulting the officer."
}
]
}, - "SuspectedTerrorism": false
}
}Get Report Response Messages
Get report response messages for a specific request.
Authorizations:
path Parameters
| requestId required | string The unique identifier of request |
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Responses
Response samples
- 200
{- "requestId": "c4a13434-3a35-46b8-9a4c-5gt43e251fc5",
- "reportId": 102,
- "client": "string",
- "reportingEntity": "string",
- "reportType": "SMR",
- "requestReceived": "2022-03-20T14:17:45Z",
- "reportLoaded": true,
- "reportStatus": "InformationRequired",
- "errors": [
- {
- "fieldPath": "entities/cust001",
- "type": "input",
- "message": "Customer cust001 not found"
}, - {
- "fieldPath": "entities/tran001",
- "type": "input",
- "message": "Transaction tran001 not found"
}, - {
- "fieldPath": "customerSuspicionDetails/cust002",
- "type": "input",
- "message": "Customer cust002 is not provided in the entities list"
}, - {
- "fieldPath": "",
- "type": "general",
- "message": "file is already processed"
}
], - "warnings": [
- {
- "fieldPath": "Smr/AustracEntities/Grid/0/AustracEntity/Person/EntityType/Group2/DateOfBirth",
- "type": "input",
- "message": "Date must be DD/MM/YYYY"
}, - {
- "fieldPath": "Smr/AustracEntities/Grid/0/AustracEntity/EntityType",
- "type": "input",
- "message": "This is required"
}, - {
- "fieldPath": "Smr/AustracSuspiciousMatterReportingEntity/BranchId",
- "type": "mapping",
- "message": "Can not map the data to the field"
}
]
}Get response messages for a specific request
For customers, accounts, and transactions when requests are received, the system will trigger data loading and rule processing jobs asynchronously and the response will not be available immediately. This endpoint takes the request ID as a parameter and provides detailed response messages, such as data loading, rule processing status, and any warnings/errors.
Authorizations:
path Parameters
| requestId required | string The unique identifier of request |
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Responses
Response samples
- 200
{- "requestId": "c4a14618-3b35-46b8-aa4c-4799fe251fc5",
- "client": "string",
- "reportingEntity": "string",
- "entityType": "Account",
- "actionType": "PUT",
- "requestReceived": "2022-03-20T14:17:45Z",
- "entitiesCount": 1000,
- "entitiesAddedCount": 800,
- "entitiesIgnoredCount": 800,
- "entitiesUpdatedCount": 100,
- "entitiesNotUpdatedCount": 50,
- "entitiesNotLoadedWithErrorsCount": 50,
- "entitiesLoadedWithWarningsCount": 20,
- "entitiesAdded": [
- "ABC123",
- "ABC124"
], - "entitiesUpdated": [
- "ABC123",
- "ABC124"
], - "entitiesNotUpdated": [
- "ABC123",
- "ABC124"
], - "entitiesNotLoadedWithErrors": [
- {
- "recordId": "1",
- "entityId": "10001-001",
- "messages": [
- [
- "Invalid data of birth 9999-09-09",
- "Invalid effective date 9999-09-09 "
]
]
}
], - "entitiesLoadedWithWarnings": [
- {
- "recordId": "1",
- "entityId": "10001-001",
- "messages": [
- [
- "Invalid data of birth 9999-09-09",
- "Invalid effective date 9999-09-09 "
]
]
}
], - "entitiesIgnored": [
- {
- "recordId": "1",
- "entityId": "10001-001",
- "messages": [
- [
- "Invalid data of birth 9999-09-09",
- "Invalid effective date 9999-09-09 "
]
]
}
]
}Endpoints related to managing applicants, including health checks, creating applicants, and checking screening statuses.
Applicant Health Check
This endpoint is used to check the health of the connection between the API Gateway and the Financial Crime instance. It returns a simple JSON response indicating whether the connection is healthy or not.
Authorizations:
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Responses
Response samples
- 200
{- "status": "Healthy"
}Create and screen an applicant
This endpoint is used to create and screen an applicant in the system. It accepts a JSON payload containing the applicant's details and returns a response indicating the success or failure of the operation and whether there was a match when screening.
Authorizations:
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Request Body schema: application/jsonrequired
object The applicant details. |
Responses
Request samples
- Payload
{- "applicant": {
- "applicantId": "1234",
- "customerType": "P",
- "firstName": "John",
- "lastName": "Smith",
- "dateOfBirth": "1978-03-21",
- "gender": "M",
- "effectiveFrom": "2024-06-30T13:45:00Z",
- "additionalProperties": [
- {
- "name": "addressLine1",
- "value": "221B Baker Street"
}, - {
- "name": "addressLine2",
- "value": "Baker Street"
}, - {
- "name": "suburb",
- "value": "London"
}, - {
- "name": "state",
- "value": "London"
}, - {
- "name": "countryCode",
- "value": "GB"
}
]
}
}Response samples
- 200
{- "loadApplicantResponse": {
- "applicantId": "A12347",
- "matchFound": true,
- "messages": [
- [ ]
]
}, - "hasBeenProcessed": true,
- "requestId": "15ca0d91-c9de-4dfa-a41a-f6963355f1d0"
}Check the screening status of an applicant
Checks the screening status of an applicant by their unique identifier. It returns a JSON response indicating the applicant's details and screening status.
Authorizations:
path Parameters
| applicantId required | string The unique identifier of applicant that is being checked |
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Responses
Response samples
- 200
{- "applicantId": "1234",
- "customerType": "P",
- "firstName": "John",
- "lastName": "Smith",
- "entityName": "",
- "screeningStatus": "Not Started",
- "alertId": "",
- "requestId": "16ca0d91-c9de-4dfa-a41a-f6963355f1d0"
}Check the screening status of a customer
Checks the screening status of a customer by their unique identifier. It returns a JSON response indicating the customer's details and screening status.
Authorizations:
path Parameters
| customerId required | string The unique identifier of the customer to screen |
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Responses
Response samples
- 200
{- "customerId": "1234",
- "customerType": "P",
- "firstName": "John",
- "lastName": "Smith",
- "entityName": "",
- "screeningStatus": "Not Started",
- "alertId": "",
- "requestId": "16ca0d91-c9de-4dfa-a41a-f6963355f1d0"
}Screen a customer
This endpoint is used to screen a customer in the system. It accepts a customer ID as a query parameter and returns a response indicating the success or failure of the operation and whether there was a match when screening.
Authorizations:
path Parameters
| customerId required | string The unique identifier of the customer to screen |
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Responses
Response samples
- 200
{- "customerNumber": "1234",
- "messages": [ ],
- "matchFound": false
}Monitor real-time transaction
This endpoint is used to load and monitor a pending transaction within the system. It accepts a JSON payload containing transaction details and returns a response that includes a risk assessment outcome and details of any real time alerts generated for the pending transaction.
Authorizations:
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Request Body schema: application/jsonrequired
| accountNumber required | string [ 1 .. 80 ] characters The unique identifier for the account |
| amount required | string The amount of money transferred through this transaction |
| debit required | string To check if the transaction is debit or not |
| transactionDateTime required | string <date-time> The UTC date and time on which this transaction was made |
| transactionId required | string [ 1 .. 50 ] characters The unique identifier for this specific transaction |
| transactionType required | string The type of transaction configured for your reporting entity |
Array of objects Additional properties related to the pending transaction. |
Responses
Request samples
- Payload
{- "accountNumber": "123405678910-01",
- "amount": "1200.50",
- "debit": "false",
- "transactionDateTime": "2021-06-30T13:45:00Z",
- "transactionId": "ba1834cc-9ed4-4511-868a-6b8f30edf284",
- "transactionType": "CCPI",
- "additionalProperties": [
- {
- "name": "fromCountry",
- "value": "AU"
}
]
}Response samples
- 200
{- "transactionId": "1234",
- "summary": "Risk – Rules matched",
- "rulesProcessed": [
- "Real-time_transaction"
], - "realTimeRuleAlerts": [
- {
- "id": 11,
- "alertStatus": "Pending Review",
- "rules": [
- {
- "ruleId": "9c974ae7-e7b0-445e-a8ea-314874cf83fd",
- "ruleName": "Realtime_transaction_rule",
- "dataType": "Transaction",
- "score": 40
}
], - "account": {
- "accountNumber": "100-10003",
- "accountName": "C C Cheeseman"
}, - "transactions": [
- {
- "transactionId": "d1666111777567",
- "transactionDate": "2023-11-01T19:30:00Z",
- "amount": 10000000000,
- "debit": false
}
], - "score": 170
}
], - "transactionErrors": [
- {
- "responseType": "Error",
- "message": "Duplicate transaction number",
- "rules": [
- "Realtime_transaction_rule"
]
}
], - "hasBeenProcessed": true,
- "requestId": "15ca0d91-c9de-4dfa-a41a-f6963355f1d0",
- "error": "null"
}Check the real-time transaction monitoring status
Checks the monitoring status of a pending transaction by its unique identifier. It returns a JSON response containing the risk assessment outcome and details of any real time alerts generated for the pending transaction.
Authorizations:
path Parameters
| transactionId required | string The unique identifier of pending transaction that is being checked |
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Responses
Response samples
- 200
{- "transactionId": "1234",
- "summary": "Risk – Rules matched",
- "rulesProcessed": [
- "Real-time_transaction"
], - "realTimeRuleAlerts": [
- {
- "id": 11,
- "alertStatus": "Pending Review",
- "rules": [
- {
- "ruleId": "9c974ae7-e7b0-445e-a8ea-314874cf83fd",
- "ruleName": "Realtime_transaction_rule",
- "dataType": "Transaction",
- "score": 40
}
], - "account": {
- "accountNumber": "100-10003",
- "accountName": "C C Cheeseman"
}, - "transactions": [
- {
- "transactionId": "d1666111777567",
- "transactionDate": "2023-11-01T19:30:00Z",
- "amount": 10000000000,
- "debit": false
}
], - "score": 170
}
], - "transactionErrors": [
- {
- "responseType": "Error",
- "message": "Duplicate transaction number",
- "rules": [
- "Realtime_transaction_rule"
]
}
], - "hasBeenProcessed": true,
- "requestId": "15ca0d91-c9de-4dfa-a41a-f6963355f1d0",
- "error": "null"
}Transaction Monitoring Health Check
This endpoint is used to check the health of the connection between the API Gateway and the Financial Crime instance. It returns a simple JSON response indicating whether the connection is healthy or not.
Authorizations:
header Parameters
| Client-Id required | string Your unique client identifier supplied by Jade Thirdeye. |
| Reporting-Entity required | string The name of reporting entity. |
Responses
Response samples
- 200
{- "status": "Healthy"
}