Legal Entity onboarding
Legal Entity endpoints
- POST
/accounts/legal-entity
- POST
/onboardings/company
- POST
/onboardings/association
- POST
/onboardings/sole-trader
- GET
/onboardings/{id}/resume
Note
It's important to note that for the onboarding process, dataset requirements will differ based on the entity type. The data we request from a company will not be the same as what we ask from an association or a sole trader. For example: registration date is mandatory for a company during creation, but optional for associations and sole traders.
Account Creation endpoint
Onboarding Entity Examples
POST /accounts/legal-entity
{
"legalEntity": {
"name": "{{$randomCompanyName}}",
"type": "COMPANY",
"registrationNumber": "{{$randomInt}}{{$randomLoremWord}}",
"registrationCountry": "{{$randomCountryCode}}",
"registrationDate": "1992-03-21"
},
"legalRepresentative": {
"firstName": "{{$randomFirstName}}",
"lastName": "{{$randomLastName}}",
"birthDate": "2023-06-01",
"email": "{{$randomEmail}}",
"address": {
"country": "{{$randomCountryCode}}"
},
"birthCountry": "{{$randomCountryCode}}",
"nationalities": [
"{{$randomCountryCode}}"
]
},
"profile": "PROJECT_HOLDER",
"walletId": "{{$randomUUID}}",
"solutionName": "{{solutionName}}"
}
Field | Required | Description | Data Type | Value Example |
---|---|---|---|---|
name | Yes | Legal entity name. | string | Lemonway SAS |
type | Yes | Legal entity type. | string | COMPANY |
registrationNumber | Yes Optional for Associations and Sole Traders | Legal entity registration number. enum: { COMPANY ; ASSOCIATION ; SOLE_TRADER } | enum | KJDWAO |
registrationDate | Yes | Creation date of the legal entity. | date | 1970-01-01 |
Country | Yes | The country where the legal entity is registered. ISO-2 format. | iso2-alpha | FR |
firstName | Yes | First name of the legal representative. | string | John |
lastName | Yes | Last name of the legal representative. | string | Doe |
birthDate | Yes | Birth date of the legal representative. YYYY-MM-DD | date | 1978-06-01 |
birthCountry | Yes | birth country of the legal representative, two-letter country code | iso-alpha2 | FR |
Yes | The email address of the legal representative. | |||
Country | Yes | The residence country of the legal representative. | iso-alpha2 | FR |
nationalities | Yes | The nationalities of the legal representative. | iso-alpha2 | ["FR", "EN"] |
profile | Yes | The profile of the entity.
| enum | PROJECT_HOLDER Other profile examples include: DONOR, INVESTOR, LENDER, BUYER, MERCHANT, CREDITOR, OPERATOR, CONTENT_EDITOR, OTHER_OPERATOR. |
walletId | Yes | The wallet ID associated with the entity. | string | f2470b35-4dd4-4fe1-bab2-f8c763ebcef5 |
solutionName | Yes | The solution name. | string | lemonway |
Initiating the Online Onboarding Process
To initiate the online onboarding process using the POST/onboardings/company
or POST/onboardings/association
or POST/onboardings/sole_trader
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.
Required data set:
{
"accountId": "{{accountId}}",
"legalEntity": {
"name": "{{$randomCompanyName}}",
"type": "COMPANY",
"registrationNumber": "{{$randomInt}}{{$randomLoremWord}}",
"registrationCountry": "{{$randomCountryCode}}",
"registrationDate": "1992-03-21"
},
"legalRepresentative": {
"firstName": "{{$randomFirstName}}",
"lastName": "{{$randomLastName}}",
"birthDate": "2023-06-01",
"email": "{{$randomEmail}}",
"address": {
"country": "{{$randomCountryCode}}"
},
"birthCountry": "{{$randomCountryCode}}",
"nationalities": [
"{{$randomCountryCode}}"
]
},
}
Onboarding Endpoints
POST /onboardings/company
{
"accountId": "e250981c-0e2d-45d4-ac09-dffa2aa3292b",
"legalEntity": {
"name": "Rebeca CORP",
"brandName": "Kale brand",
"type": "COMPANY",
"registrationNumber": "870voluptas",
"registrationDate": "2024-05-17T15:28:26.736Z",
"vatNumber": "0403019261",
"website": "Enoch.biz",
"legalForm": "SIMPLIFIED_JOINT_STOCK_COMPANY",
"taxCode": "MRTMTT91D08F205J",
"address": {
"street": "86017 Halle Loaf",
"city": "Aureliechester",
"postalCode": "311",
"province": "AO",
"country": "IT"
},
"activity": {
"NACEcode": "1.44",
"ATECOcode": "013",
"SAEcode": "120",
"description": "Ratione cum consequatur debitis culpa nostrum quo aut.",
"fundsDestinationCountries": {
"sameFundCountryAsCompanyRegistration": false,
"otherFundsDestinationCountries": {
"reason": "Laborum dolore ut quia ex laboriosam est aut.",
"countries": ["FR"]
}
},
"location": {
"sameAddressAsCompanyRegistration": false,
"address": {
"street": "252 Rohan Square",
"city": "Maximeport",
"postalCode": "808",
"province": "AO",
"country": "MY"
}
}
},
"project": {
"description": "Voluptatem enim sunt nam et accusamus cum est.",
"website": "Tyreek.info"
},
"financialSituation": {
"expectedActivityVolume": "FIRST_TIER",
"currentTurnover": "FOURTH_TIER",
"previousTurnover": "FIRST_TIER",
"financialAsset": "FIRST_TIER"
},
"shareholding": {
"hasShareholders": true,
"shareholders": [
{
"name": "Mark",
"registrationCountry": "CN",
"registrationNumber": "94aut"
}
]
}
},
"legalRepresentative": {
"firstName": "Sydni",
"lastName": "Gibson",
"otherName": "Brando",
"birthDate": "2024-05-20T16:34:56.257Z",
"birthCity": "New Samantaton",
"birthProvince": "BN",
"birthCountry": "VA",
"email": "Ophelia.Wiza5@hotmail.com",
"phoneNumber": "+33678787878",
"nationalities": [
"BD"
],
"address": {
"street": "279 Schimmel Stream",
"city": "Davisfurt",
"postalCode": "132",
"province": "CL",
"country": "IT"
},
"politicalExposure": {
"status": "YES"
"startDate": "2023-06-01T10:10:57.870Z",
"endDate": "2029-06-01T10:10:57.870Z",
"position": "POLITICAL_LEADER",
},
"isUbo": true
},
"ubos": [
{
"firstName": "Reynold",
"lastName": "King",
"otherName": "Aurelia",
"birthDate": "2024-05-20T16:34:56.257Z",
"birthCity": "Vadafort",
"birthProvince": "BN",
"birthCountry": "IT",
"email": "Vallie.Nitzsche98@yahoo.com",
"phoneNumber": "+33678787878",
"nationalities": [
"BO"
],
"address": {
"street": "36095 King Overpass",
"city": "Wuckertstad",
"postalCode": "394",
"province": "CL",
"country": "IT"
},
"politicalExposure": {
"status": "CLOSE",
"fullName": "John Smith",
"position": "OTHER",
"otherPosition": "other pep position",
"closeRelationship": "CHILD",
"startDate": "2020-12-06",
"endDate": "2033-12-06"
}
}
]
}
POST POST/onboardings/association
{
"accountId": "e250981c-0e2d-45d4-ac09-dffa2aa3292b",
"legalEntity": {
"name": "Le Monway Association",
"type": "ASSOCIATION",
"registrationNumber": "870voluptas",
"registrationDate": "2024-05-17T15:28:26.736Z",
"vatNumber": "0403019261",
"website": "No",
"noWebsiteReason": "the organisation has no website",
"legalForm": "NON_PROFIT_ORGANIZATION",
"taxCode": "MRTMTT91D08F205J",
"address": {
"street": "86017 Halle Loaf",
"city": "Aureliechester",
"postalCode": "311",
"province": "AO",
"country": "IT"
},
"activity": {
"NACEcode": "94.99",
"ATECOcode": "013",
"description": "Ratione cum consequatur debitis culpa nostrum quo aut.",
"entitiesFinancing": [
{
"by": ["OTHER",
"other": "other entities entitiesFinancing"
}
],
"location": {
"sameAddressAsCompanyRegistration": true,
}
},
"project": {
"description": "Voluptatem enim sunt nam et accusamus cum est.",
"website": "Tyreek.info"
},
"financialSituation": {
"expectedActivityVolume": "FIRST_TIER",
"currentTurnover": "FOURTH_TIER",
"previousTurnover": "FIRST_TIER",
"financialAsset": "FIRST_TIER"
}
},
"legalRepresentative": {
"firstName": "Sydni",
"lastName": "Gibson",
"otherName": "Brando",
"birthDate": "2024-05-20T16:34:56.257Z",
"birthCity": "New Samantaton",
"birthProvince": "BN",
"birthCountry": "VA",
"email": "Ophelia.Wiza5@hotmail.com",
"phoneNumber": "+33678787878",
"nationalities": [
"BD"
],
"address": {
"street": "279 Schimmel Stream",
"city": "Davisfurt",
"postalCode": "132",
"province": "CL",
"country": "IT"
},
"politicalExposure": {
"status": "YES"
"startDate": "2023-06-01T10:10:57.870Z",
"endDate": "2029-06-01T10:10:57.870Z",
"position": "POLITICAL_LEADER",
},
"positions": [
{
"type": "PRESIDENT"
},
{
"type": "OTHER",
"other": "Vice president"
}
]
}
}
POST/onboardings/sole-trader
{
"accountId": "e250981c-0e2d-45d4-ac09-dffa2aa3292b",
"legalEntity": {
"name": "Rebeca SMITH",
"brandName": "The Smith CO.",
"type": "SOLE_TRADER",
"registrationNumber": "870voluptas",
"registrationDate": "2024-05-17T15:28:26.736Z",
"vatNumber": "0403019261",
"website": "Enoch.biz",
"legalForm": "SOLE_TRADER",
"taxCode": "MRTMTT91D08F205J",
"activity": {
"NACEcode": "1.44",
"ATECOcode": "013",
"description": "Ratione cum consequatur debitis culpa nostrum quo aut.",
"fundsDestinationCountries": {
"sameFundCountryAsCompanyRegistration": false,
"otherFundsDestinationCountries": {
"reason": "Laborum dolore ut quia ex laboriosam est aut.",
"countries": ["FR"]
}
},
"location": {
"sameAddressAsCompanyRegistration": false,
"address": {
"street": "252 Rohan Square",
"city": "Maximeport",
"postalCode": "808",
"province": "AO",
"country": "MY"
}
}
},
"project": {
"description": "Voluptatem enim sunt nam et accusamus cum est.",
"website": "Tyreek.info"
}
},
"legalRepresentative": {
"firstName": "Sydni",
"lastName": "Gibson",
"otherName": "Brando",
"birthDate": "2024-05-20T16:34:56.257Z",
"birthCity": "New Samantaton",
"birthProvince": "BN",
"birthCountry": "VA",
"email": "Ophelia.Wiza5@hotmail.com",
"phoneNumber": "+33678787878",
"nationalities": [
"BD"
],
"address": {
"street": "279 Schimmel Stream",
"city": "Davisfurt",
"postalCode": "132",
"province": "CL",
"country": "IT"
},
"politicalExposure": {
"status": "NO"
},
"financialSituation": {
"annualRevenue": "FIRST_TIER",
"estimatedWealth": "FIRST_TIER",
"hasIFItax": false
}
}
}
General Information
Field | Required | Description | Data Type | Example |
---|---|---|---|---|
type | Yes | Legal entity type | string | Company |
name | Yes | Legal entity name | string | ABC Entreprise |
brandNames | No | Brand names associated with the entity. Company or Sole Trader. | string | ABC France, ABC Paris |
legalForm | Yes | Legal form of the company | string | SARL (Société à responsabilité limitée) |
registrationNumber | Yes | Company registration number Optional for Sole trader and Association. | string | 123 456 789 RCS Paris |
registrationDate | Yes | Date of company registration | date | 01/01/2020 |
vatNumber | Yes | Value-added tax number Optional for Sole trader and Association. | string | FR12345678910 |
Website | Yes | Official company website | string | |
NoWebsiteReason | Yes | Reason for no website, if applicable | string | N/A |
taxCode | Yes for italian registered legal entities | Codice Fiscale (CF) or Tax Code is a sixteen digit tax ID number with the following format: AAA AAA NNANN ANNNA. | string | MRARSS22A01F205K |
Address
Field | Required | Description | Data Type | Example |
---|---|---|---|---|
Street | Yes | Street address of the company | string | 12 Rue de la Paix |
complementary street | Yes | Additional address information | string | Building B |
postal code | Yes | Postal code | string | 75002 |
city | Yes | City where the company is located | string | Paris |
province | Yes
| List of residential provinces | enum | |
Country | Yes | Country where the company is registered | iso-alpha2 | FR |
Activity
Field | Required | Description | Data Type | Example |
---|---|---|---|---|
NaceCode | Yes | Company’s economic activity code | enum | 1.44 |
AtecoCode | Yes | If company/sole trader registered in Italy (optional for associations registered in Italy) | enum | 12 |
SaeCode | No | SAE codes | enum | 120 |
description | Yes | Description of the company's main activity | string | Retail of general goods |
fundsDestinationCountries.sameFundCountryAsCompanyRegistration | Yes | Whether the destination of funds matches registration country (boolean) | boolean | Yes |
fundsDestinationCountries.otherFundsDestinationCountries.reason | Yes | Requested if funds are sent to a country other than the company registration | boolean | Tax optimization |
fundsDestinationCountries.otherFundsDestinationCountries.counties | Yes | Requested if funds are sent to a country other than the company registration | boolean | [FR, GB] |
location.sameAddressAsCompanyRegistration | Yes | Whether trading address is the same as registration address | boolean | Yes |
location.address.Street | Yes | Trading address of the company | string | 5 Avenue de l'Opéra |
location.address.ComplementaryStreet | No | Additional trading address information | string | Suite 101 |
location.address.PostalCode | Yes | Postal code for trading address | string | 75009 |
location.address.City | Yes | City for trading address | string | Paris |
location.address.Province | Yes | Required for entities with activity in Italy. | enum | |
location.address.Country | Yes | Country for trading address | iso-alpha2 | France |
entityFinancing.by | Yes | Entity financing source (for Associations only) | enum | Donation, Other |
entityFinancing.Other | Yes | Other sources of financing (required for association only if | string | Private equity |
Financial situation (Company & Association only)
Field | Required | Description | Data Type | Example |
---|---|---|---|---|
expectedActivityVolume | Yes | Expected volume of business activity in euros. | enum |
|
previousTurnover | Yes | Previous year's turnover in euros. | enum |
|
currentTurnover | Yes | Current year's turnover in euros. | enum |
|
financialAssets | Yes | Entity’s financial assets in euros. | enum |
|
originOfFunds.sources | Yes | The origin of funds that will be invested on the platform. | enum | Real estate properties |
enum: { Real estate properties ; | enum | |||
originOfFunds.other | Yes | Required if the origin of funds source is "other". | string | Other origin of funds |
Project (Project Holder profile only)
Field | Required | Description | Data Type | Example |
---|---|---|---|---|
description | Yes | Description of the project | string | Expansion into e-commerce |
website | Yes | Project website | string | www.abc-project.fr |
Shareholding Structure (Company only)
Field | Required | Description | Data Type | Example |
---|---|---|---|---|
hasShareholders | Yes | Whether the company has shareholders. | boolean | Yes |
name | Yes | Name of shareholders. | string | Jean Dupont |
registrationNumber | Yes | Registration number of shareholders. | string | 987654321 RCS Paris |
registrationCountry | Yes | Country where shareholders are registered. | iso-alpha2 | FR |
LR (Legal Representative) Information
Attribute | Required | Description | Data Type | Example |
---|---|---|---|---|
FirstName | Yes | Official first name that appears on the user’s legal documents. The name that appears on 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, use name, or pseudo | string | Smith |
Birthdate | Yes | Date of birth in YYYY-MM-DD format | date | 1980-07-10 |
BirthCity | Yes | City of birth | Paris | |
birthProvince | Yes | Required for individuals born in Italy | enum | |
BirthCountry | Yes | Country of birth in ISO-2 format | iso-alpha2 | FR |
Nationalities | Yes | ISO-2 format The onboarding form allows you to add multiple nationalities. | iso-alpha2 | FR, GB |
Yes | User's email address | regex | ||
PhoneNumber | Yes | Phone number with country code | regex | +33689222211 |
street | Yes | Street address | string | 44 Rue de l'Abbaye |
complementaryStreetInfo | No | Additional street address information | string | Batiment A |
city | Yes | City of residence | string | Paris |
postalCode | Yes | Postal code of residence | string | 75000 |
province | Yes | Required for individuals living in Italy. | enum | |
residenceCountry | Yes | Country of residence in ISO-2 format | iso-alpha2 | FR |
TaxCode | Yes | Required for individuals born or living in Italy | string | MRTMTT91D08F205J |
status (Are you a politically exposed person?) | Yes | There are 3 options: Yes, No, or Close to a politically exposed person. | string | Yes |
position | Yes | Required only if status: “YES” 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 | Required only if position: “OTHER”. | string | Vice president |
startDate | Yes | Required only if status: “YES” or “CLOSE". | date | 1980-07-10 |
endDate | Optional | Last day in the person’s position in YYYY-MM-DD format (if unknown, it can be omitted). | date | 2001-07-10 |
closeRelationship | Yes | Required only if status: “CLOSE”. | enum | Child |
fullName | Yes | Required only if status: “CLOSE”. | string | Michael James |
annualRevenue | Yes | Required for Sole Trader’s legal representative only.
| enum | 0 - 10K € |
estimatedWealth | Yes | Required for Sole Trader legal representative only.
| enum | 0 - 50K € |
hasIFItax | Yes | Required for Sole Trader’s legal representative only and for French residents. A true or false statement confirming if the user is subject to wealth tax. | boolean | true |
positionType | Yes | Required only for Association’s Legal Representatives. | enum | PRESIDENT |
positionTypeOther | Yes | Required only if positionType: “OTHER”. | string | Vice president |
UBO (Ultimate Beneficial Owner) Information (Company Only)
Attribute | Required | Description | Data Atype | Example |
---|---|---|---|---|
FirstName | Yes | Official first name that appears on the user’s legal documents. The name that appears on 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, use name, or pseudo | string | Smith |
Birthdate | Yes | Date of birth in YYYY-MM-DD format | date | 1980-07-10 |
BirthCity | Yes | City of birth | string | Paris |
birthProvince | Yes | Required for individuals born in Italy. | enum | |
BirthCountry | Yes | ISO-2 format | iso-alpha2 | FR |
Nationalities | Yes | ISO-2 format | iso-alpha2 | FR, GB |
Yes | User's email address | regex | ||
PhoneNumber | Yes | Phone number with country code | regex | +33689222211 |
street | Yes | Street address | string | 44 Rue de l'Abbaye |
complementaryStreetInfo | No | Additional street address information | string | Batiment A |
city | Yes | City of residence | string | Paris |
postalCode | Yes | Postal code of residence | string | 75000 |
province | Yes | Required for individuals living in Italy. | enum | |
residenceCountry | Yes | Country of residence in ISO-2 format | iso-alpha2 | FR |
TaxCode | Yes | Required for individuals born or living in Italy | sting | MRTMTT91D08F205J |
status (Are you a politically exposed person?) | Yes | There are 3 options: Yes, No, or Close to a politically exposed person. | string | Yes |
position | Yes | Required only if status: “YES”`. | enum | POLITICAL_LEADER |
otherPosition | Yes | Required only if position: “OTHER”. | string | Vice president |
startDate | Yes | Required only if status: “YES” or “CLOSE”. | date | 1980-07-10 |
endDate | Optional | Last day in the person’s position in YYYY-MM-DD format (if unknown, it can be omitted). | date | 2001-07-10 |
closeRelationship | Yes | Required only if status: “CLOSE”. | enum | Child |
fullName | Yes | Required only if status: “CLOSE”. | string | Michael James |
During the onboarding process a user's progress is automatically backed-up, there is also a save feature if the user wants to manually save their progress. The resume endpoint let's an user can continue where they last finished.
GET /onboardings/{id}/resume
{
"url": "https://onboarding.lemonway.com/t2/e35ffdb3-b185-42fe-8413-06ecba7b2d30/welcome"
}