Create a company onboarding link
There are two methods you can use to create company onboarding links.
- Run an API mutation to create a unique onboarding link for each future company account holder.
- Use a public URL from your Dashboard to share the same company onboarding link with all of your users.
Public onboarding links
Use public links with caution. Those with fraudulent intent can use these public links to complete multiple onboardings, and if this happens undetected, they'll have multiple accounts in your project.
Unique links using the APIβ
Create a unique company onboarding link for each user with the API.
- Call the
onboardCompanyAccountHolder
mutation. - Enter information for all required API fields for the account country, as noted in country requirements for company accounts.
- Start with general company information (lines 4-21).
- Next, add details about your UBO.
- Finally, add details about your legal representative (if needed; not shown).
- Include optional fields as needed for your use case (such as
accountName
orredirectUrl
). - Add optional messages to the success payload, either for validation or in case of rejection.
Mutationβ
π Open the mutation in API Explorer
mutation CreateCompanyOnboarding {
onboardCompanyAccountHolder(
input: {
accountCountry: ESP
businessActivity: Construction
businessActivityDescription: "Historical restoration"
companyType: Company
email: "alberto.moreno@mimarca.io"
isRegistered: true
language: "es"
monthlyPaymentVolume: Between10000And50000
name: "MiMarca"
registrationNumber: "123456789"
residencyAddress: {
addressLine1: "21 Barrio de San Roque"
city: "Barcelona"
country: "ESP"
postalCode: "08005"
}
taxIdentificationNumber: "Y1234567Z"
typeOfRepresentation: LegalRepresentative
individualUltimateBeneficialOwners: {
birthCity: "Madrid"
birthCountryCode: "ESP"
birthDate: "1990-03-03"
direct: true
indirect: false
firstName: "Sofia"
lastName: "Ramos"
residencyAddress: {
addressLine1: "1 Camino del OcΓ©ano"
city: "Barcelona"
country: "ESP"
postalCode: "08005"
}
totalCapitalPercentage: 1.5
type: LegalRepresentative
}
}
) {
... on OnboardCompanyAccountHolderSuccessPayload {
__typename
onboarding {
id
onboardingState
statusInfo {
status
}
}
}
... on BadRequestRejection {
__typename
message
}
... on ForbiddenRejection {
__typename
message
}
... on ValidationRejection {
__typename
message
fields {
message
}
}
}
}
Payloadβ
If you added validation or rejection messages, you'll see information such as the onboardingId
as well as the current status Valid
in the success payload.
{
"data": {
"onboardCompanyAccountHolder": {
"__typename": "OnboardCompanyAccountHolderSuccessPayload",
"onboarding": {
"id": "eda0ceec-0e20-4d1b-bbee-b3e3a4227c99",
"onboardingState": "Ongoing",
"statusInfo": {
"status": "Valid"
}
}
}
}
}
Public link using the Dashboardβ
- On your Swan Dashboard, go to Settings > Onboarding.
- In the onboarding URLs section, toggle Public URLs to on.
- Notice the URLs that appear for individuals and companies for each account country.
Public URL availability
Anyone could create an account using the public URL, and all accounts created are charged to your project.