KodexakodΓ©xaShieldAPI Reference
https://shield.kodexa.systems/apiPortal β†’
Transaction Layer

AML-AI

Active

Score individual transactions for AML risk and detect patterns across 90 days of customer history. Automatically flags structuring, hawala, layering and 4 more typologies. Determines FINTRAC, goAML and SAMA reporting obligations.

Endpoint

POST/api/aml/scan

Reporting thresholds

JurisdictionThresholdRegulatorReport type
CA πŸ‡¨πŸ‡¦$10,000 CADFINTRACLCTR / STR
AE πŸ‡¦πŸ‡ͺAED 55,000CBUAEgoAML STR
SA πŸ‡ΈπŸ‡¦SAR 60,000SAMASAR

Risk score

Score ranges from 0 to 950. Structuring detection triggered by pattern analysis adds up to 500 points on top of the single transaction score.

Score rangeRisk levelRecommended action
0 – 249LowProcess automatically
250 – 499MediumMonitor, no action required
500 – 749HighFlag for compliance review
750 – 950CriticalBlock and escalate immediately

Request parameters

ParameterTypeRequiredDescription
transaction_idstringYesYour unique reference for this transaction.
customer_idstringYesYour internal customer reference. Used to fetch 90-day transaction history for pattern detection.
jurisdictionstringYesOne of: CA (Canada), AE (UAE), SA (KSA). Determines reporting thresholds and rules.
amountnumberYesTransaction amount in the specified currency.
currencystringYesISO 4217 currency code. CA=CAD, AE=AED, SA=SAR.
transaction_typestringYesOne of: deposit, withdrawal, transfer, payment, wire, crypto.
counterparty_namestringNoName of the counterparty (sender or recipient).
counterparty_countrystringNo2-letter ISO country code of counterparty. Used for high-risk geography detection.
descriptionstringNoTransaction description or purpose.

Response fields

ParameterTypeRequiredDescription
data.risk_scoreintegerYesCombined risk score 0–950. Industry standard scale.
data.single_tx_scoreintegerYesScore from single transaction analysis only.
data.pattern_scoreintegerYesAdditional score from 90-day pattern detection.
data.risk_levelstringYeslow, medium, high, or critical.
data.statusstringYesapproved, rejected, or review_required.
data.typologies_detectedarrayYesList of AML typologies found: structuring, threshold_avoidance, velocity_anomaly, round_tripping, layering, amount_clustering, high_risk_geography.
data.patterns_detectedarrayYesPatterns found across transaction history.
data.fintrac_reportablebooleanYesTrue if transaction must be reported to FINTRAC (CA only).
data.goaml_reportablebooleanYesTrue if transaction must be reported via goAML (AE only).
data.sama_reportablebooleanYesTrue if transaction must be reported to SAMA (SA only).
data.history_analyzedobjectYesContext: transactions (count), days (90), patterns_found (count).
data.ai_recommendationstringYesPlain-English assessment with recommended action.

Code example

curl -X POST \
  https://shield.kodexa.systems/api/aml/scan \
  -H "Content-Type: application/json" \
  -d '{
    "transaction_id": "TXN-2026-001",
    "customer_id": "CUST-CA-042",
    "jurisdiction": "CA",
    "amount": 9500,
    "currency": "CAD",
    "transaction_type": "transfer",
    "counterparty_name": "John Smith",
    "counterparty_country": "CA"
  }'

Example response

json
{
  "success": true,
  "data": {
    "risk_score": 750,
    "single_tx_score": 250,
    "pattern_score": 500,
    "risk_level": "high",
    "status": "review_required",
    "typologies_detected": [
      "structuring",
      "threshold_avoidance"
    ],
    "patterns_detected": [
      "structuring",
      "threshold_avoidance"
    ],
    "fintrac_reportable": true,
    "goaml_reportable": false,
    "sama_reportable": false,
    "history_analyzed": {
      "transactions": 5,
      "days": 90,
      "patterns_found": 2
    },
    "ai_recommendation": "Transaction of $9,500 CAD is $500 below the FINTRAC $10,000 reporting threshold. Combined with 4 similar transactions in the past 7 days totaling $47,500 β€” classic structuring pattern. File FINTRAC STR immediately.",
    "compliance_flags": [...],
    "requires_human_review": true,
    "request_id": "aml_1716000000_xyz789",
    "created_at": "2026-05-22T04:00:00.000Z"
  },
  "processing_time_ms": 11234,
  "jurisdiction": "CA",
  "plugin": "aml"
}