Individual Account Creation and Onboarding API Reference

Individual Endpoints

  • POST/accounts/individual
  • POST/onboardings/individual
  • GET/onboardings/{id}/resume

Account Creation Endpoint

  • POST/accounts/individual

Category: individual

Attribute

Required

Example

Data Type

Description

firstName

Yes

Johnathan

string

The first name of the individual.

lastName

Yes

Lamary

string

The last name of the individual.

birthDate

Yes

1973-06-01

date

The birth date of the individual, format: YYYY-MM-DD.

email

Yes

JLamry55@gmail.com

regex

The email address of the individual.

birthCountry

Yes

FR

enum

The country where the individual was born, two-letter country code (ISO-2).

nationalities

Yes

FR, GB

string

The nationalities of the individual in two-letter country codes (ISO-2).

        country

Yes

FR

string

The country where the individual resides, two-letter country code.

profile

Yes

PROJECT_HOLDER

Other example profiles include:
DONOR, INVESTOR, LENDER, BUYER, MERCHANT, CREDITOR, OPERATOR, CONTENT_EDITOR, OTHER_OPERATOR

enum

The profile type of the individual.

  • *Note:** Only one profile will be permitted this is linked with the end-user's activity.

walletId

Yes

f2470b35-4dd4-4fe1-bab2-f8c763ebcef5

string

A unique identifier for the individual's wallet.

{
    "individual": {
        "firstName": "Jonathan",
        "lastName": "Lamary",
        "birthDate": "1973-06-01",
        "email": "JLamry55@gmail.com",
        "address": {
            "country": "FR"
        },
        "birthCountry": "FR",
        "nationalities": [
            "FR",
            "GB"
        ]
    },
    "profile": "PROJECT_HOLDER",
    "walletId": "{{$randomUUID}}",
}

Onboarding Endpoint

  • POST/onboardings/individual

Category: personal-information

To initiate the Online Onboarding process using the POST/onboardings/individual endpoint, you need to submit the same data you used for account creation, along with the accountId we provided.

All other data are optional to initiate an Online Onboarding and will be collected directly from the end-user, ensuring compliance with KYC requirements without additional data input from your side.

This information is on the first category of information required:

{
    "accountId": "{{accountId}}",
    "individual": {
        "firstName": "Jonathan",
        "lastName": "Lamary",
        "birthDate": "1973-06-01",
        "email": "JLamry55@gmail.com",
        "address": {
            "country": "FR"
        },
        "birthCountry": "FR",
        "nationalities": [
            "FR",
            "GB"
        ]
    },
}

📘

Note

Some end-user personal information may be prefilled when they open onboarding page for the first time, notably the name, email and contact details. We use the initial end-user data you sent us to inject into online onboarding page.

Attribute

Required

Description

Data Type

Example

FirstName

Yes

Official first name that appears on the user's legal documents, such as a passport.

string

Jonathan (not John)

LastName

Yes

Official last name that appears on the user's legal documents.

string

Doe

OtherName

No

Maiden name/married name, used name, pseudo.

string

Smith

Birthdate

Yes

Format: YYYY-MM-DD

date

1980-07-10

BirthCity

Yes

City of birth

string

Paris

birthProvince

Yes (for individuals born in Italy)

From a provided list

List of BIRTH PROVINCE

BirthCountry

Yes

ISO-2 format

string

FR

Nationalities

Yes

ISO-2 format. Allows multiple nationalities.

string

FR, GB

Email

Yes

regex

john.doe@gmail.com

PhoneNumber

Yes

Must include country code.

regex

+33689222211

street

Yes

string

44 Rue de l'Abbaye

complementaryStreetInfo

No

string

Batiment A

city

Yes

string

Paris

postalCode

Yes

string

75000

province

Yes (for individuals living in Italy)

From a provided list

List of RESIDENCE PROVINCES

residenceCountry

Yes

ISO-2 format

iso-alpha2

FR

TaxCode

Yes (for individuals born or living in Italy)

Specific tax code format

string

MRTMTT91D08F205J

  • *status** Are you a politically exposed person?)

Yes

Politically exposed person status: enum { no, yes, close }

enum

Yes

position

Yes (if status is "YES")

There are 9 identified positions and one option to state another position if it does not appear on the list.

enum: { POLITICAL_LEADER, POLITICAL_REPRESENTATIVE, JUDICIAL_OFFICIAL, FINANCIAL_AUDITOR, BANK_EXECUTIVE, DIPLOMATIC_REPRESENTATIVE, MILITARY_LEADER, ADMINISTRATIVE_OFFICIAL, ORGANIZATIONAL_OFFICIAL, OTHER}

enum

POLITICAL_LEADER

otherPosition

Yes (if position is "OTHER")

This option is selected if the person's job title does not appear in the provided list. The person must state their official position.

string

string

startDate

Yes (if status is "YES" or "CLOSE")

Format: YYYY-MM-DD

date

1980-07-10

endDate

Optional

Format: YYYY-MM-DD. If unknown, not required.

date

2001-07-10

closeRelationship

Yes (if status is "CLOSE")

Options include: Child, Parent, Spouse (wife or husband)

enum: { PARTNER, CHILD, PARENT }
Enum of relationships: { PARTNER, CHILD, PARENT }

enum

Child

fullName

Yes (if status is "CLOSE")

Full legal name of the politically exposed person

string

Michael James

professional situation

Activity

There are 3 broad categories, they are not an exhaustive list of professions, but offer the most common occupations:

  1. Professional activity - example: teacher, IT manager
  2. Non-professional activity - example: student, unemployed
  3. RetiredComplete list of PCS2020 codes we use can be provided by your implementation manager if you want to collect this information on your site.

enum

85.31

annualRevenue

Yes

This revenues are listed in a 6 tiers format.
Note: All listings are in Euro.

enum: { FIRST_TIER, SECOND_TIER, THIRD_TIER, FOURTH_TIER, FIFTH_TIER, SIXTH_TIER }

{ 0 - 10K €

10K € - 25K €
25K € - 50K € 50K € - 75K € 75K € - 100K € 100 000 € }

enum

0 - 10K €

estimatedWealth

Yes

7 tiers to select from.
Note: All listings are in Euro.

enum: { FIRST_TIER, SECOND_TIER, THIRD_TIER, FOURTH_TIER, FIFTH_TIER, SIXTH_TIER, SEVENTH_TIER }

{ 0 - 50K €

50K € - 100K €
100K € - 150K € 150K €- 200K € 200K - 500K € 500K € - 1M € 1M € }

enum

0 - 50K €

hasIFITax

Yes (only for French residents)

Boolean statement

boolean

true

originOfFunds.sources

Yes (for investors only)

enum { Income (salary, profit-sharing, exceptional bonus, etc.)
Real estate properties Savings accumulated over several years Donation or inheritance (succession) Sale of a stock portfolio Transfer of company shares Winning from games or contests Surrender of a capitalization contract or life insurance policy Sale of movable assets (car, boat, artwork, etc.), goodwill, intellectual property rights (trademark, patent, design, model) Sale of currency, gold or cryptocurrencies Financial investments Other operations (please specify) }

enum

Income (salary, etc.)

originOfFunds.other

Required if origin is "OTHER"

Description of other origin of funds

string

Type

Yes

The end-user is required to state their legal capacity. There are 4 options:
For adults:

  • Of legal age and capacity
  • Protected adult
    For minors:
  • Non emancipated minor
  • Emancipated minorenum: { LEGAL_AGE_AND_CAPACITY, PROTECTED_ADULT, MINOR_EMANCIPATED, MINOR_NOT_EMANCIPATED}

enum

Protected adult

ProtectionType

Yes (if type is "Protected adult")

Enum of protection types

enum

Guardianship

OtherProtectionType

Yes (if protection type is "OTHER")

Must specify other protection type

string


Important: Note for conditional fields, you can either put the condition in the column “required” or in the description but it needs to be consistent (everything in the same column).

Project-Specific Attributes (For Project Holder Profile):

Attribute

Required

Description

Data Type

Example

Type (Your project)

Yes

The attribute allows the end-user to specify the type of the project they are collection funds for, there are 6 categories:

  1. Wedding2. Farewell3. New Born4. Birthday5. Charity6. OtherNote: Depending on the user selection different details will be required.Enum: { Wedding, Farewell, New Born, Birthday, Charity, Other }

enum

Wedding

Website

Yes

URL of the fund

string

www.shellywedding.co

Description

Yes

Description of fund usage

string

Beneficiary

Yes

For transparency reasons the end-user must state the beneficiaries first and last name, and its birthdate

object: beneficiaryFirstName ; beneficiaryLastName ; beneficiaryBirthdate

string

Matthew, Riley, 1970-01-01

Wedding Relation

Yes (if type is "Wedding")

This option lets the end-user identify who they are on the project. The options are:

  1. I am the groom/bride2.
    I manage the money pot for the groom and bride

enum

Managing pot for groom and bride

BeneficiaryFirstName

Yes (if type is "Wedding")

string

Matthew

BeneficiaryLastName

Yes (if type is "Wedding")

string

Riley

BeneficiaryBirthDate

Yes (if type is "Wedding")

date

1970-01-01

Category: resume:

The resume object is called when an end-user decides to save their progress and return to the onboarding page at a later date.

GET /onboardings/{id}/resume

The accountId is required in the path parameter to retrieve the end-user's onboarding page.