Audience:
Individual onboarding fields
Reference tables for the fields collected when creating an individual onboarding, including required, optional, and conditional rules per country.
Use this reference to determine which fields are required, optional, or conditional for each country when creating an individual onboarding.
For GraphQL types and validation constraints, refer to CreateIndividualAccountHolderOnboardingInput in the API reference.
All requested supporting documents must be submitted to complete onboarding.
Field Requirements Legend
Account information
Related field: accountInfo
| Field | 🇫🇷 France | 🇧🇪 Belgium | 🇩🇪 Germany | 🇮🇹 Italy | 🇳🇱 Netherlands | 🇪🇸 Spain |
|---|---|---|---|---|---|---|
country | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ |
name | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
Available options
country:FRA,DEU,ESP,NLD,ITA,BEL.
Account administrator
Related field: accountAdmin
Although many accountAdmin fields are optional during onboarding, they're required when the user signs up. Swan recommends collecting and sending this information before the end of the onboarding flow.
Personal information
| Field | 🇫🇷 France | 🇧🇪 Belgium | 🇩🇪 Germany | 🇮🇹 Italy | 🇳🇱 Netherlands | 🇪🇸 Spain |
|---|---|---|---|---|---|---|
email | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ |
firstName | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
lastName | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
nationality | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
preferredLanguage | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ |
signupDate | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
acquisitionChannel | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
acquisitionChannel is hidden from end users. Provide it through your backend integration only.
Available options
preferredLanguage:de,en,es,fi,fr,it,nl,pt.acquisitionChannel:InboundOrganic,InboundReferral,OutboundSales,OutboundAccountingFirm.
Address
Related field: accountAdmin.address
| Field | 🇫🇷 France | 🇧🇪 Belgium | 🇩🇪 Germany | 🇮🇹 Italy | 🇳🇱 Netherlands | 🇪🇸 Spain |
|---|---|---|---|---|---|---|
addressLine1 | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
addressLine2 | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
city | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
country | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
postalCode | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
state | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
Birth information
Related field: accountAdmin.birthInfo
| Field | 🇫🇷 France | 🇧🇪 Belgium | 🇩🇪 Germany | 🇮🇹 Italy | 🇳🇱 Netherlands | 🇪🇸 Spain |
|---|---|---|---|---|---|---|
birthDate | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
city | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
country | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
postalCode | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
Financial information
| Field | 🇫🇷 France | 🇧🇪 Belgium | 🇩🇪 Germany | 🇮🇹 Italy | 🇳🇱 Netherlands | 🇪🇸 Spain |
|---|---|---|---|---|---|---|
employmentStatus | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ |
monthlyIncome | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ |
sourcesOfFunds | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
Available options
employmentStatus
Craftsman, Employee, Entrepreneur, Farmer, Manager, Practitioner, Retiree, ShopOwner, Student, Unemployed.
monthlyIncome
LessThan500, Between500And1500, Between1500And3000, Between3000And4500, MoreThan4500.
sourcesOfFunds
BusinessActivity, CapitalGains, FamilyContributions, InheritanceOrGift, Other, PersonalWealth, RealEstateIncome, Salary, SaleOfAssets, SelfEmployment.
Tax information
Related field: accountAdmin.taxIdentificationNumber
| Field | 🇫🇷 France | 🇧🇪 Belgium | 🇩🇪 Germany | 🇮🇹 Italy | 🇳🇱 Netherlands | 🇪🇸 Spain |
|---|---|---|---|---|---|---|
taxIdentificationNumber | ◐ CND ¹ | ● REQ | ● REQ | ● REQ | ◐ CND ¹ | ◐ CND ¹ |
¹ taxIdentificationNumber is required if any of the following conditions are true:
accountAdmin.address.countryis different fromaccountInfo.country.accountAdmin.address.countryis Germany, Italy, or Belgium.
US tax information
Related field: accountAdmin.unitedStatesTaxInfo
| Field | 🇫🇷 France | 🇧🇪 Belgium | 🇩🇪 Germany | 🇮🇹 Italy | 🇳🇱 Netherlands | 🇪🇸 Spain |
|---|---|---|---|---|---|---|
isUnitedStatesPerson | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ | ● REQ |
unitedStatesTaxIdentificationNumber | ◐ CND ² | ◐ CND ² | ◐ CND ² | ◐ CND ² | ◐ CND ² | ◐ CND ² |
² unitedStatesTaxIdentificationNumber is required if accountAdmin.unitedStatesTaxInfo.isUnitedStatesPerson is true.
User device information
Related field: accountAdmin.userDeviceInfo
These fields are hidden from end users. Provide them through your backend integration only.
| Field | 🇫🇷 France | 🇧🇪 Belgium | 🇩🇪 Germany | 🇮🇹 Italy | 🇳🇱 Netherlands | 🇪🇸 Spain |
|---|---|---|---|---|---|---|
geoloc.lat | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
geoloc.lng | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
ip | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
userAgent | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT | ○ OPT |
OAuth redirect parameters
Related field: oAuthRedirectParameters
These fields are hidden from end users. Provide them through your backend integration only.
| Field | Requirement | Description |
|---|---|---|
redirectUrl | ○ OPT | URL to redirect to after the OAuth flow. If empty or not set, the user is redirected to the white label Web Banking. |
state | ○ OPT | Opaque value passed through the OAuth flow to prevent XSRF attacks. If not set, Swan fills it with the onboarding ID. |
No-code Web Banking
If you use Swan's no-code Web Banking, the following fields are collected during the onboarding and sign-up flows.
accountAdmin.firstName,lastName,nationality.accountAdmin.address:addressLine1,city,country,postalCode.accountAdmin.birthInfo:birthDate,city,country,postalCode.accountAdmin.unitedStatesTaxInfo.
API mapping
Use this table to map fields from the deprecated API to the new API.
Account
| Deprecated field | New field |
|---|---|
accountCountry | accountInfo.country |
accountName | accountInfo.name |
Account administrator
| Deprecated field | New field |
|---|---|
| — | accountAdmin.acquisitionChannel |
residencyAddress.addressLine1 | accountAdmin.address.addressLine1 |
residencyAddress.addressLine2 | accountAdmin.address.addressLine2 |
residencyAddress.city | accountAdmin.address.city |
residencyAddress.country | accountAdmin.address.country |
residencyAddress.postalCode | accountAdmin.address.postalCode |
residencyAddress.state | accountAdmin.address.state |
| — | accountAdmin.birthInfo.birthDate |
| — | accountAdmin.birthInfo.city |
| — | accountAdmin.birthInfo.country |
| — | accountAdmin.birthInfo.postalCode |
email | accountAdmin.email |
employmentStatus | accountAdmin.employmentStatus |
| — | accountAdmin.firstName |
| — | accountAdmin.lastName |
monthlyIncome | accountAdmin.monthlyIncome |
| — | accountAdmin.nationality |
language | accountAdmin.preferredLanguage |
| — | accountAdmin.signupDate |
| — | accountAdmin.sourcesOfFunds |
taxIdentificationNumber | accountAdmin.taxIdentificationNumber |
| — | accountAdmin.unitedStatesTaxInfo.isUnitedStatesPerson |
| — | accountAdmin.unitedStatesTaxInfo.unitedStatesTaxIdentificationNumber |
| — | accountAdmin.userDeviceInfo.geoloc.lat |
| — | accountAdmin.userDeviceInfo.geoloc.lng |
| — | accountAdmin.userDeviceInfo.ip |
| — | accountAdmin.userDeviceInfo.userAgent |