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
Name | Type | Required | Description |
---|---|---|---|
externalUserId | string | Yes | External user id (from your system) |
documentType | string | Yes | Enum: [ "ID_CARD", "PASSPORT", "RESIDENCE_PERMIT", "DRIVER_LICENSE" ] |
country | string | Yes | ISO 3166-1 alpha-2 country code. Country of residence |
incomeSource | string | Yes | Enum: [ "BUSINESS_ACTIVITY", "SALARY", "OTHER", "MAINTAINED_BY_FAMILY", "INVESTMENTS", "SOCIAL_BENEFITS", "TENANCY" ] |
openAccountReason | string | Yes | Enum: [ "INVESTMENTS_OR_CRYPTOCURRENCIE", "CURRENCY_EXCHANGE", "DAILY_USE", "GAMING_OR_GAMBLING", "TRANSFER_OF_FUNDS_OUTSIDE_OF_EUROPE" ] |
taxId | string | No | Client's tax residency list. Required only if incomeSource is BUSINESS_ACTIVITY |
occupation | string | No | Enum: [ '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 |
additionalInfo | string | No | Aditional 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
Name | Type | Required | Example | Description |
---|---|---|---|---|
externalUserId | string | Yes | f9b430dc-7e1a-42a0-bbb4-9003935ea9f9 | External user id (from your system) |
verificationId | string | Yes | 8c394557-ba48-4ab4-9349-84d396b4a7f7 | Verification 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
Name | Type | Required | Example | Description |
---|---|---|---|---|
externalUserId | string | Yes | f9b430dc-7e1a-42a0-bbb4-9003935ea9f9 | External 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"
}