> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parcha.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Sanctions Screening Check (Individual)

> Screen individuals against global sanctions lists and watchlists

The Individual Sanctions Screening check verifies whether an individual appears on government sanctions lists, terrorist watchlists, or other regulatory enforcement databases. This is a mandatory compliance check for AML/CFT programs.

## Overview

The check examines:

* OFAC (Office of Foreign Assets Control) SDN list
* UN Security Council sanctions
* EU sanctions lists
* UK HM Treasury sanctions
* Interpol Red Notices
* FBI Most Wanted lists
* Country-specific terrorist lists

## Running the Check

### API Endpoint

```bash theme={null}
POST https://api.parcha.ai/api/v1/startKYCAgentJob
```

<Warning>
  **Important**: You must use your own agent key, not a default or public agent key. Your agent key can be found in the Parcha dashboard under your agent's settings, or in the "Test API Integration" dialog.
</Warning>

### Request Parameters

<ParamField body="agent_key" type="string" required>
  Your KYC agent key from the Parcha dashboard. This is unique to your organization and agent configuration.
</ParamField>

<ParamField body="kyc_schema" type="object" required>
  The individual information for screening using the [KYC Schema](/schemas/individual-schema).

  <Expandable title="KYC Schema Properties">
    <ParamField body="id" type="string" required>
      A unique identifier for this KYC case.
    </ParamField>

    <ParamField body="self_attested_data" type="object" required>
      <ParamField body="first_name" type="string" required>
        Individual's first name.
      </ParamField>

      <ParamField body="last_name" type="string" required>
        Individual's last name.
      </ParamField>

      <ParamField body="middle_name" type="string">
        Individual's middle name.
      </ParamField>

      <ParamField body="date_of_birth" type="string">
        Date of birth (YYYY-MM-DD format).
      </ParamField>

      <ParamField body="country_of_nationality" type="string">
        Country of nationality (ISO 3166-1 alpha-2).
      </ParamField>

      <ParamField body="country_of_residence" type="string">
        Country of residence (ISO 3166-1 alpha-2).
      </ParamField>

      <ParamField body="address" type="object">
        Residential address information for additional matching.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="check_ids" type="array">
  Optional. To run only this specific check, include `["kyc.sanctions_screening_check_v2"]`. If omitted, all checks configured in your agent will run.
</ParamField>

### Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST 'https://api.parcha.ai/api/v1/startKYCAgentJob' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "agent_key": "your-kyc-agent-key",
    "kyc_schema": {
      "id": "sanctions-check-001",
      "self_attested_data": {
        "first_name": "John",
        "last_name": "Doe",
        "middle_name": "Michael",
        "date_of_birth": "1980-03-15",
        "country_of_nationality": "US",
        "country_of_residence": "US",
        "address": {
          "city": "New York",
          "state": "NY",
          "country_code": "US"
        }
      }
    },
    "check_ids": ["kyc.sanctions_screening_check_v2"]
  }'
  ```

  ```python Python theme={null}
  import requests

  api_key = 'YOUR_API_KEY'
  url = 'https://api.parcha.ai/api/v1/startKYCAgentJob'

  headers = {
      'Authorization': f'Bearer {api_key}',
      'Content-Type': 'application/json'
  }

  data = {
      'agent_key': 'your-kyc-agent-key',  # Replace with your actual agent key
      'kyc_schema': {
          'id': 'sanctions-check-001',
          'self_attested_data': {
              'first_name': 'John',
              'last_name': 'Doe',
              'middle_name': 'Michael',
              'date_of_birth': '1980-03-15',
              'country_of_nationality': 'US',
              'country_of_residence': 'US',
              'address': {
                  'city': 'New York',
                  'state': 'NY',
                  'country_code': 'US'
              }
          }
      },
      'check_ids': ['kyc.sanctions_screening_check_v2']  # Optional: run only this check
  }

  response = requests.post(url, json=data, headers=headers)
  print(response.json())
  ```

  ```typescript TypeScript theme={null}
  import axios from 'axios';

  const apiKey = 'YOUR_API_KEY';
  const url = 'https://api.parcha.ai/api/v1/startKYCAgentJob';

  const data = {
    agent_key: 'your-kyc-agent-key',  // Replace with your actual agent key
    kyc_schema: {
      id: 'sanctions-check-001',
      self_attested_data: {
        first_name: 'John',
        last_name: 'Doe',
        middle_name: 'Michael',
        date_of_birth: '1980-03-15',
        country_of_nationality: 'US',
        country_of_residence: 'US',
        address: {
          city: 'New York',
          state: 'NY',
          country_code: 'US'
        }
      }
    },
    check_ids: ['kyc.sanctions_screening_check_v2']  // Optional: run only this check
  };

  axios.post(url, data, {
    headers: {
      'Authorization': `Bearer ${apiKey}`,
      'Content-Type': 'application/json'
    }
  })
  .then(response => console.log(response.data))
  .catch(error => console.error('Error:', error));
  ```
</CodeGroup>

### Initial Response

```json theme={null}
{
  "id": "job-abc123",
  "status": "PENDING",
  "created_at": "2024-02-15T10:30:00Z",
  "updated_at": "2024-02-15T10:30:00Z",
  "agent_id": "your-agent-key",
  "input_payload": {
    // Original request payload
  }
}
```

## Retrieving Check Results

Once the job is complete, retrieve the results using the job ID with the `getJobByID` endpoint. Make sure to include the `include_check_results=true` parameter to get the full check results.

```bash theme={null}
GET https://api.parcha.ai/api/v1/getJobByID?job_id=job-abc123&include_check_results=true
```

## Check Process

The sanctions screening check follows these steps:

1. **Name Normalization**
   * Standardizes name for matching
   * Handles name variations and transliterations
   * Processes nicknames and aliases

2. **Database Search**
   * Searches multiple sanctions databases
   * Queries terrorist watchlists
   * Checks law enforcement databases
   * Searches PEP-related sanctions

3. **Match Analysis**
   * Evaluates match quality (strong, partial, weak)
   * Compares date of birth if available
   * Analyzes location and nationality data
   * Reviews additional identifiers

4. **Risk Assessment**
   * Categorizes sanctions program severity
   * Evaluates geographic risk factors
   * Determines action required (deny, review, approve)

## Check Results

### Response Structure

```typescript theme={null}
{
  type: "SanctionsScreeningCheckResult";
  passed: boolean;
  matches: Array<SanctionsMatch>;
  total_matches: number;
  screening_date: string;
  databases_searched: Array<string>;
}

type SanctionsMatch = {
  name: string;
  match_rating: "strong_match" | "partial_match" | "weak_match" | "false_positive";
  match_score: number;
  list_type: "sanctions" | "terrorism" | "law_enforcement" | "other";
  list_name: string;
  date_of_birth?: string;
  place_of_birth?: string;
  nationality?: Array<string>;
  program?: string;
  listed_date?: string;
  addresses?: Array<string>;
  aliases?: Array<string>;
  identifiers?: {
    passport_numbers?: Array<string>;
    national_ids?: Array<string>;
  };
  source_url?: string;
}
```

### Example Results

<CodeGroup>
  ```json Low Risk - No Matches theme={null}
  {
    "type": "SanctionsScreeningCheckResult",
    "passed": true,
    "matches": [],
    "total_matches": 0,
    "screening_date": "2024-02-15T10:30:00Z",
    "databases_searched": [
      "OFAC SDN",
      "UN Security Council",
      "EU Sanctions",
      "UK HM Treasury",
      "Interpol Red Notices"
    ]
  }
  ```

  ```json Medium Risk - Weak Match (Likely False Positive) theme={null}
  {
    "type": "SanctionsScreeningCheckResult",
    "passed": true,
    "matches": [
      {
        "name": "John Michael Doe",
        "match_rating": "weak_match",
        "match_score": 68,
        "list_type": "sanctions",
        "list_name": "OFAC SDN List",
        "date_of_birth": "1978-05-20",
        "nationality": ["Syria"],
        "program": "SYRIA",
        "listed_date": "2019-06-12",
        "addresses": [
          "Damascus, Syria"
        ],
        "source_url": "https://sanctionssearch.ofac.treas.gov/"
      }
    ],
    "total_matches": 1,
    "screening_date": "2024-02-15T10:30:00Z",
    "databases_searched": [
      "OFAC SDN",
      "UN Security Council",
      "EU Sanctions"
    ]
  }
  ```

  ```json High Risk - Strong Match theme={null}
  {
    "type": "SanctionsScreeningCheckResult",
    "passed": false,
    "matches": [
      {
        "name": "John Michael Doe",
        "match_rating": "strong_match",
        "match_score": 96,
        "list_type": "terrorism",
        "list_name": "OFAC SDN - Terrorism",
        "date_of_birth": "1980-03-15",
        "place_of_birth": "New York, United States",
        "nationality": ["United States"],
        "program": "SDGT",
        "listed_date": "2023-08-15",
        "addresses": [
          "123 Main St, New York, NY, US"
        ],
        "aliases": [
          "J. Doe",
          "Johnny Doe"
        ],
        "identifiers": {
          "passport_numbers": ["US123456789"]
        },
        "source_url": "https://sanctionssearch.ofac.treas.gov/"
      }
    ],
    "total_matches": 1,
    "screening_date": "2024-02-15T10:30:00Z",
    "databases_searched": [
      "OFAC SDN",
      "UN Security Council",
      "EU Sanctions",
      "FBI Most Wanted"
    ]
  }
  ```
</CodeGroup>

## Sanctions Lists Covered

### Primary Sanctions Lists

* **OFAC SDN** - Specially Designated Nationals and Blocked Persons
* **OFAC Non-SDN** - Consolidated sanctions lists
* **UN Security Council** - Consolidated sanctions list
* **EU Sanctions** - EU consolidated financial sanctions
* **UK HM Treasury** - UK financial sanctions targets

### Law Enforcement & Terrorism Lists

* **FBI Most Wanted**
* **Interpol Red Notices**
* **National terrorist lists** (US, UK, EU, etc.)
* **DEA Most Wanted**

### Additional Lists

* Country-specific sanctions (Canada, Australia, Japan, etc.)
* Financial crimes watchlists
* Proliferation financing lists

## Match Ratings Explained

* **Strong Match**: High confidence the individual is sanctioned (DENY)
  * Name, DOB, and location all match
  * Multiple identifiers align

* **Partial Match**: Some identifiers match, requires review
  * Name and location match but DOB differs
  * Similar name with matching location

* **Weak Match**: Name similarity only, likely false positive
  * Common name with different location/DOB
  * Only surname matches

* **False Positive**: Confirmed not the sanctioned individual (APPROVE)
  * After investigation, clearly different person

## Risk Factors

The check may flag concerns if:

* Name and DOB strongly match sanctioned individual
* Individual from sanctioned jurisdiction
* Multiple identifiers match (passport, address, etc.)
* Recent addition to sanctions or terrorism lists
* Close name match with known terrorist or criminal
* Location matches known sanctioned individual

## Compliance Requirements

Individual sanctions screening is required for:

* Customer onboarding (KYC)
* Beneficial owner identification
* Transaction screening
* Wire transfer compliance
* Ongoing monitoring (periodic rescreening)
* Regulatory compliance (AML/BSA/OFAC)

## Best Practices

1. **Screen All Individuals**: Screen customers, beneficial owners, signatories, and authorized persons
2. **Use Full Name and DOB**: Provide complete information for accurate matching
3. **Investigate Matches**: Review partial matches carefully before rejecting
4. **Document Thoroughly**: Keep detailed records of screening and decisions
5. **Rescreen Regularly**: Perform ongoing monitoring (monthly recommended)
6. **Escalate Strong Matches**: Immediately escalate strong matches to compliance
7. **File SARs When Required**: Report suspicious activity as mandated

## Legal Obligations

**US Compliance**: OFAC requires immediate blocking of SDN assets and transactions. Violations can result in civil penalties up to $330,120 per violation or criminal penalties up to $1 million and 20 years imprisonment.

**Global Compliance**: Most jurisdictions have similar requirements for sanctions compliance with severe penalties for violations.

## Configuration Options

* **vendor**: Choose screening vendor (ComplyAdvantage, Dow Jones, etc.)
* **match\_thresholds**: Customize match rating thresholds
* **deny\_match\_ratings**: Auto-deny on specified match ratings (typically strong\_match)
* **review\_match\_ratings**: Flag for manual review (typically partial\_match)
* **databases\_to\_search**: Select specific sanctions lists

## Related Checks

* [PEP Screening (Individual)](/checks/kyc-pep-screening-check) - Screen for PEP status
* [Adverse Media Screening (Individual)](/checks/kyc-adverse-media-screening) - Screen for negative news
* [Person Web Presence Check](/checks/kyc-person-web-presence-check) - Research online presence
* [Sanctions Screening (Business)](/checks/sanctions-screening-check) - Screen associated businesses
