PEPData - Knowledge Repository
English
English
  • The Application
    • Transaction Register
      • Transaction risk categorization
    • Customer Register
      • Customer import
      • Risk categorization of individual persons/organizations
  • API
    • Overview
    • Validations
    • Registers
    • Search
    • Adverse Media
    • Beneficial Owners
    • Users
    • PEPData list integration
    • Examples of use
Powered by GitBook
On this page
  • Get records
  • Label
  • Add one record
  • Label
  • Edit one record
  • Label
  • Delete one record
  • Cancel the submission of a record
  • Label
  • Send an invitation to fill in a record
  • Cancel an invitation to fill in a record
  • Assign a user to a record
  • Assign departments to a record
  • Edit the state of approval of a record
  • Revert the risk of a record
  • Label
  • Reset the state
  • Submit the records
  • Label

Was this helpful?

  1. API

Registers

n of the API is still under development and may change considerably. This page is under development.

Get records

POST https://www.pepdata.com/api/get_questionnaires

Endpoint to get customer and transaction records.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id

string

Id of the register or transaction

search_term

string

Terms of search: Search on name, vatin and id_custom columns

page

integer

page of the registers or transactions Default: 1

id_custom

string

Custom id of the register or transaction

type

String

Type of the registers

Default: customer

Accepted values:

customer

transaction

relationship

{
    "data": {
        "items": [
            {
                "id": "7dd49ce1-9385-0cd1-7835-828393771ea0",
                "name": "individual",
                "vatin": null,
                "value": "{\"entity_proof\":{\"type\":\"\",\"identification_metadata\":{\"document_number\":\"\",\"document_validity\":\"\",\"is_document_perpetual\":\"\",\"document_issuing_entity\":\"\",\"document_issuing_date\":\"\",\"document_issuing_location\":\"\"},\"documentUpload\":{\"files\":[],\"type\":null,\"source\":null,\"extraData\":null,\"is_trustworthy\":null}},\"personal_data\":{\"name\":\"individual\",\"vatin\":null,\"email\":\"\",\"birth_date\":\"\",\"nationalities\":[],\"birth_place\":\"\",\"documentUpload\":{\"files\":[]}},\"address_data\":{\"type\":null,\"country\":null,\"cep\":\"\",\"address_line_1\":\"\",\"address_line_2\":\"\",\"city\":\"\",\"district\":\"\",\"documentUpload\":{\"files\":[],\"type\":null,\"source\":null,\"extraData\":null,\"is_trustworthy\":null}},\"occupation_data\":{\"type\":null,\"profession\":\"\",\"employer\":\"\",\"eni\":{\"commercial_name\":\"\",\"is_same_address\":null,\"address\":{\"country\":null,\"cep\":\"\",\"address_line_1\":\"\",\"address_line_2\":\"\",\"city\":\"\",\"district\":\"\"},\"cae\":\"\"},\"documentUpload\":{\"files\":[],\"type\":null,\"source\":null,\"extraData\":null,\"is_trustworthy\":null}},\"data_verification\":{\"type\":null,\"client_email\":\"\",\"documentUpload\":{\"files\":[],\"type\":null,\"source\":null,\"extraData\":null,\"is_trustworthy\":null},\"invite_sent\":false},\"adverse_media_data\":{\"adverse_media\":[]},\"suspicion_data\":{\"is_suspect\":null,\"reason\":\"\"},\"questionnaire_id\":\"7dd49ce1-9385-0cd1-7835-828393771ea0\",\"name\":\"individual\"}",
                "entity_type": "individual",
                "main_entity_subtype": "regular",
                "relations": null,
                "added_by": "cd9f4a64-ab25-4efb-bf31-323ee2280095",
                "added_at": 1693489958769,
                "submitted_at": null,
                "submitted_by": null,
                "approval_state": null,
                "approval_change_reason": null,
                "risk": 0,
                "risk_change_reason": null,
                "saved_at": 1693491414116,
                "assigned_to": null,
                "id_invited_user": null,
                "locked_by": null,
                "locked_at": null,
                "invited_submission_by": null,
                "invited_submission_at": null,
                "data_treatment_accepted_at": null,
                "needs_attention": null,
                "id_organization": "6cc1b6c1-33a9-4095-a4a4-aaca0db8d647",
                "id_custom": null,
                "invited_at": null,
                "invited_by_organization_name": null,
                "language": null,
                "organization_id_country": "PT",
                "id_iperson": "ID1",
                "type": "customer",
                "id_questionnaire_data": "4ba763f9-6675-949b-482c-35c689991d65",
                "risk_category": "low"
            }
        ],
        "page": 1,
        "max_results_per_page": 10,
        "count": 1,
        "total": 1
    },
    "version": "0.1",
    "timestamp": 1648132877766
}

Label

  • id: id of the register.

  • name: name of the register.

  • vatin: vat number of the register.

  • value: information of the register.

  • entity_type: type of entity (individual, organization or transaction).

  • main_entity_subtype: subtype of the entity (representative, beneficiary owner, etc.).

  • relations: relations associated with the register.

  • added_by: id of the user who added the register.

  • added_at: date the register was added, in the form of a number of milliseconds since January 1, 1970 00:00:00 UTC.

  • submitted_at: date the register was submitted, in the form of a number of milliseconds since January 1, 1970 00:00:00 UTC.

  • submitted_by: id of the user who submitted the register.

  • approval_state: approval status of the register (0 - awaiting decision, 1 - approved, -1 - rejected).

  • approval_change_reason: justification for changing the approval status.

  • risk: risk value of the register.

  • risk_change_reason: justification for changing the risk category.

  • saved_at: date the register was last saved, in the form of a number of milliseconds since January 1, 1970 00:00:00 UTC.

  • assigned_to: id of the person responsible for the register.

  • id_invited_user: id of the user invited to complete the register.

  • locked_by: id of the user who has the register open.

  • locked_at: date the register was last opened, in the form of a number of milliseconds since January 1, 1970 00:00:00 UTC.

  • invited_submission_by: id of the invited user who accepted the invitation to complete.

  • invited_submission_at: date on which the invitation to complete was accepted, in the form of a number of milliseconds since January 1, 1970 00:00:00 UTC.

  • data_treatment_accepted_at: date on which the guest user data processing conditions were accepted, in the form of a number of milliseconds since January 1, 1970 00:00:00 UTC.

  • needs_attention: boolean that describes whether the register needs attention.

  • id_organization: id of the organization that created the register.

  • id_custom: customizable id entered by the user.

  • invited_at: date on which the invitation to complete was sent, in the form of a number of milliseconds since January 1, 1970 00:00:00 UTC.

  • invited_by_organization_name: name of the organization that sent the invitation to complete.

  • language: language in which the invitation to complete was sent.

  • id_iperson: id of the corresponding identifiable person. null if there was no match.

  • type: type of the register.

  • id_questionnaire_data: id of the record where the questionnaire's info is stored.

  • risk_category: category in which the risk value falls.

Add one record

POST https://www.pepdata.com/api/add_questionnaire

Endpoint to get customer and transaction records.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

name*

string

Name of the register or transactions

id_custom

string

Custom id of the register

type*

integer

Type of register Values accepted: individual (Register of an individual person) organization (Register of an organization) transaction (Transaction)

vatin

string

Vat number of the register

questionnaire_data

json

Depending on each type of record, different objects are necessary individual

{

"personal_data": {

"email": "[email protected]",

"birth_date": "2010-10-10",

"nationalities": ["Portugal"],

"birth_place": "Portugal"

},

"entity_proof": {

"identification_metadata": {

"document_number": 123456789,

"is_document_perpetual": false,

"document_validity": "2023-05-20",

"document_issuing_entity": "Test",

"document_issuing_date": "2013-05-20",

"document_issuing_location": "Test"

},

},

"address_data": {

"type": "residence", ** "country":"Portugal",

"cep":"1234-567",

"address_line_1":"Rua X",

"address_line_2":"nº123", "city":"Lisboa",

"district":"Lisboa"

},

"suspicion_data": {

"is_suspect": false,

"reason": "Test"

},

}

**Accepted values:

residence

fiscal_residence

headquarters

organization

{

"company_data": {

"brand_name": "Brand Name",

"object": "test",

"caes": ["01111"],

"country": "Portugal",

"foundation_date": "2005-02-01",

"countries_operations": ["Portugal"]

},

"entity_proof": {

"national_headquarters": true

},

"beneficiary_data": {

"codigo_rcbe": "123456"

},

"address_data": {

"country":"Portugal", "cep":"1234-567", "address_line_1":"Rua X", "address_line_2":"nº 123", "city":"Lisboa", "district":"Lisboa"

},

"suspicion_data": {

"is_suspect": false,

"reason": "Test"

},

}

transaction

{

"buyer": {

"acquisition_purpose": "test purpose",

},

"basic_information": {

"sell_type": "good",

"description": "test description",

"observations": "test observations"

},

"suspicion_data": {

"is_suspect": false,

"reason": "Test"

},

}

{
    "version": 0.1,
    "timestamp": 1660060397561,
    "data": {
        "id": "aa199264-c62e-3763-e3a5-68127b070720",
        "risk": 0,
        "risk_category": "low"
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1660060761083,
        "message": "A record with the same vat number or custom id already exists."
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1660060761083,
        "message": "A record with the same custom id already exists."
    }
}

{
    "message": {
        "version": 0.1,
        "timestamp": 1697022539285,
        "message": "vatin: The VAT identification number is invalid. If it's international, enter the country code at the beginning. Ex.: FR12345678901 for a French VAT identification number."
    }
}

Label

  • id: id of the register or transaction created.

  • risk: risk value of the new register/transaction.

  • risk_category: category in which the risk value of the new register/transaction falls.

Edit one record

POST https://www.pepdata.com/api/edit_questionnaire

Endpoint to edit a register of a customer or transaction.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id*

string

Id of the register or transaction

questionnaire_data

json

{
    "version": 0.1,
    "timestamp": 1660061942863,
    "data": {
        "risk": 0,
        "risk_category": "low"
    }
}

{
    "message": {
        "version": 0.1,
        "timestamp": 1697023379895,
        "message": "The intended record was not found."
    }
}

Label

  • risk: risk value of the edited register/transaction.

  • risk_category: category in which the risk value of the edited register/transaction falls.

Delete one record

POST https://www.pepdata.com/api/delete_questionnaire

Endpoint to delete a register of a customer or transaction.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id*

string

Id of the register or transaction

{
    "version": 0.1,
    "timestamp": 1695892485159,
    "data": {
        "message": "The record was successfully deleted."
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1697023379895,
        "message": "The intended record was not found."
    }
}

Important: You may get an error when deleting a record if it has dependencies with other records.

Cancel the submission of a record

POST https://www.pepdata.com/api/unsubmit_questionnaire

Endpoint to cancel the submission of a register of a customer or transaction.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id*

string

Id of the register or transaction

{
    "version": 0.1,
    "timestamp": 1695893220141,
    "data": {
        "risk": 0,
        "risk_category": "low"
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1697023379895,
        "message": "The intended record was not found."
    }
}

Canceling the submission will recalculate the register risk. If you have a manually configured risk category, it will be lost.

Label

  • risk: recalculated risk from customer or transaction records.

  • risk_category: category in which the recalculated risk value of the customer registration/transaction falls.

Send an invitation to fill in a record

POST https://www.pepdata.com/api/send_questionnaire_invite

Endpoint to send an invitation to fill in a register of a customer or transaction.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id*

string

Id of the register or transaction

client_email*

string

Email of the invited client

language

string

Language in which the invitation should be sent

Default: pt-PT Accepted values: pt-PT (Portuguese) en (English)

es (Spanish)

{
    "version": 0.1,
    "timestamp": 1695997097315,
    "data": {
        "message": "Invitation sent to {{client_email}}."
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1697023379895,
        "message": "The intended record was not found."
    }
}

Cancel an invitation to fill in a record

POST https://www.pepdata.com/api/cancel_questionnaire_invite

Endpoint to cancel an invitation to fill in a register of a customer or transaction.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id*

string

Id of the register or transaction

client_email*

string

Email of the invited client

{
    "version": 0.1,
    "timestamp": 1695997713238,
    "data": {
        "message": "Invitation from {{client_email}} has been canceled."
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1697023379895,
        "message": "The intended record was not found."
    }
}

Assign a user to a record

POST https://www.pepdata.com/api/assign_user_to_questionnaire

Endpoint to assign a user to a register of a customer or transaction.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id*

string

Id of the register or transaction

id_user*

string

Id of the user

{
    "version": 0.1,
    "timestamp": 1695999232282,
    "data": {
        "message": "Responsible changed to {{user_name}}."
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1697023379895,
        "message": "The intended record was not found."
    }
}

Assign departments to a record

POST https://www.pepdata.com/api/assign_departments_to_questionnaire

Endpoint to assign departments to a register of a customer or transaction.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id*

string

Id of the register or transaction

departments*

json

Array of departments Exemple: ["Financial"]

{
    "version": 0.1,
    "timestamp": 1696001921643,
    "data": {
        "message": "Departments successfully assigned."
    }
}

{
    "message": {
        "version": 0.1,
        "timestamp": 1697025520974,
        "message": "An error has occurred while associating departments to the registry. Check that the departments you are associating do exist on the \\'Settings\\' page."
    }
}

Edit the state of approval of a record

POST https://www.pepdata.com/api/edit_questionnaire_approval_state

Endpoint to edit the state of approval of a register of a customer or transaction.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id*

string

Id of the register or transaction

approval_state*

string

State of approval Accepted values: -1 (Rejected) 0 (Undecided) 1 (Approved)

approval_change_reason*

string

Justification for changing approval status

{
    "version": 0.1,
    "timestamp": 1696002523053,
    "data": {
        "message": "Approval state successfully edited."
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1697023379895,
        "message": "The intended record was not found."
    }
}

Revert the risk of a record

POST https://www.pepdata.com/api/revert_questionnaire_risk

Endpoint to revert the current risk of a register of a customer or transaction.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id*

string

Id of the register or transaction

{
    "version": 0.1,
    "timestamp": 1696238603806,
    "data": {
        "risk": 0,
        "risk_category": "low"
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1697023379895,
        "message": "The intended record was not found."
    }
}

Label

  • risk: risk calculated of the register of a customer or transaction.

  • risk_category: category in which the risk value of the customer registration/transaction falls.

Reset the state

POST https://www.pepdata.com/api/reset_questionnaire_needs_attention

Endpoint to reset the state "Needs attention" of a register of a customer or transaction.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

id*

string

Id of the register or transaction

{
    "version": 0.1,
    "timestamp": 1696239199674,
    "data": {
        "message": "Needs attention status successfully reseted."
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1697023379895,
        "message": "The intended record was not found."
    }
}

Submit the records

POST https://www.pepdata.com/api/submit_questionnaires

Endpoint that automatically submits all the unsubmitted records.*

*This action is limited to 8000 records each time.

Headers

Name
Type
Description

Authorization*

string

key [API_KEY]

Request Body

Name
Type
Description

type*

string

Type of the records to submit.

Accepted values: customers transactions

{
    "version": 0.1,
    "timestamp": 1695983552463,
    "data": {
        "time_to_conclusion": 1
    }
}
{
    "message": {
        "version": 0.1,
        "timestamp": 1708706955487,
        "message": "The type is not valid."
    }
}

Label

  • time_to_conclusion: estimated time in seconds for the operation to complete.

PreviousValidationsNextSearch

Last updated 6 months ago

Was this helpful?

organization_id_country: country of the organization that created the record in format.

You can only edit the value you need: Check (questionnaire_data) to see which properties are accepted.

ISO 3166-1 alpha-2
add_questionnaire