KodexakodéxaShieldAPI Reference
https://shield.kodexa.systems/apiPortal →
Reporting Layer

SAR-AI

Active

Generates complete Suspicious Activity Report narratives in the format required by the relevant financial intelligence unit. Links to prior AML, Sanctions and Fraud results automatically. MLRO sign-off is built into the workflow — every SAR requires human review before filing.

Filing a SAR creates a legal record. Do not alert the subject — tipping off is a criminal offence under equivalent legislation in all supported jurisdictions. All SAR generation events are stored in the immutable audit trail.

Endpoint

POST/api/sar/generate

Reporting authorities

JurisdictionAuthorityDeadlineLegal basis
GB 🇬🇧NCAAs soon as practicablePOCA 2002 s.330 — failure to disclose is a criminal offence.
CA 🇨🇦FINTRAC30 daysPCMLTFA — Suspicious Transaction Reports on reasonable grounds.
AE 🇦🇪UAE FIU / CBUAE7 daysAML-CFT Federal Decree-Law No. 20 of 2018.
SA 🇸🇦SAMA / SAFIU7 daysAML Law Royal Decree M/20.

Request parameters

ParameterTypeRequiredDescription
entity_idstringYesYour unique identifier for the subject entity.
customer_idstringYesCustomer identifier. Links to the compliance history.
jurisdictionstringYesOne of: CA, AE, SA, GB. Determines the reporting authority and filing requirements.
triggerstringNoOne of: aml_flag, kyc_failure, sanctions_match, fraud_detected, manual_review, pattern_detection (default: manual_review).
aml_request_idstringNoRequest ID from a prior AML scan. Context is automatically pulled and included in the narrative.
kyc_request_idstringNoRequest ID from a prior KYC verification.
sanctions_request_idstringNoRequest ID from a prior Sanctions screen.
fraud_request_idstringNoRequest ID from a prior Fraud detection.
summarystringNoBrief description of the suspicious activity to guide the AI narrative.
total_amountnumberNoTotal amount involved in the suspicious activity.

Response fields

ParameterTypeRequiredDescription
successbooleanYesWhether the API call succeeded.
data.sar_requiredbooleanYesWhether SAR submission is required based on the evidence provided.
data.urgencystringYesFiling urgency: immediate, standard, or low.
data.reporting_authoritystringYesThe authority to file with: NCA, FINTRAC, UAE FIU, or SAMA/SAFIU.
data.deadline_hoursnumberYesHours remaining to file. 0 means as soon as practicable.
data.narrativestringYesFull SAR narrative ready for submission. Includes timeline, facts, and basis for suspicion.
data.key_factsarrayYesStructured list of key facts supporting the SAR.
data.ai_recommendationstringYesNext steps including filing instructions, freeze recommendations, and tipping-off warnings.
data.requires_human_reviewbooleanYesAlways true — MLRO sign-off is mandatory before filing any SAR.
processing_time_msintegerYesTotal processing time in milliseconds.

Code example

curl -X POST \
  https://shield.kodexa.systems/api/sar/generate \
  -H "Content-Type: application/json" \
  -d '{
    "entity_id": "ENT-AE-001",
    "customer_id": "CUST-AE-001",
    "jurisdiction": "AE",
    "trigger": "aml_flag",
    "aml_request_id": "aml_1716000000_abc123",
    "summary": "Customer made 3 structured transfers below AED 55,000 within 7 days.",
    "total_amount": 154000
  }'

Example response

json
{
  "success": true,
  "data": {
    "sar_required": true,
    "urgency": "standard",
    "reporting_authority": "UAE FIU",
    "deadline_hours": 168,
    "key_facts": [
      "Three transfers below AED 55,000 threshold within 7 days, total AED 154,000",
      "Pattern consistent with structuring to avoid goAML reporting obligations",
      "No legitimate business explanation provided"
    ],
    "narrative": "We wish to report suspicious activity in relation to customer CUST-AE-001...",
    "ai_recommendation": "File STR via goAML within 7 days. Do not alert the customer. Consider whether account restrictions are appropriate pending MLRO review.",
    "requires_human_review": true,
    "request_id": "sar_1716000000_abc123",
    "created_at": "2026-05-22T04:00:00.000Z"
  },
  "processing_time_ms": 3241,
  "jurisdiction": "AE",
  "plugin": "sar"
}