Onboarding Flow
This document describes the full onboarding flow for individual and business customers, with references to API endpoints.
1. Provide Requested Information (Application)
Submit initial onboarding data for an individual or business entity via:
POST /kycp/public/application
See: Post KYC Application
2. Upload Required Documents (One by One)
POST /kycp/public/{customerId}/upload
See: Post Upload Document (Customer)
-
For each person entity:
- ID document: one of
passport
,driversLicense
,idDocument
, orbiometric
- Address document:
Utility Bill
orBank Statement
(issued within the last 3 months)
- ID document: one of
-
For a business entity, additionally provide:
Incumbency Certificate
+Articles of Association
- OR
Register of Shareholders
+Register of Directors
+Certificate of Incorporation
- If
Operating address ≠ Registered address
, provide Proof of Operating Address
3. Monitor Customer Status
You can track the status of an onboarding customer via:
-
Subscribe to
customerStateUpdated
webhook
See: Webhook Events -
Or retrieve state directly:
GET/kycp/customers/{customerId}
See: Get Customer by ID
Possible states:
New
– Application created, some mandatory fields are missingReview
– Application is under compliance reviewActive
– Customer approved by complianceInactive
– Technical stateRejected
– Application rejected by compliance
4. Manage Onboarding Information Requests (OIRs)
4.1 Monitor OIRs
-
Subscribe to
onboardingInformationRequestStatusChanged
webhook See: Webhook Events -
Check active onboarding information requests:
GET/kycp/onboarding-information-requests
See: Get OIRs -
Or monitor your
notification
mailbox for updates.
4.2 Retrieve Details of a Specific OIR
GET /kycp/onboarding-information-requests/{id}
See: Get OIR by ID
- Parse each
onboardingDocumentRequestId
from the response.
4.3 Upload Documents for Each OIR Item
For each onboardingDocumentRequestId
, upload the requested document:
POST /kycp/public/{customerId}/upload
See: Post Upload Document
- Include the
onboardingDocumentRequestId
in the request. - If a document is unavailable or you want to provide additional context, use the
comment
field.
4.4 Check OIR State After Upload
Check the current state of the OIR:
GET /kycp/onboarding-information-requests/{id}
See: Get OIR by ID
- The OIR remains
isActive: true
until everyonboardingDocumentRequestId
is marked as either:isSkipped: true
isUploaded: true
5. Repeat Steps 3–4 If Necessary
Continue monitoring status and handling OIRs until the onboarding process is completed.
Application Completion Details
In the onboarding application, provide detailed information about the Customer who will use the service:
- Customer = entity holding accounts
- Customer is managed by person entities, all of whom are verified by compliance.
Guidelines:
- For Individual customers: provide details for 1 person only.
- For Business customers:
- Provide details for at least 1 person and all company information.
- ✅ A full list of company directors is required.
- ✅ For each person, explicitly specify their role with the
directorType
field.
We also recommend providing your own GUIDs for Customer
and Person
entities to map them to your internal records.
Individual Application
- Created when the
individualDetails
object is provided. - Only the first person is processed (subsequent persons are ignored if mistakenly included).
Business Application
- Created when the
businessDetails
object is provided.
If both businessDetails
and individualDetails
are provided, only a business application is created.
Country Code Lookup
Use the following endpoint to retrieve country codes:
GET /dictionaries/countries
See: Get Country Codes