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

# Understanding the PEPs and Sanctions module 

> Learn how to configure and customise default module outcomes in GBG GO.

The PEPs and Sanctions module in GBG GO allows you to screen individuals against global watchlists, including Politically Exposed Persons (PEPs), sanctions lists, and adverse media. This module helps you comply with regulatory requirements and mitigate risks associated with onboarding high-risk individuals.

This module helps your organisation meet regulatory compliance requirements, particularly for Anti-Money Laundering (AML) and Counter-Terrorism Financing (CTF) obligations. It compares customer information against international databases to identify potential matches.

When the module detects a match, you can configure the journey to reject a customer, flag them for manual review, or apply additional checks.

<Note>
  You can view PEP and Sanctions screening results in the Investigation Portal. For more information, refer to the [View details of a customer session](/docs/go-v2/platform/investigate/view-customer-details) documentation.
</Note>

In this guide, you'll learn about the various capabilities of the module and its variants. You'll also learn how to test the module using GBG GO APIs.

## Module variants

The PEPs and Sanctions module has variants that determine the scope of compliance checks performed on your customers.

* **UK Instance**: Carries out two checks in the system:
  * Checks if an end-user is a PEP.
  * Checks if an end-user has sanctions against them.
* **UK Instance (with OGM)**: This variant includes Ongoing Monitoring (OGM), allowing you to track verified customers on an ongoing basis. The system automatically alerts you if an end-user compliance status changes, such as being added to a sanctions list or identified as a PEP after their initial verification.

<Note>
  Ongoing Monitoring requires direct configuration with a PEP and sanctions data supplier. If you have not configured this integration, contact your GBG account manager for assistance.
</Note>

* **UK Instance (with Adverse Media and OGM)**: This variant screens end-users against negative news coverage, such as reports of fraud, financial crimes, or other risk-related activities. It returns details of any adverse media findings, including article titles, sources, and links. This variant also includes Ongoing Monitoring (OGM) to track end-users for new adverse media after their initial verification.

For more details on the PEPs and Sanctions module variants, refer to [PEPs and Sanctions](/docs/go-v2/platform/modules/compliance-screening/peps-and-sanctions).

## Capabilities and allowed values

Each PEPs and Sanctions variant supports different capabilities that determine what screening checks are performed. The table below defines the available capabilities and their allowed values.

<div class="capability-table">
  | Capabilities                                                                                                                                                                                                                                                                                                                        | Allowed values, labels, and descriptions                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | **PEPs and Sanctions Results:** Results from PEPs and Sanctions check. <ul>  <li>  Example usage: PEPs and Sanctions Results + is any of + Not Available = MATCH. This results in a match because there is no data returned from the supplier.</li>    </ul>                                                                        | <details><summary>View allowed values</summary><ul><li>`PEPs and Sanctions Hit`: A match was found on a PEPs or sanctions list.</li><li>`PEPs and Sanctions No Hit`: No match was found.</li><li>`Not Available`: Screening results are unavailable.</li></ul></details>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | **Sanctions Hit Type:** Shows which customer data fields matched against a sanctions list entry. Values in this capability could indicate whether the match occurred through the customer's full legal name, a known alias, or other matching criteria. This information helps you assess the accuracy and relevance of the match.  | <details><summary>View allowed values (long list)</summary><ul><li>`Full name, full address and year of birth matched`: All three data points matched a sanctions entry.</li><li>`Full name, full address and DOB matched`: Full date of birth matched instead of just year.</li><li>`Full name and full address matched`: Name and complete address matched.</li><li>`Full name, city and country matched`: Name and location matched.</li><li>`Full name, year of birth and country matched`: Name, birth year, and country matched.</li><li>`Full name, year of birth, city and country matched`: Name, birth year, and full location matched</li><li>`Full name and year of birth matched`: Name and birth year matched</li><li>`Full name, DOB and country matched`: Name, full date of birth, and country matched.</li><li>`Full name, DOB, city and country matched`: Name, full date of birth, and full location matched.</li><li>`Full name and DOB matched`: Name and full date of birth matched.</li><li>`A match was found against the full name`: Only the end-user's full name matched.</li><li>`A match was found against a known alternate identity alias`: Customer matched using a known alias.</li><li>`Identity alias, DOB, City and country matched`: Alias matched with date of birth and location.</li><li>`Identity alias, DOB and country matched`: Alias matched with date of birth and country.</li><li>`Identity alias and Year of birth matched`: Alias matched with birth year.</li><li>`Identity alias, Year of birth, City and country matched`: Alias matched with birth year and full location.</li><li>`Identity alias, Year of birth and country matched`: Alias matched with birth year and country.</li><li>`Identity alias, City and Country matched`: Alias matched with location</li><li>`Identity alias and Full Address matched`: Alias matched with complete address</li><li>`Identity alias, Full Address and DOB matched`: Alias matched with address and date of birth.</li><li>`Identity alias, Full Address and Year of Birth matched`: Alias matched with address and birth year</li><li>`Identity alias and DOB matched`: Alias matched with date of birth</li><li>`Not Available`: No sanctions match was found</li></ul></details> |
  | **Peps Hit Type:** Shows which customer data fields matched against a PEPs database entry. This includes whether the customer is directly identified as a Politically Exposed Person or flagged as a family member or close associate of a PEP. It may also show if the match occurred through an alias or other matching criteria. | <details><summary>View allowed values</summary>Same values as Sanctions Hit Type.</details>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  | **Sent to OGM:** Shows whether the customer has been added to Ongoing Monitoring for continuous tracking. When set to is true, this rule triggers a match if the customer has been enrolled in Ongoing Monitoring.                                                                                                                  | <details><summary>View allowed values</summary><ul><li>`is true`: End user has been added to Ongoing Monitoring.</li><li>`is false`: End user has not been added to Ongoing Monitoring.</li></ul></details>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  | **Adverse Media Hit Type:** Shows the nature and type of news coverage found for a customer during screening. This capability shows whether the customer has been linked to fraud, financial crimes, corruption, sanctions violations, or other compliance risks in news articles and media sources.                                | <details><summary>View allowed values</summary><ul><li>`Match found for name`: End user has adverse media coverage related to their name.</li><li>`Not Available`: No adverse media match was found or screening was not performed.</li></ul></details>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
</div>

## Example: Testing the PEPs and Sanctions module using GO API

This section walks you through testing the PEPs and Sanctions module.

### Step 1: Add the module to your journey

To test the PEPs and Sanctions module, you first need to add it to a customer journey.

1. Create a new journey or open an existing one in the Journey builder.
2. Click **Browse and add modules**.
3. Search for **PEPs and Sanctions** or navigate to the *Compliance Screening category*.
4. Select the **PEPs and Sanctions** module.
5. Choose a variant.

<Info>
  The **UK Instance (with Adverse Media and OGM)** variant is used for testing during these steps.
</Info>

6. Click **Add to journey**.
7. Click **Configure outcomes**.

* **Rules**:
  * **Match**: *PEPs and Sanctions Results* + *is any* of + *PEPs and Sanctions Hit*. This rule means that if the PEPs and Sanctions check results in a hit, then there is a match.
  * **No Match**: *PEPs and Sanctions Results* + *is any* of + *PEPs and Sanctions No Hit*. This rule means that if the PEPs and Sanctions check results in a no hit, then there is no match.

8. Click **Close**.

You have successfully added the PEPs and Sanctions module to your journey and configured the evaluation rules. Next, publish the journey to Preview for testing.

### Step 2: Publish the journey

After adding and configuring the module:

1. Click **Publish to Preview**.
2. Go to the GBG GO Dashboard and copy your Resource ID and Version for testing.

For more information on publishing journeys, refer to the [Publish journey guide](/docs/go-v2/platform/journey-builder/publish-journey).

### Step 3: Start journey with test data

Use the Start journey endpoint to trigger the PEPs and Sanctions screening with test customer data.

Send a POST request to [`/journey/start`](/docs/go-v2/api-reference/endpoint/start-journey):

**Request body**:

```json cURL theme={null}
curl --request POST \
  --url https://eu.platform.go.gbgplc.com/v2/captain/api/journey/start \
  --header 'Authorization: Bearer your_access_token' \
  --header 'Content-Type: application/json' \
  --data '{
    "resourceId": "23cdfdf1822ce2750399eac9508116af26a1403c72996851715c950de09a8983@69wllt84",
    "context": {
      "config": { "delivery": "api" },
      "subject": {}
    }
  }'
```

Replace `your_access_token` with a valid access token. Replace the `resourceId` value with your journey's Resource ID and Version.

**What happens**:

* The API creates a journey instance and returns an `instanceId` that you use in the following steps to drive and inspect the journey.

**Response:**

```json JSON theme={null}
{
    "instanceId": "8OIK7NODGJdqYkBLDs2znY",
    "status": "started",
    "message": "Journey 8OIK7NODGJdqYkBLDs2znY started successfully"
}
```

For more details on starting a journey, refer to the [Start a journey guide](/docs/go-v2/developer-integration/execute-customer-journeys/start-a-journey-step).

### Step 4: Fetch interaction

After the journey starts, fetch the next interaction to find out which fields the journey needs from the end-user. This is also where you obtain the `interactionId` you'll need when submitting data.

Send a POST request to [`/journey/interaction/fetch`](/docs/go-v2/api-reference/endpoint/fetch-interaction):

**Request body**:

```json cURL theme={null}
curl --request POST \
  --url https://eu.platform.go.gbgplc.com/v2/captain/api/journey/interaction/fetch \
  --header 'Authorization: Bearer your_access_token' \
  --header 'Content-Type: application/json' \
  --data '{
    "instanceId": "8OIK7NODGJdqYkBLDs2znY"
  }'
```

**What you receive**:

* The `interactionId` for the current interaction. You will pass this back in the next step.
* The interaction's `collects` list, which describes the data the journey can accept.
* An `outstanding` list, which highlights the fields that must be supplied before the journey can progress.

**Example response**:

```json JSON expandable theme={null}
{
    "instanceId": "8OIK7NODGJdqYkBLDs2znY",
    "interactionId": "grn:::gbg:design:interaction:segment1@latest",
    "journey": {
        "status": "InProgress"
    },
    "interaction": {
        "grId": "grn:::gbg:design:interaction:segment1@latest",
        "resource": {
            "id": "segment1",
            "name": "segment1",
            "version": "latest",
            "type": "interaction",
            "data": {
                "pages": [
                    {
                        "id": "personal_details",
                        "label": "Personal details",
                        "cards": [
                            { "id": "NameCard" },
                            { "id": "GenderCard" },
                            { "id": "DateOfBirthCard" },
                            { "id": "ControlCard" }
                        ]
                    },
                    {
                        "id": "address_details",
                        "label": "Address details",
                        "cards": [
                            {
                                "id": "AddressCard",
                                "config": {
                                    "secrets": {
                                        "loqateApiKey": { "value": "WJ28-WP43-WG34-YD87" }
                                    }
                                }
                            },
                            { "id": "ControlCard" }
                        ]
                    }
                ]
            }
        },
        "collects": [
            { "ref": "FullName", "spec": "required" },
            { "ref": "Gender", "spec": "optional" },
            { "ref": "DateOfBirth", "spec": "optional" },
            { "ref": "CurrentAddress", "spec": "optional", "parentSpec": "optional" }
        ],
        "consumes": []
    },
    "outstanding": [
        "FullName"
    ]
}
```

### Step 5: Submit the end-user's details

Submit the customer data the journey is waiting on. The `outstanding` list from the previous step shows that `FullName` is required. `dateOfBirth` is optional but recommended, as it improves screening accuracy.

Send a POST request to [`/journey/interaction/submit`](/docs/go-v2/api-reference/endpoint/submit-interaction):

**Request body**:

```json cURL theme={null}
curl --request POST \
  --url https://eu.platform.go.gbgplc.com/v2/captain/api/journey/interaction/submit \
  --header 'Authorization: Bearer your_access_token' \
  --header 'Content-Type: application/json' \
  --data '{
    "instanceId": "8OIK7NODGJdqYkBLDs2znY",
    "interactionId": "grn:::gbg:design:interaction:segment1@latest",
    "context": {
      "subject": {
        "identity": {
          "firstName": "John",
          "lastNames": ["Doe"],
          "dateOfBirth": "1985-03-15"
        }
      }
    },
    "participants": [
      { "domainElementId": "FullName" }
    ]
  }'
```

Use the `instanceId` from [Step 3](#step-3-start-journey-with-test-data) and the `interactionId` from [Step 4](#step-4-fetch-interaction). The `participants` array tells the journey which domain element the submitted data belongs to.

**Response:**

```json JSON theme={null}
{
    "status": "success"
}
```

A `success` status confirms that the submitted data was accepted. The journey continues processing in the background. Move on to the next step to retrieve the screening result.

### Step 6: Poll for the screening result

The PEPs and Sanctions screening runs asynchronously. Poll the Fetch journey state endpoint until the journey `status` is `Completed`.

Send a POST request to [`/journey/state/fetch`](/docs/go-v2/api-reference/endpoint/fetch-journey-state):

**Request body**:

```json cURL theme={null}
curl --request POST \
  --url https://eu.platform.go.gbgplc.com/v2/captain/api/journey/state/fetch \
  --header 'Authorization: Bearer your_access_token' \
  --header 'Content-Type: application/json' \
  --data '{
    "instanceId": "8OIK7NODGJdqYkBLDs2znY"
  }'
```

**What you receive**:

* The overall journey `status`. Continue polling while the status is `InProgress`.
* A `steps` array, where each step describes a module that ran in the journey. The PEPs and Sanctions step includes the `outcome` (for example, `MATCH`), the `advice` (decision, hit types, OGM enrolment, candidate scores) and the `note` block (PEP and sanctions match details such as aliases, positions, addresses, and sanctioning bodies).

**Example response**:

```json JSON expandable theme={null}
{
    "instanceId": "8OIK7NODGJdqYkBLDs2znY",
    "status": "Completed",
    "context": {
        "result": {
            "status": "complete",
            "advice": {}
        },
        "process": {
            "instance": {
                "instanceId": "8OIK7NODGJdqYkBLDs2znY",
                "id": "8OIK7NODGJdqYkBLDs2znY"
            },
            "journey": {
                "id": "1334c341594dbec363c1b40ebea28933aab653ea37d9d4d3c209842786898a90",
                "version": "1bfgzreq",
                "name": "Journey Name",
                "startedAt": "2026-05-14T08:55:55.850Z",
                "endedAt": "2026-05-14T08:58:59.540Z",
                "durationMilliSec": 183690,
                "terminateInteraction": {
                    "grId": "grn:::gbg:design:interaction:end@latest",
                    "resource": {
                        "id": "end",
                        "name": "interactionEnd",
                        "version": "latest",
                        "type": "interaction",
                        "data": {
                            "pages": [
                                {
                                    "id": "pagesForEnd",
                                    "cards": [
                                        { "id": "AllDoneCard" }
                                    ]
                                }
                            ]
                        }
                    },
                    "collects": [],
                    "consumes": []
                }
            },
            "steps": [
                {
                    "nodeId": "mp58t9mvo2ainb8t4r",
                    "result": {
                        "outcome": "MATCH",
                        "advice": {
                            "sent_to_ogm": true,
                            "pep_candidate_score": 99,
                            "sanction_candidate_score": 99,
                            "customDecision": null,
                            "decision": "hit",
                            "sanctions_hit": "A match was found against the full name",
                            "pep_hit": "A match was found against the full name",
                            "adverse_media_hit": "Not Available"
                        },
                        "note": {
                            "pep_match_details": [
                                {
                                    "personId": 153448,
                                    "nationality": "US - United States",
                                    "fullname": "John Michael Doe",
                                    "aliases": [
                                        "John Doe",
                                        "J. Michael Doe",
                                        "Johnny Doe"
                                    ],
                                    "positions": [
                                        {
                                            "position": "Member, Federal Legislature (Legislative Branch) (2021-present)",
                                            "country": "US"
                                        },
                                        {
                                            "position": "Former Member, Upper Chamber (2011-2016)",
                                            "country": "US"
                                        }
                                    ],
                                    "tier": 1,
                                    "gender": "Male",
                                    "addresses": [
                                        {
                                            "country": "",
                                            "superAdministrativeArea": "",
                                            "lines": [
                                                "1 Example Street"
                                            ],
                                            "locality": "Chicago"
                                        }
                                    ],
                                    "dates": [
                                        {
                                            "type": "Birth",
                                            "date": "1985-03-15"
                                        }
                                    ]
                                }
                            ],
                            "sanctions_match_details": [
                                {
                                    "aliases": [
                                        "John Doe",
                                        "J. Michael Doe",
                                        "Johnny Doe"
                                    ],
                                    "addresses": [
                                        {
                                            "locality": "Chicago",
                                            "country": "",
                                            "superAdministrativeArea": "",
                                            "lines": [
                                                "1 Example Street"
                                            ]
                                        }
                                    ],
                                    "dates": [
                                        {
                                            "type": "Birth",
                                            "date": "1985-03-15"
                                        }
                                    ],
                                    "fullName": "John Michael Doe",
                                    "bodies": [
                                        "Office of Foreign Assets Control (OFAC)",
                                        "Her Majesty's Treasury/Office of Financial Sanction Implementation (HMT/OFSI)",
                                        "European Union Council (EU)",
                                        "United Kingdom Foreign, Commonwealth & Development Office"
                                    ]
                                }
                            ]
                        },
                        "status": "complete"
                    },
                    "process": {}
                }
            ]
        },
        "subject": {
            "identity": {
                "firstName": "John",
                "lastNames": [
                    "Doe"
                ]
            }
        }
    }
}
```

The response indicates that there was a hit and therefore, the outcome is a "MATCH".

<Note>
  If the status is **Completed**, the PEPs and Sanctions screening has finished processing.
</Note>
