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

# Troubleshooting

> Common issues with API references

This page covers the common errors you might encounter when sending requests to the APIs.

<AccordionGroup>
  <Accordion title="Journey completes immediately with no module results">
    This is usually caused by the selected modules in the Journey builder not having the needed credentials. In this case, the journey completes with a `201` status code but returns no module results.

    To confirm this, send a `POST` request to the [`/journey/state/fetch`](/docs/go-v2/api-reference/endpoint/fetch-journey-state) endpoint. You will receive a response showing the `GET_CREDENTIALS_ERROR` code.

    To resolve this, contact your GBG GO account manager to update the credentials for your modules.

    <Note>
      When you call the `/journey/state/fetch` endpoint and receive a "COMPLETED" status (rather than a credentials error), this means that the journey has been successfully finished and no further action is required.
    </Note>
  </Accordion>

  <Accordion title="Immediate logout after authentication">
    If you are a new user who attempts to log in to GBG GO with valid credentials but is immediately logged out, this might be because your organization hasn't been created in the system yet. The account exists, but without an associated organization, the system cannot direct you to your dashboard and automatically logs you out.

    To resolve this, contact your GBG GO account manager for help troubleshooting the issue.
  </Accordion>

  <Accordion title="Webhook fires before the journey completes">
    The Webhook module is a variant, so when the webhook fires, the journey technically hasn't completed yet. Calling `/journey/state/fetch` immediately after receiving the webhook can return a state that doesn't yet reflect journey completion.

    To handle this:

    * Implement a short delay before calling `/journey/state/fetch` after receiving the webhook.
    * Implement a retry mechanism on your `/journey/state/fetch` call to handle cases where the state isn't yet finalised.
  </Accordion>

  <Accordion title="PEPs and Sanctions screening only matches on city and country, not the full address">
    #### Symptom

    You submit a full street address in the PEPs and Sanctions request, but the screening results only appear to consider the subject's name, date of birth, and country. This leads to more false positive matches than expected, particularly in ongoing monitoring (OGM).

    #### Cause

    The PEPs and Sanctions screening service only uses **country** and **city (locality)** when matching an address.

    It does not use street-level detail. This is by design, the service compares submitted details against watchlist records, which themselves typically only hold country and city-level address data.

    You can see this in the available hit types. The most granular address-based match codes are `Full name, DOB, city and country matched` and `Full name, city and country matched`.

    There is no match type that includes street name or building number.

    For details, see the [PEPs and Sanctions module reference](/docs/go-v2/platform/modules/compliance-screening/peps-and-sanctions).

    The [input payload](/docs/go-v2/platform/modules/compliance-screening/peps-and-sanctions#input-payload) reflects this, the `currentAddress` object only accepts `locality` and `country`:

    ```json JSON theme={null}
    {
      "context": {
        "subject": {
          "identity": {
            "firstName": "<string>",
            "lastNames": ["<string>"],
            "dateOfBirth": "<YYYY-MM-DD>",
            "currentAddress": {
              "locality": "<string>",
              "country": "<ISO 3166-1 alpha-3 country code>"
            }
          }
        }
      }
    }
    ```

    #### Resolution

    To improve match accuracy and reduce false positives, always populate both `currentAddress.locality` (city or town) and `currentAddress.country` when they are available.

    Providing the city in addition to the country gives the screening service more identity elements to match against, which narrows results and lowers the false positive rate. Street-level fields are not used and do not need to be sent.
  </Accordion>
</AccordionGroup>
