> ## 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 (Business)

> Screen businesses against global sanctions lists and watchlists

The Business Sanctions Screening check verifies whether a business appears on government sanctions lists, watchlists, or other regulatory enforcement databases. This is a critical compliance check for AML/CFT programs.

## Overview

The check examines:

* OFAC (Office of Foreign Assets Control) lists
* UN Security Council sanctions
* EU sanctions lists
* UK HM Treasury sanctions
* Other international sanctions programs
* Enforcement actions and debarment lists

## Running the Check

### API Endpoint

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

### Request Parameters

<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>

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

<ParamField body="check_id" type="string" required>
  Use `"kyb.sanctions_screening_check_v2"` for business sanctions screening.
</ParamField>

<ParamField body="payload" type="object" required>
  The business information for screening.

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

    <ParamField body="self_attested_data" type="object" required>
      <ParamField body="business_name" type="string" required>
        The legal name of the business to screen.
      </ParamField>

      <ParamField body="registered_business_name" type="string">
        Alternative or registered business name.
      </ParamField>

      <ParamField body="address_of_incorporation" type="object">
        <ParamField body="country_code" type="string">
          Country code (ISO 3166-1 alpha-2).
        </ParamField>

        <ParamField body="city" type="string">
          City of incorporation.
        </ParamField>
      </ParamField>

      <ParamField body="address_of_operation" type="object">
        Operating address information.
      </ParamField>

      <ParamField body="incorporation_date" type="string">
        Date of incorporation (YYYY-MM-DD).
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

### Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST 'https://api.parcha.ai/api/v1/startKYBAgentJob' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "agent_key": "your-kyb-agent-key",
    "check_id": "kyb.sanctions_screening_check_v2",
    "payload": {
      "id": "sanctions-check-001",
      "self_attested_data": {
        "business_name": "Global Trading LLC",
        "registered_business_name": "GLOBAL TRADING LIMITED LIABILITY COMPANY",
        "address_of_incorporation": {
          "country_code": "US",
          "city": "New York"
        },
        "incorporation_date": "2019-03-15"
      }
    }
  }'
  ```

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

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

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

  data = {
      'agent_key': 'your-kyb-agent-key',  # Replace with your actual agent key
      'check_id': 'kyb.sanctions_screening_check_v2',
      'payload': {
          'id': 'sanctions-check-001',
          'self_attested_data': {
              'business_name': 'Global Trading LLC',
              'registered_business_name': 'GLOBAL TRADING LIMITED LIABILITY COMPANY',
              'address_of_incorporation': {
                  'country_code': 'US',
                  'city': 'New York'
              },
              'incorporation_date': '2019-03-15'
          }
      }
  }

  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/startKYBAgentJob';

  const data = {
    agent_key: 'your-kyb-agent-key',  // Replace with your actual agent key
    check_id: 'kyb.sanctions_screening_check_v2',
    payload: {
      id: 'sanctions-check-001',
      self_attested_data: {
        business_name: 'Global Trading LLC',
        registered_business_name: 'GLOBAL TRADING LIMITED LIABILITY COMPANY',
        address_of_incorporation: {
          country_code: 'US',
          city: 'New York'
        },
        incorporation_date: '2019-03-15'
      }
    }
  };

  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 business name for matching
   * Handles name variations and transliterations
   * Processes aliases and trading names

2. **Database Search**
   * Searches multiple sanctions databases
   * Queries watchlists and enforcement lists
   * Checks subsidiary and affiliated entities

3. **Match Analysis**
   * Evaluates match quality (strong, partial, weak)
   * Considers name similarity
   * Analyzes location and entity type
   * Reviews additional identifiers

4. **Risk Assessment**
   * Categorizes sanctions list 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 = {
  entity_name: string;
  match_rating: "strong_match" | "partial_match" | "weak_match" | "false_positive";
  match_score: number;
  list_type: string;
  list_name: string;
  country?: string;
  entity_type?: string;
  program?: string;
  listed_date?: string;
  addresses?: Array<string>;
  identifiers?: {
    registration_numbers?: Array<string>;
    other_names?: 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"
    ]
  }
  ```

  ```json Medium Risk - Possible False Positive theme={null}
  {
    "type": "SanctionsScreeningCheckResult",
    "passed": true,
    "matches": [
      {
        "entity_name": "GLOBAL TRADING COMPANY",
        "match_rating": "weak_match",
        "match_score": 65,
        "list_type": "sanctions",
        "list_name": "OFAC SDN List",
        "country": "Iran",
        "entity_type": "Entity",
        "program": "IRAN",
        "listed_date": "2018-11-05",
        "addresses": [
          "Tehran, Iran"
        ],
        "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",
      "UK HM Treasury"
    ]
  }
  ```

  ```json High Risk - Strong Match theme={null}
  {
    "type": "SanctionsScreeningCheckResult",
    "passed": false,
    "matches": [
      {
        "entity_name": "GLOBAL TRADING LLC",
        "match_rating": "strong_match",
        "match_score": 95,
        "list_type": "sanctions",
        "list_name": "OFAC SDN List",
        "country": "Russia",
        "entity_type": "Entity",
        "program": "UKRAINE-EO13662",
        "listed_date": "2022-02-24",
        "addresses": [
          "Moscow, Russia",
          "123 Tverskaya St, Moscow 125009"
        ],
        "identifiers": {
          "registration_numbers": ["1027700132195"],
          "other_names": ["Global Trading Limited"]
        },
        "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",
      "UK HM Treasury"
    ]
  }
  ```
</CodeGroup>

## Sanctions Lists Covered

### Primary Lists

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

### Additional Lists

* FBI Most Wanted
* Interpol Red Notices
* World Bank Debarment
* DFAT Australia Sanctions
* Various country-specific lists

## Match Ratings Explained

* **Strong Match**: High confidence the entity is on sanctions list (DENY)
* **Partial Match**: Some identifiers match, requires review
* **Weak Match**: Name similarity only, likely false positive
* **False Positive**: Confirmed not the sanctioned entity (APPROVE)

## Risk Factors

The check may flag concerns if:

* Business name strongly matches sanctioned entity
* Located in sanctioned jurisdiction
* Registration numbers match sanctioned entity
* Recent addition to sanctions lists
* Associated with sanctioned individuals or entities
* Multiple weak matches across different lists

## Compliance Requirements

Sanctions screening is typically required for:

* Customer onboarding (KYB/KYC)
* Ongoing monitoring and periodic rescreening
* Transaction screening
* Wire transfer compliance
* Trade finance operations
* Regulatory compliance (AML/BSA)

## Best Practices

1. **Screen at Onboarding**: Always screen before establishing business relationship
2. **Regular Rescreening**: Screen periodically (monthly or quarterly)
3. **Investigate Matches**: Don't auto-reject on weak matches
4. **Document Decisions**: Keep records of screening results and decisions
5. **Update Lists**: Use vendors with real-time list updates
6. **Cross-Reference**: Combine with web presence and adverse media checks

## Configuration Options

* **vendor**: Choose screening vendor (ComplyAdvantage, Dow Jones, etc.)
* **match\_thresholds**: Customize match rating thresholds
* **lists\_to\_search**: Select specific sanctions lists
* **ongoing\_monitoring**: Enable continuous monitoring

## Related Checks

* [Adverse Media Screening](/checks/adverse-media-screening) - Screen for negative news
* [High Risk Country Check](/checks/high-risk-country-check) - Assess geographic risk
* [Business Registration Check](/checks/business-registration-check) - Verify legal entity
* [Business Owners Check](/checks/business-owners-check) - Screen associated individuals
