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

# Interpol

> Background check against international lists.

<Update label="Version: 2.0">
  Query international records in Interpol through the Verifik provider, using personal identification data of the user to be verified.

  **Available countries:** 🇨🇴 Colombia
</Update>

## Configuration

<Tabs>
  <Tab title="Inputs">
    <AccordionGroup>
      <Accordion title="Country" icon="globe">
        <ParamField body="Country" type="string" required>
          Variable: `country`. Country in which the query is performed.

          **Available values:** `Colombia`
        </ParamField>

        <Note>
          Currently the country selector is only enabled for Colombia.
        </Note>
      </Accordion>

      <Accordion title="Identification type" icon="id-card">
        <ParamField body="Identification type" type="string" required>
          Variable: `documentType`. Type of identity document, enabled according to the selected country.

          **Available values for Colombia:**

          * `CC`: Cédula de Ciudadanía (Colombian citizens)
          * `PEP`: Permiso Especial de Permanencia (foreigners, mainly Venezuelan)
          * `CE`: Cédula de Extranjería (foreign residents in Colombia)
        </ParamField>
      </Accordion>

      <Accordion title="Identification number" icon="hashtag">
        <ParamField body="Identification number" type="string" required>
          Variable: `documentNumber`. Identity document number of the person to query.
        </ParamField>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Outputs">
    #### ✅ Success

    <AccordionGroup>
      <Accordion title="No criminal record" icon="circle-check">
        Indicates that the queried person **has no criminal record** in Interpol.

        <Tip>
          The response delivered corresponds to the complete response from the Verifik provider.
        </Tip>

        **Response example:**

        ```json theme={null}
        {
          "data": {
            "documentType": "CC",
            "documentNumber": "XXXXXXXXXX",
            "firstName": "FIRST_NAME",
            "lastName": "LAST_NAME",
            "fullName": "FIRST_NAME LAST_NAME",
            "arrayName": [
              "FIRST_NAME",
              "SECOND_NAME",
              "LAST_NAME_1",
              "LAST_NAME_2"
            ],
            "foundInInterpol": false,
            "details": null
          },
          "signature": {
            "dateTime": "June 16, 2025 4:31 PM",
            "message": "Certified by Verifik.co"
          },
          "id": "XXXXX"
        }
        ```

        **Key fields:**

        * `foundInInterpol`: `false` indicates the person has no criminal record in Interpol
        * `details`: `null` when there is no criminal record
      </Accordion>
    </AccordionGroup>

    #### 🔴 Errors

    <AccordionGroup>
      <Accordion title="Has criminal record" icon="triangle-exclamation">
        Indicates that the person **does have a criminal record** in Interpol.

        <Warning>
          The information returned corresponds to the provider's response.
        </Warning>

        **Response example:**

        ```json theme={null}
        {
          "data": {
            "documentType": "CC",
            "documentNumber": "XXXXXXXXXX",
            "firstName": "FIRST_NAME",
            "lastName": "LAST_NAMES",
            "fullName": "FIRST_NAME LAST_NAMES",
            "arrayName": [
              "FIRST_NAME",
              "LAST_NAME"
            ],
            "foundInInterpol": true,
            "details": {
              "totalCards": "2",
              "cards": [
                {
                  "arrestWarrants": [
                    {
                      "issuingCountryId": "CO",
                      "charge": "Description of the charges"
                    }
                  ],
                  "weight": "0",
                  "languagesSpokenIds": [
                    "SPA"
                  ],
                  "height": "1.75",
                  "sexId": "M",
                  "countryOfBirthId": "CO",
                  "distinguishingMarks": null,
                  "eyesColorsId": null,
                  "hairsId": null,
                  "placeOfBirth": "CITY - DEPARTMENT"
                }
              ]
            }
          },
          "signature": {
            "dateTime": "June 16, 2025 4:31 PM",
            "message": "Certified by Verifik.co"
          },
          "id": "XXXXX"
        }
        ```

        **Important fields:**

        * `foundInInterpol`: `true` indicates the person was found with a criminal record
        * `details.totalCards`: Number of records found
        * `details.cards[].arrestWarrants`: List of arrest warrants with specific charges
        * `signature`: Verifik provider certification with date and time of the query
      </Accordion>

      <Accordion title="Missing data" icon="circle-xmark">
        Occurs when not all required parameters are sent to perform the query.

        **Response example:**

        ```json theme={null}
        {
          "code": "MissingParameter",
          "message": "missing documentType\n. missing documentNumber\n"
        }
        ```

        The `message` field indicates which specific parameters are missing in the request.
      </Accordion>

      <Accordion title="No records" icon="magnifying-glass">
        Occurs when the provider indicates that no record associated with the queried identification was found (Not Found).

        **Response example:**

        ```json theme={null}
        {
          "code": "NotFound",
          "message": "Record not found."
        }
        ```

        <Note>
          There is a difference between "no criminal record" and "no records". The first indicates the person was found and has no criminal record, while the second indicates no record of that person was found in the system.
        </Note>
      </Accordion>

      <Accordion title="Unexpected error" icon="bug">
        Occurs when an unforeseen event happens during the query process.
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

## Integration

<Steps>
  <Step title="Capture the user's data">
    Collect the country, document type, and identification number from the user in your flow.

    <Tip>
      Use the [Question node](/guides/nodos/pregunta) or [user variables](/guides/variables/user) to capture this information.
    </Tip>
  </Step>

  <Step title="Configure the parameters">
    Assign the captured values to the tool's required parameters:

    * `country`: Query country
    * `documentType`: Document type according to the country
    * `documentNumber`: Identification number
  </Step>

  <Step title="Handle the outputs">
    Implement different flows based on the result:

    * **✅ No criminal record:** Continue the normal process
    * **🔴 Errors:** Implement retries, validations, or notify the user
  </Step>

  <Step title="Store the results">
    Save the response in [memory variables](/guides/variables/memory) to use in subsequent flow decisions.

    ```javascript theme={null}
    // Example: Check whether the person has a criminal record
    if (response.data.foundInInterpol === true) {
      // Flow for persons with criminal record
    } else {
      // Flow for persons without criminal record
    }
    ```
  </Step>
</Steps>

## Additional information

**Country dependency:** the available identification type depends on the country you select in the query.

**Provider response:** the query result depends directly on the information returned by the Verifik provider.

**Result interpretation:** distinguish between no criminal record (person verified without a criminal record) and no records (person not found in the system).
