Skip to main content

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.

  1. Call the onboardCompanyAccountHolder mutation.
  2. Enter information for all required API fields for the account country, as noted in country requirements for company accounts.
    1. Start with general company information (lines 4-21).
    2. Next, add details about your UBO.
    3. Finally, add details about your legal representative (if needed; not shown).
  3. Include optional fields as needed for your use case (such as accountName or redirectUrl).
  4. 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​

  1. On your Swan Dashboard, go to Settings > Onboarding.
  2. In the onboarding URLs section, toggle Public URLs to on.
  3. 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.

Screenshot of Swan Dashboard onboarding page with a callout of the onboarding ID