Integration with PEP Scoring
PEP (Politically Exposed Person) verification scoring automatically checks users against the PEP database during the verification process.
How it works
Section titled “How it works”Unlike email and phone scoring, no additional data needs to be transmitted when creating a user. The PEP check is performed automatically.
After the user completes the challenge, X-Faces will score PEP, record the result, and send a callback to the partner. The partner can request user data via API:
GET /v1/user/get/<user_uuid>
{ "result": true, "data": { "user": { // ... other user fields "pep_data": { "is_pep": true, "id": 2005, "created_at": "2019-05-21T00:00:00+00:00", "full_name": "TUDOR CIUHODARU", "birth_date": "1969-01-16", "country": "rou", "email": null, "gender": "male", "updated_at": "2025-07-21T14:20:33+00:00", "last_checked": "2025-07-31T14:58:55.249881+00:00", "classification": [ "International organization (past)", "National government (unknown status)" ], "position": [ "Chamber of Deputies (member, 2016-)", "Chamber of Deputies (member, 2012-2016)" ], "data": { "id": "Q12742616", "name": "TUDOR CIUHODARU", "type": "TypePerson[sources]", "gender": "male", "schema": "Person", "target": true, "caption": "Tudor Ciuhodaru", "country": "European Union", "datasets": [ "everypolitician", "ann_pep_positions", "wd_categories", "wd_peps" ], "position": "Chamber of Deputies (member, 2012-2016)", "last_name": "CIUHODARU", "last_seen": "2025-07-21T14:20:33", "referents": [ "evpo-45762c0e-a931-4ed9-a9a4-a56dc2015520", "eu-meps-197657", "NK-aM8KuG3FXfykDRx4U97kxN" ], "birth_date": "1969-01-16", "first_name": "TUDOR", "first_seen": "2019-05-21T00:00:00", "other_name": "CIUHODARU TUDOR", "properties": { "name": [ "Tudor Ciuhodaru" ], "alias": [ "Ciuhodaru Tudor" ], "gender": [ "male" ], "topics": [ "role.pep" ], "country": [ "eu", "ro" ], "position": [ "Chamber of Deputies (member, 2016-)", "Chamber of Deputies (member, 2012-2016)" ], "birthDate": [ "1969-01-16" ], "firstName": [ "Tudor" ], "modifiedAt": [ "2019-05-13" ], "wikidataId": [ "Q12742616" ], "citizenship": [ "ro" ], "nationality": [ "ro" ], "classification": [ "International organization (past)", "National government (unknown status)" ] }, "citizenship": "Romania", "last_change": { "first_seen": "2019-05-21", "last_change": "2025-07-01", "last_processed": "2025-07-02" }, "nationality": "Romania", "wikidata_id": "Q12742616", "classification": "International organization (past)", "place_of_birth": "Bacau" } } }, "challenges": { // ... challenges data } }}Response Fields
Section titled “Response Fields”Main Fields
Section titled “Main Fields”| Field | Type | Description |
|---|---|---|
is_pep | boolean | Indicates whether the person is identified as PEP |
full_name | string | Full name of the person |
birth_date | string | Birth date in format yyyy-mm-dd |
country | string | Country code (ISO 3166-1 alpha-3) |
gender | string | Gender of the person |
classification | array | Classification categories (e.g., government official, international organization) |
position | array | Political positions held by the person |
created_at | string | Date when the record was created in the database |
updated_at | string | Date when the record was last updated |
last_checked | string | Date when the person was last checked against the database |
Data Object
Section titled “Data Object”The data field contains detailed information from OpenSanctions database:
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier in OpenSanctions |
wikidata_id | string | Wikidata identifier |
schema | string | Entity schema type |
datasets | array | List of datasets containing information about this person |
citizenship | string | Country of citizenship |
nationality | string | Nationality |
place_of_birth | string | Place of birth |
first_seen | string | Date when first recorded in the database |
last_seen | string | Date when last updated in source databases |
Non-PEP Response
Section titled “Non-PEP Response”If the user is not identified as a PEP, the response will be:
{ "result": true, "data": { "user": { // ... other user fields "pep_data": { "is_pep": false } }, "challenges": { // ... challenges data } }}