Skip to main content

KYC by P100

This module contains endpoints for managing KYC verifications via P100.
Each successful KYC verification is subject to a fee.
Performing this verification replaces manual addition of KYC files - /v1/user/kyc-files/:externalUserId.

Standard flow:

  • Creating KYC verification - /v1/kyc
  • Redirect to verification - /v1/kyc/verification/:externalUserId/:verificationId

Creating KYC verification

Method: POST
Endpoint: /v1/kyc

Request

Request body - required

NameTypeRequiredDescription
externalUserIdstringYesExternal user id (from your system)
documentTypestringYesEnum: [ "ID_CARD", "PASSPORT", "RESIDENCE_PERMIT", "DRIVER_LICENSE" ]
countrystringYesISO 3166-1 alpha-2 country code. Country of residence
incomeSourcestringYesEnum: [ "BUSINESS_ACTIVITY", "SALARY", "OTHER", "MAINTAINED_BY_FAMILY", "INVESTMENTS", "SOCIAL_BENEFITS", "TENANCY" ]
openAccountReasonstringYesEnum: [ "INVESTMENTS_OR_CRYPTOCURRENCIE", "CURRENCY_EXCHANGE", "DAILY_USE", "GAMING_OR_GAMBLING", "TRANSFER_OF_FUNDS_OUTSIDE_OF_EUROPE" ]
taxIdstringNoClient's tax residency list. Required only if incomeSource is BUSINESS_ACTIVITY
occupationstringNoEnum: [ 'IT', 'HEALTHCARE_AND_MEDICAL_SERVICES', 'FINANCE_AND_ACCOUNTING', 'EDUCATION_AND_TEACHING', 'SALES_AND_MARKETING', 'ENGINEERING', 'CUSTOMER_SERVICE', 'ADMINISTRATION_AND_OFFICE_MANAGEMENT', 'LEGAL_SERVICES', 'ARTS_AND_DESIGN', 'RETAIL_AND_SALES', 'CONSTRUCTION_AND_TRADES', 'HUMAN_RESOURCES', 'MANUFACTURING_AND_PRODUCTION', 'SCIENCE_AND_RESEARCH' ]. Required only if incomeSource is SALARY
additionalInfostringNoAditional info to income source. Required only if incomeSource is SALARY, OTHER, MAINTAINED_BY_FAMILY, INVESTMENTS, SOCIAL_BENEFITS, TENANCY.

 

Example body request

{
"externalUserId": "bca65c48-df49-4831-a7b2-de7903321581",
"documentType": "ID_CARD",
"country": "PL",
"incomeSource": "SALARY",
"openAccountReason": "INVESTMENTS_OR_CRYPTOCURRENCIE",
"occupation": "IT",
"additionalInfo": "I am a programmer"
}

Response

Code: 200
Description: Kyc verification created

Example response

{
"verificationId": "a029f3d5-f60f-493c-bc59-d2026214c491"
}

 

Code: 400
Description: KYC verification pending

Example response

{
"errorCode": "P212",
"errorName": "kyc-verification-pending"
}

 

Code: 400
Description: KYC already verified

Example response

{
"errorCode": "P450",
"errorName": "kyc-already-verified"
}

 

Code: 400
Description: Insufficient funds

Example response

{
"errorCode": "P433",
"errorName": "insufficient-funds"
}

 

Code: 400
Description: Verification process has been started too many times

Example response

{
"errorCode": "P453",
"errorName": "too-many-kyc-verification-retires"
}

Redirect to verification

Method: GET
Endpoint: /v1/kyc/verification/:externalUserId/:verificationId

Request

Parameters - required

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)
verificationIdstringYes8c394557-ba48-4ab4-9349-84d396b4a7f7Verification id (from our system)

Response

Code: 200
Description: Redirect to verification

You will be redirected to the verification page

 

Code: 404
Description: KYC verification not found

Example response

{
"errorCode": "P445",
"errorName": "kyc-verification-not-found"
}

Get KYC status

Method: GET
Endpoint: /v1/kyc/status/:externalUserId

Request

Parameters - required

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)

Response

Code: 200
Description: Kyc verification status

Example response

{
"status": "NOT_VERIFIED",
"attemptStatus": "REJECTED_BY_PROVIDER",
"rejectionReason": "NO_FACE_FOUND"
}

 

Code: 404
Description: KYC verification not found

Example response

{
"errorCode": "P445",
"errorName": "kyc-verification-not-found"
}