Skip to main content
Upcoming features

New text message notifications, Italian accounts, and more!
Check out Swan's public roadmap to see what's in the works. πŸš€

⚠️ Upcoming breaking changes

πŸ‘₯ Starting on March 20th, account memberships are only returned in the accountMemberships and account.Memberships queries if you have the canManageAccountMembership permission.

πŸ”— On April 1st, we're removing the deprecated field Onboarding.redirectUrl from all onboarding mutations. Instead, use the OAuthRedirectParameters.redirectUrl field, also in the onboarding object.

✍ Starting on April 1st, the registrationNumber field becomes mandatory for company onboardings, regardless of country. This applies to all onboardings where companyType is set to Company, and where companyType is set to SelfEmployed and the account country is France. Additionally, the isRegistered parameter will be set to true automatically for these onboardings. Please note that this update doesn't impact capital deposits.

πŸ““ Effective May 1st, providing gender for Ultimate Beneficial Owners (UBO) is mandatory due to Swan’s reporting obligations. This field includes more granular options than the title field, set to be deprecated on May 1st.

Β· One min read

New feature​

πŸ“± Users can now change the phone number associated with their Swan account securely and independently. Tap New phone number? Update it at the beginning of any login or consent flow and follow the prompts.

Update​

⭐️ Effective March 13, all new business debit cards are issued with a new Banking Identification Number (BIN). Card numbers with the new BIN start with 543946 instead of the current 547395. The BIN for existing cards will be updated automatically when the cards are renewed.

API updates​

Upcoming breaking change​

πŸ““ Effective May 1st, providing gender for Ultimate Beneficial Owners (UBO) is mandatory due to Swan’s reporting obligations. This field includes more granular options than the title field, set to be deprecated on May 1st.

Β· 2 min read

New feature​

πŸ”Ž Get bank details (RIBs) for virtual IBANs with the account query. You can also download them from your Dashboard. If you use Swan's Web Banking interface, your users can download them from the Account > Virtual IBANs tab.

Improvements​

πŸͺͺ We improved the sign-up process for a smoother user experience. Now, all users enter their personal information at the beginning. We also added a review page for users to confirm that their information is correct, helping avoid rejections due to mismatched data.

πŸ‘₯ To improve the granularity of account membership permissions, only account members with canManageAccountMembership can view a list of account members. Previously, those with canViewAccount could also view the list.

⛴️ We added new fields to payment control POST requests and card transaction queries: merchantAcquirerId and subMerchantId. Start implementing these fields using the Event Simulator. Please note that the subMerchantId field will be returned null until it's implemented in the upcoming months.

πŸ›‘οΈ One time every 24 hours, your users are now required to acknowledge a fraud warning before consenting to a transfer.

API updates​

Upcoming breaking changes​

πŸ‘₯ Starting on March 20th, account memberships are only returned in the accountMemberships and account.Memberships queries if you have the canManageAccountMembership permission.

✍ Starting on April 1st, the registrationNumber field becomes mandatory for company onboardings, regardless of country. This applies to all onboardings where companyType is set to Company, and where companyType is set to SelfEmployed and the account country is France. Additionally, the isRegistered parameter will be set to true automatically for these onboardings. Please note that this update doesn't impact capital deposits.

Β· One min read

New features​

πŸ“₯ You can now export account holder data in .csv format, either from your Dashboard or with the API by calling the exportAccountHolderData mutation.

Improvements​

πŸ‘€ To provide a seamless experience when users change their own phone numbers, updating Enabled account members' personal details won't trigger user binding errors anymore.

πŸ’° To avoid unnecessary debt collection, fee transactions are only Booked when there's enough money in an account. When accounts have an insufficient balance, the fee transaction remains Pending until more funds are added.

πŸ’³ Canceling cards is now fully asynchronous to improve system performance. As a result, when you cancel a physical or virtual card, the status always changes to Canceling before Canceled.

API updates​

Upcoming breaking changes​

⚠️ Effective from March 10th, consent notification API requests to your endpoint time out after 2 seconds instead of 3, in order to comply with 3-D Secure (3DS) requirements.

Β· One min read

New features​

πŸ”” Consent notifications are now more reliable. If your endpoint doesn’t answer correctly, notifications automatically fall back to text messages. Users can also choose to receive text messages instead of in-app notifications with a new button on the consent screen.

βš™οΈ Onboarding now includes a new field, acquisitionChannel, which provides valuable insights to support our efforts in fighting against financial crime. Set the field to one of the following values: InboundOrganic, InboundReferral, OutboundSales, and OutboundAccountingFirm.

Improvements​

🧭 Get a more up-to-date view of your card transactions. We now process the booking of issued card transactions more regularly, with twice as many batches per day.

Β· One min read

New feature​

πŸ”” Activate text message notifications about rejected card payments from your Dashboard > Settings > Notifications, delivered in the account membership language. Stay tuned to the changelog for upcoming notifications.

Improvements​

πŸ“„ We added a list of rejection reasons for Refused supporting documents for onboarding, transactions, and account holder verifications, providing more visibility about why a document wasn't validated.

πŸ“Š Reorder and lock columns on your Dashboard to prioritize your most important data. Use the Columns dropdown, included on every page, to choose your customizations.

🚫 To keep Swan secure, we implemented new limits on GraphQL operations in the Sandbox.

API updates​

Upcoming breaking changes​

✍️ On February 7th, we're removing the addMerchantProfile mutation to keep our API consistent. Instead, call the requestMerchantProfile mutation. We're also deprecating the addMerchantProfile mutation today.

πŸ”— On April 1st, we're removing the deprecated field Onboarding.redirectUrl from all onboarding mutations. Instead, use the OAuthRedirectParameters.redirectUrl field, also in the onboarding object.

Β· One min read

New feature​

πŸ‡³πŸ‡±πŸ’³ New company physical cards in the Netherlands will now integrate the Maestro application in addition to the default Mastercard application. This enhancement significantly improves card acceptance across all payment terminals, specifically addressing the issue where some Dutch terminals may decline Mastercard business cards.

API updates​

Upcoming breaking changes​

πŸͺͺ On February 29th, we're removing the following deprecated fields: accountMemberships.recommendedIdentificationLevel, OnboardingInfo.legalRepresentativeRecommendedIdentificationLevel, and Onboarding.legalRepresentativeRecommendedIdentificationLevel. This deprecation is linked to the Auto identification level announcement.

Β· 2 min read

New features​

πŸ‘₯ Invite account members without a phone number for certain membership permissions. Instead, use verified email to invite account members who prefer not to use their personal phone number for professional purposes.

πŸͺͺ We added a new identification level for authorization links, Auto. With Auto, Swan automatically guides users to the correct identification process for their situation. We recommend choosing Auto instead of a specific process when constructing your OAuth URLs. Make sure to include either the OnboardingId or the AccountMembershipId in your URL.

Improvements​

πŸ’³ We improved transaction visibility for cardholders without the canViewAccount membership permission. They can now view their own card transactions.

πŸ‘₯ We improved account membership visibility for account members who have the canManageAccountMembership membership permission, but not canViewAccount. They can now view a list of account members.

🌐 Finnish is now a supported account language and account membership language, with a few exceptions. You can update the account language with the updateAccount mutation, and the account membership language with the updateAccountMembership mutation.

πŸ”Ž Starting on December 2nd, API search queries will allow for similarity and full-text search. They won't be sensitive to case or accents anymore. This update only applies to search, not other filters.

API updates​

Upcoming breaking changes​

🧭 On January 8th, we're adding three new values to the DocumentReasonCode Enum to handle more reasons for capital deposit document refusal: ComplianceReason, InvalidDepositBankName, and MissingCompanyProviderRegisterExtract.

🚫 On January 20th, we’re removing the filters from the following resources: accountMemberships.firstName, accountMemberships.lastName, accountMemberships.email, accountHolders.firstName, accountHolders.lastName, onboardings.email, users.firstName, and users.lastName.

🌍 On January 30th, accountCountry will become a mandatory input for the following mutations: onboardCompanyAccountHolder, onboardIndividualAccountHolder, and createCapitalDepositCase.

πŸͺͺ Starting on January 30th, the idVerified scope in authorization URL parameters won't be supported anymore. Instead, use the identificationLevel parameter.

Β· One min read

New feature​

πŸ€– Try AI on docs.swan.io for faster, comprehensive answers from the Documentation, API Reference, and Support Center. Ask questions in any language and receive an answer with direct links to relevant sections make sure you're never lost.

Screenshot of docs.swan.io homepage with AI open

Improvements​

πŸ’³  We upgraded the design and quality of our standard black cards with silver ink, recycled plastic, a sleek matte finish, and added particles to minimize scratches.

Upcoming breaking change​

⚠️ Starting on November 28th, we’ll start enforcing two required fields for ultimate beneficial owners (UBO)β€”direct and indirectβ€”for the mutations onboardCompanyAccountHolder and createCapitalDepositCase.

Β· One min read

New features​

πŸ”— Send an account closure link to the account's legal representative, which they can use to request the closure of their account. Get the link from the account's page on your Dashboard.

πŸ“„ Transaction statements, which act as confirmation that a transaction was initiated, are now available on your Dashboard and from Swan's Web Banking interface.

Upcoming breaking change​

🌍 Starting October 31st, Monaco will no longer be accepted for account holder residency. Swan account holders must reside in the European Economic Area; refer to Swan's country coverage for the full list.

Β· One min read

New features​

🎨 We updated your Dashboard interface for capital deposit documents to improve readability and provide easier access to information.

πŸ’³ The transaction reason code enum InvalidSecurityNumber is back by popular demand. We previously deprecated it, but we reversed our decision following your feedback.

Upcoming breaking changes​

β›” In 2 months, we're removing the user.idVerified field. Please start using the new field user.identificationsLevels.expert.

ℹ️ In 4 weeks, the cardDetails.Card field will no longer be mandatory.