Skip to main content

This page is intended for authenticated users.

Risk Scoring

The Financial Action Task Force (FATF) recommends a risk-based approach as an effective way to combat money laundering and terrorist financing. By adopting a risk-based approach, companies should be able to ensure that measures to prevent or mitigate money laundering and terrorist financing are commensurate with the risks identified, and would enable them to make decisions on how to allocate their own resources in the most effective way. As such, you should customize the risk assessment framework according to your Internal Policies, Procedures and Controls (IPPC) or compliance policy and not rely on the default settings.

The values for the variables selected are taken from your cases and its corresponding transactions.

Retrieve Risk Models

Retrieve all risk models

Request:

curl -X 'GET' \
'https://api.onehypernet.com/v1/rba/risk-models' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}'

JSON Response:

{
"data": [
{
"risk_model_id": "df2c5481-abac-460d-96cd-900f476907e8",
"case_type": "corporate",
"active": true,
"variables_count": 46,
"created_at": "2025-05-14T06:46:09.622Z",
"created_user": {
"id": "ea553e66-8c77-4d97-8b5c-970a9992e1a1",
"email": "admin@silvermoneytransfer.com",
"full_name": "Andy Lim"
}
},
{
"risk_model_id": "7a3ffdf1-8d2c-41ef-837b-2348a155dc81",
"case_type": "individual",
"active": true,
"variables_count": 55,
"created_at": "2025-05-05T03:14:06.508Z",
"created_user": {
"id": "ea553e66-8c77-4d97-8b5c-970a9992e1a1",
"email": "admin@silvermoneytransfer.com",
"full_name": "Andy Lim"
}
}
],
"metadata": {
"total": 2
}
}

GET /rba/risk-models

This endpoint retrieves all the risk models.

Query Parameters

You can filter via these query parameters.

ParameterTypeDescription
case_typeStringIndividual or Corporate
activeBooleantrue or false
limitIntegerNumber of results for pagination

Retrieve a single risk model

Request:

curl -X 'GET' \
'https://api.onehypernet.com/v1/rba/risk-models-settings?risk_model_id={risk_model_id}' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}'

GET /rba/risk-models-settings?risk_model_id={risk_model_id}

This endpoint retrieves the full details of a single risk model.

Create Risk Model

Create risk model of individual

Request:

curl -X 'POST' \
'https://api.onehypernet.com/v1/rba/risk-models?caseType=Individual' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/json' \

POST /rba/risk-model?caseType=Individual

This endpoint expects a complete list of risk variables with their assigned weights, scores, and activation flags. Due to the complexity and length of the payload, users are advised to first retrieve the full editable model.

  • GET /rba/risk-models-settings?risk_model_id={risk_model_id}

Post Parameters

Total weight must be exactly equal to 1.

Variable TypeVariable NameReference
Geographical RiskNationalityDefault Country Index
Geographical RiskCountry of BirthDefault Country Index
Geographical RiskCountry of ResidenceDefault Country Index
Geographical RiskID Issuing CountryDefault Country Index
Geographical RiskNationalityCorruption Perceptions Index (CPI)
Geographical RiskCountry of BirthCorruption Perceptions Index (CPI)
Geographical RiskCountry of ResidenceCorruption Perceptions Index (CPI)
Geographical RiskID Issuing CountryCorruption Perceptions Index (CPI)
Geographical RiskNationalityFATF Synthetic Index
Geographical RiskCountry of BirthFATF Synthetic Index
Geographical RiskCountry of ResidenceFATF Synthetic Index
Geographical RiskID Issuing CountryFATF Synthetic Index
Geographical RiskNationalityFinancial Secrecy Index (FSI)
Geographical RiskCountry of BirthFinancial Secrecy Index (FSI)
Geographical RiskCountry of ResidenceFinancial Secrecy Index (FSI)
Geographical RiskID Issuing CountryFinancial Secrecy Index (FSI)
Geographical RiskNationalityBasel Institute on Governance Anti-Money Laundering Index
Geographical RiskCountry of BirthBasel Institute on Governance Anti-Money Laundering Index
Geographical RiskCountry of ResidenceBasel Institute on Governance Anti-Money Laundering Index
Geographical RiskID Issuing CountryBasel Institute on Governance Anti-Money Laundering Index
Client RiskIndustryIndustry Index
Client RiskOccupationOccupation Index
Client RiskDuration as ClientClient Risk Index
Client RiskNew ClientClient Risk Index
Client RiskID ExpiryClient Risk Index
Client RiskID UploadedClient Risk Index
Client RiskID TypeClient Risk Index
Client RiskNetworthClient Risk Index
Operational RiskOnboarding ModeOperational Risk Index
Operational RiskSource of WealthOperational Risk Index
Operational RiskProduct ComplexityProduct Complexity
Client RiskRelated EntitiesCases
Transactional RiskTransaction ModeTransaction Risk Index
Transactional RiskPayment ModeTransaction Risk Index
Transactional RiskSource of FundsTransaction Risk Index
Transactional RiskPurpose of TransactionTransaction Risk Index
Transactional RiskBeneficial OwnerTransaction Risk Index
Transactional RiskCurrencyCurrency Index
Transactional RiskBehaviourTransaction Risk Index
Transactional RiskAverage Transaction AmountTransaction Risk Index
Transactional RiskMonthly Transaction VolumeTransaction Risk Index
Transactional RiskMonthly Transaction FrequencyTransaction Risk Index
Screening RiskAdverse MediaScreening Index
Screening RiskEnforcementScreening Index
Screening RiskPrimary PEPScreening Index
Screening RiskSecondary PEPScreening Index
Screening RiskSanctionsScreening Index
Screening RiskSOEScreening Index
Screening RiskAssociated EntityScreening Index
Screening RiskOwnership or ControlScreening Index
Screening RiskSWIFT BIC EntityScreening Index
Screening RiskFATCA Reg InstScreening Index
Screening RiskIHS OFAC VesselsScreening Index
Screening RiskIHS Reg VesselsScreening Index
Screening RiskMarijuana Reg BusScreening Index
Screening RiskUAE MSBScreening Index
Screening RiskUS MSBScreening Index

Create risk model of corporate

Request:

curl -X 'POST' \
'https://api.onehypernet.com/v1/rba/risk-models?caseType=Corporate' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/json' \

POST /rba/risk-model?caseType=Corporate

This endpoint expects a complete list of risk variables with their assigned weights, scores, and activation flags. Due to the complexity and length of the payload, users are advised to first retrieve the full editable model.

  • GET /rba/risk-models-settings?risk_model_id={risk_model_id}

Post Parameters

Total weight must be exactly equal to 1.

TypeNameReference
Geographical RiskCountry of IncorporationCorruption Perceptions Index (CPI)
Geographical RiskOperating CountryCorruption Perceptions Index (CPI)
Geographical RiskCountry of IncorporationFATF Index
Geographical RiskOperating CountryFATF Index
Geographical RiskCountry of IncorporationFinancial Secrecy Index (FSI)
Geographical RiskOperating CountryFinancial Secrecy Index (FSI)
Geographical RiskCountry of IncorporationBasel Institute on Governance Anti-Money Laundering Index
Geographical RiskOperating CountryBasel Institute on Governance Anti-Money Laundering Index
Client RiskEntity TypeClient Risk Index
Client RiskIndustryIndustry Index
Client RiskSecondary ActivityIndustry Index
Client RiskDuration as ClientClient Risk Index
Client RiskDuration of IncorporationClient Risk Index
Client RiskBeneficial ownerClient Risk Index
Client RiskNew ClientClient Risk Index
Client RiskLayers of OwnershipClient Risk Index
Client RiskNominee DirectorsClient Risk Index
Client RiskStaff StrengthClient Risk Index
Client RiskLocationClient Risk Index
Client RiskRelated EntitiesCases
Operational RiskOnboarding ModeOperational Risk Index
Operational RiskSource of WealthOperational Risk Index
Operational RiskProduct ComplexityProduct Complexity
Transactional RiskTransaction ModeTransaction Risk Index
Transactional RiskPayment ModeTransaction Risk Index
Transactional RiskSource of FundsTransaction Risk Index
Transactional RiskPurpose of TransactionTransaction Risk Index
Transactional RiskBeneficial OwnerTransaction Risk Index
Transactional RiskCurrencyCurrency Index
Transactional RiskBehaviourTransaction Risk Index
Transactional RiskAverage Transaction AmountTransaction Risk Index
Transactional RiskMonthly Transaction VolumeTransaction Risk Index
Transactional RiskMonthly Transaction FrequencyTransaction Risk Index
Screening RiskAdverse MediaScreening Index
Screening RiskEnforcementScreening Index
Screening RiskPrimary PEPScreening Index
Screening RiskSecondary PEPScreening Index
Screening RiskSanctionsScreening Index
Screening RiskSOEScreening Index
Screening RiskAssociated EntityScreening Index
Screening RiskOwnership or ControlScreening Index
Screening RiskSWIFT BIC EntityScreening Index
Screening RiskFATCA Reg InstScreening Index
Screening RiskIHS OFAC VesselsScreening Index
Screening RiskIHS Reg VesselsScreening Index
Screening RiskMarijuana Reg BusScreening Index
Screening RiskUAE MSBScreening Index
Screening RiskUS MSBScreening Index

Risk Score and Summary

Retrieve risk score

Request:

curl -X 'GET' \
'https://api.onehypernet.com/v1/rba/case/{case_id}' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}'

JSON Response:

{
"variables": [
{
"variableType": "Country Risk",
"variableName": "Nationality",
"reference": "FATF Synthetic Index",
"value": "WSM",
"computedScore": 68.8,
"adjustedScore": 68.8,
"override": null,
"justification": "",
"contribution": 0.42653440793552383
},
{
"variableType": "Country Risk",
"variableName": "Country of Residence",
"reference": "FATF Synthetic Index",
"value": null,
"computedScore": null,
"adjustedScore": null,
"override": null,
"justification": "",
"contribution": null
},
{
"variableType": "Client Risk",
"variableName": "Beneficial owner",
"reference": "Binary Index",
"value": "yes",
"computedScore": 0,
"adjustedScore": 0,
"override": null,
"justification": "",
"contribution": 0
},
{
"variableType": "Client Risk",
"variableName": "New customer",
"reference": "Binary Index",
"value": "yes",
"computedScore": 100,
"adjustedScore": 100,
"override": null,
"justification": "",
"contribution": 0.15499070055796652
},
{
"variableType": "Client Risk",
"variableName": "ID type",
"reference": "Synthetic Index",
"value": "NRIC (pink)",
"computedScore": 0,
"adjustedScore": 0,
"override": null,
"justification": "",
"contribution": 0
},
{
"variableType": "Transactional Risk",
"variableName": "Transaction mode",
"reference": "Synthetic Index",
"value": "In person",
"computedScore": 0,
"adjustedScore": 0,
"override": null,
"justification": "",
"contribution": 0
},
{
"variableType": "Transactional Risk",
"variableName": "Purpose of transaction",
"reference": "Synthetic Index",
"value": "Gambling",
"computedScore": 90,
"adjustedScore": 90,
"override": null,
"justification": "",
"contribution": 0.13949163050216987
},
{
"variableType": "Transactional Risk",
"variableName": "Behaviour",
"reference": "Synthetic Index",
"value": "Shy",
"computedScore": 40,
"adjustedScore": 40,
"override": null,
"justification": "",
"contribution": 0.2479851208927464
},
{
"variableType": "Transactional Risk",
"variableName": "Remarks",
"reference": "OpenAI",
"value": "Rare item",
"computedScore": 20,
"adjustedScore": 20,
"override": null,
"justification": "",
"contribution": 0.0309981401115933
},
{
"variableType": "Screening Risk",
"variableName": "Adverse Media",
"reference": "Screening Synthetic Index",
"value": "unresolved",
"computedScore": 0,
"adjustedScore": 0,
"override": null,
"justification": "",
"contribution": 0
},
{
"variableType": "Screening Risk",
"variableName": "Enforcement",
"reference": "Screening Synthetic Index",
"value": null,
"computedScore": null,
"adjustedScore": null,
"override": null,
"justification": "",
"contribution": null
},
{
"variableType": "Screening Risk",
"variableName": "Sanctions",
"reference": "Screening Synthetic Index",
"value": null,
"computedScore": null,
"adjustedScore": null,
"override": null,
"justification": "",
"contribution": null
},
{
"variableType": "Screening Risk",
"variableName": "Primary PEP",
"reference": "Screening Synthetic Index",
"value": "positive",
"computedScore": 70,
"adjustedScore": 70,
"override": "High",
"justification": "",
"contribution": 0
},
{
"variableType": "Screening Risk",
"variableName": "Secondary PEP",
"reference": "Screening Synthetic Index",
"value": null,
"computedScore": null,
"adjustedScore": null,
"override": null,
"justification": "",
"contribution": null
}
],
"summary": {
"adjustedScore": 40.325,
"adjustedRisk": "High",
"computedScore": 40.325,
"computedRisk": "High"
},
"risk_model_id": "876skf28-26a7-4075-a30d-e26be7c7d193"
}

GET /rba/case/{case_id}

This endpoint retrieves the risk score of the case.

Adjust score of a variable

curl -X 'POST' \
'https://api.onehypernet.com/v1/rba/case/{case_id}' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/json' \
-d '{
"variableType": "Country Risk",
"variableName": "Nationality",
"reference": "FATF Synthetic Index",
"adjustedScore": 10,
"justification": "same operating country"
}'

POST /rba/case/{case_id}

This endpoint adjusts the score of the risk variable.

Retrieve risk score archive

curl -X 'GET' \
'https://api.onehypernet.com/v1/rba/case/{case_id}/risk-score-archive' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}' \

JSON Response:

{
"data": [
{
"risk_score_id": "80e2e2bf-aafe-4f7c-baec-bb10ebc9a2cf",
"risk_model_id": "876dcf28-26a7-4075-a30d-e26be7c7d193",
"adjusted_score": 31,
"adjusted_risk": "Medium",
"computed_score": 31,
"computed_risk": "Medium",
"created_at": "2025-05-31T02:30:37.076Z"
},
{
"risk_score_id": "05b137fb-20f6-470e-8201-725ff08e23d5",
"risk_model_id": "876dcf28-26a7-4075-a30d-e26be7c7d193",
"adjusted_score": 27,
"adjusted_risk": "Medium",
"computed_score": 27,
"computed_risk": "Medium",
"created_at": "2025-05-31T02:30:00.271Z"
}
],
"total": 2
}

GET /rba/case/{case_id}/risk-score-archive

This endpoint retrieves the risk score archive of a case.

Retrieve a specific risk score archive

curl -X 'GET' \
'https://api.onehypernet.com/v1/rba/risk-score-archive/{risk_score_id}' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}' \

JSON Response:

{
"risk_score_id": "80e2e2bf-aafe-4f7c-baec-bb10ebc9a2cf",
"case_id": "8b75b31f-9559-4b13-889d-1d454b339159",
"risk_model_id": "876dcf28-26a7-4075-a30d-e26be7c7d193",
"adjusted_score": 31,
"adjusted_risk": "Medium",
"computed_score": 31,
"computed_risk": "Medium",
"breakdown": [
{
"value": "Default Score",
"override": null,
"reference": "Default Country Index",
"contribution": 0.2603415559772296,
"variableName": "Nationality",
"variableType": "Geographical Risk",
"adjustedScore": 70,
"computedScore": 70
},
{
"value": "Default Score",
"override": null,
"reference": "Occupation Index",
"contribution": 0.13946869070208728,
"variableName": "Occupation",
"variableType": "Client Risk",
"adjustedScore": 50,
"computedScore": 50
},
{
"value": "31-May-2025",
"override": null,
"reference": "Client Risk Index",
"contribution": null,
"variableName": "Duration as Client",
"variableType": "Client Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": "Yes",
"override": "",
"reference": "Client Risk Index",
"contribution": 0.27893738140417457,
"variableName": "New Client",
"variableType": "Client Risk",
"adjustedScore": 100,
"computedScore": 100,
"justification": ""
},
{
"value": "Default Score",
"override": null,
"reference": "Client Risk Index",
"contribution": 0.13946869070208728,
"variableName": "ID Type",
"variableType": "Client Risk",
"adjustedScore": 50,
"computedScore": 50
},
{
"value": "Default Score",
"override": null,
"reference": "Operational Risk Index",
"contribution": 0.1859582542694497,
"variableName": "Onboarding Mode",
"variableType": "Operational Risk",
"adjustedScore": 50,
"computedScore": 50
},
{
"value": null,
"override": null,
"reference": "Transaction Risk Index",
"contribution": null,
"variableName": "Average Transaction Amount",
"variableType": "Transactional Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": null,
"override": null,
"reference": "Transaction Risk Index",
"contribution": null,
"variableName": "Monthly Transaction Volume",
"variableType": "Transactional Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": null,
"override": null,
"reference": "Transaction Risk Index",
"contribution": null,
"variableName": "Monthly Transaction Frequency",
"variableType": "Transactional Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": null,
"override": null,
"reference": "Transaction Risk Index",
"contribution": null,
"variableName": "Payment Mode",
"variableType": "Transactional Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": null,
"override": null,
"reference": "Currency Index",
"contribution": null,
"variableName": "Currency",
"variableType": "Transactional Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": null,
"override": null,
"reference": "Transaction Risk Index",
"contribution": null,
"variableName": "Transaction Mode",
"variableType": "Transactional Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": null,
"override": null,
"reference": "Transaction Risk Index",
"contribution": null,
"variableName": "Purpose of Transaction",
"variableType": "Transactional Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": null,
"override": null,
"reference": "Transaction Risk Index",
"contribution": null,
"variableName": "Source of Funds",
"variableType": "Transactional Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": "No matches",
"override": null,
"reference": "Screening Index",
"contribution": null,
"variableName": "Adverse Media",
"variableType": "Screening Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": "No matches",
"override": null,
"reference": "Screening Index",
"contribution": null,
"variableName": "Enforcement",
"variableType": "Screening Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": "No matches",
"override": null,
"reference": "Screening Index",
"contribution": null,
"variableName": "Sanctions",
"variableType": "Screening Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": "No matches",
"override": null,
"reference": "Screening Index",
"contribution": null,
"variableName": "Primary PEP",
"variableType": "Screening Risk",
"adjustedScore": null,
"computedScore": null
},
{
"value": "No matches",
"override": null,
"reference": "Screening Index",
"contribution": null,
"variableName": "Secondary PEP",
"variableType": "Screening Risk",
"adjustedScore": null,
"computedScore": null
}
],
"created_at": "2025-05-31T02:30:37.076Z"
}

GET /rba/risk-score-archive/{risk_score_id}

This endpoint retrieves the a specific risk score archive of a case.

Generate AI summary

curl -X 'GET' \
'https://api.onehypernet.com/v1/rba/case/{case_id}/summary' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}' \

JSON Response:

{
"summary": "Nationality: The high risk score of 90 indicates that the customer's nationality poses a significant risk factor. Non-Singaporean nationalities typically increase the risk due to challenges in verifying the customer's identity and background, especially in cross-border transactions. Different countries have varying levels of compliance with international standards set by organizations like FATF, which can impact the overall risk level associated with customers from those countries.\n\nCountry of Residence: As the country of residence is not provided in this case, it is assumed to be non-Singaporean. This lack of information increases the risk as it adds complexity to verifying the customer's identity and conducting due diligence checks. Depending on the country of residence, there may be additional challenges related to regulatory compliance and anti-money laundering measures.\n\nSummary: The overall risk assessment for this pawn transaction is classified as high risk, with a score of 96. The primary contributing factor to this high risk level is the customer's non-Singaporean nationality, which presents challenges in verification and due diligence processes. Additionally, the absence of information regarding the customer's country of residence further complicates risk assessment and regulatory compliance efforts."
}

GET /rba/case/{case_id}/summary

This endpoint triggers our AI model to generate a risk assessment summary of the case.