Skip to main content

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

Check application completion details below


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, or biometric
    • Address document: Utility Bill or Bank Statement (issued within the last 3 months)
  • 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:

Possible states:

  • New – Application created, some mandatory fields are missing
  • Review – Application is under compliance review
  • Active – Customer approved by compliance
  • Inactive – Technical state
  • Rejected – 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 every onboardingDocumentRequestId 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.
Note

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