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. |
Yes | 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). |
| Yes | FR | string | The country where the individual resides, two-letter country code. |
profile | Yes | PROJECT_HOLDER Other example profiles include: | enum | The profile type of the individual.
|
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 | ||
BirthCountry | Yes | ISO-2 format | string | FR |
Nationalities | Yes | ISO-2 format. Allows multiple nationalities. | string | FR, GB |
Yes | regex | |||
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 | ||
residenceCountry | Yes | ISO-2 format | iso-alpha2 | FR |
TaxCode | Yes (for individuals born or living in Italy) | Specific tax code format | string | MRTMTT91D08F205J |
| 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 | 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:
| enum | 85.31 |
annualRevenue | Yes | This revenues are listed in a 6 tiers format. enum: { FIRST_TIER, SECOND_TIER, THIRD_TIER, FOURTH_TIER, FIFTH_TIER, SIXTH_TIER } { 0 - 10K €
| enum | 0 - 10K € |
estimatedWealth | Yes | 7 tiers to select from. enum: { FIRST_TIER, SECOND_TIER, THIRD_TIER, FOURTH_TIER, FIFTH_TIER, SIXTH_TIER, SEVENTH_TIER } { 0 - 50K €
| 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.) | 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:
| 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:
| enum | Wedding |
Website | Yes | URL of the fund | string | |
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:
| 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.
Updated about 1 month ago