Links

Change log

Additions and updates to the Swan platform

Next steps

​
Outgoing Instant SEPA Credit Transfer, German IBAN
, Instant IBAN Issuing, Server-to-server consent, Passcode reset by email for non-verified users, and many other great features Learn more​

4 November 2022

NEW FEATURES:
Add an Account detail tab in the web banking menu (level 1) lets you access the main IBAN, manage virtual IBANs, and update account settings.
The web banking has a new profile page that allows users to manage their languages, reminds them to verify their identity, and provides access to FAQ and support.
IMPROVEMENTS:
UBO doesn't mean anything to French "syndicat de copropriété" and "associations" so we removed them from the nocode onboarding.
A "legal representative" tile was added to the dashboard for company account holders.
The authentication SMS was changed from swan.io to authmsg.co, for better whitelabeling.
Most of the time, we won't display the Captcha anymore — the one displayed when the user enters their phone number. This doesn't take away from the level of security.
The Refund API mutation can now be used on SepaInstantCreditTransferIn transactions
BREAKING CHANGES:
The deprecated field executionDate used as an input for the initiateCreditTransfers mutation was permanently removed and replaced by requestedExecutionAt
For regulatory reasons, we will no longer accept special characters in the SepaBeneficiary name input fields for the initiateCreditTransfers mutation. Chinese and Cyrillic characters will no longer be allowed.

4 October 2022

NEW FEATURES:
We can now receive Instant SEPA Credit Transfers! These will be shown as SepaInstantCreditTransferIn in the TransactionTypeEnum. Learn more
Manage multiple card products from the dashboard, with different designs and spending limits. Learn more​
IMPROVEMENTS:
Order cards from the web banking with all our API capabilities: card design, format (Virtual, Physical or Single Use), spending settings, one or multiple members, grouped or individual delivery.
The Rolling Reserve for B2B SepaDirectDebitIn transactions in an Account Funding context has been decreased from 4 to 3 inter-bank business days + the booking date/time for SDD-In transactions was changed from 6PM CET to 8PM CET.
Funding Sources are no longer suspended when a rejection is received for SepaDirectDebitIn within the B2B scheme created for Account Funding. When a rejection is received for InsufficientFunds, cord scheme Funding Sources won't be suspended either. This can be simulated via the testing API and by adding a reasonCode in the simulateIncomingSepaDirectDebitReject and simulateIncomingSepaDirectDebitReturn API mutations. Learn more
We’ve removed the 14 calendar day limitation on the requestedExecutionAt for initiateFundingRequest. When the requestedExecutionAt input is used, SEPADirectDebitIn transactions created with Upcoming status can now be canceled up to 1 day before the executionDate and 1 hour before Swan cut-off. Learn more​
BUG FIX:
A very small proportion of users experienced errors when using their 6-digit passcode during consent. This has been fixed.
BREAKING CHANGES:
The hierarchy of Membership rights has been updated: A member cannot give permissions to others, that they don't themselves have. We will keep you posted on the new rejection that will occur in case this happens.
UPCOMING BREAKING CHANGES:
By the end of October, the deprecated field executionDateused as an input for the intitiateCreditTransfermutation will be permanently removed and replaced by requestedExecutionAt

5 September 2022

NEW FEATURES:
We changed the web banking navigation to improve your end-customer’s UX. This is the first step of our web banking redesign. Thanks so much for all your feedback!
We added an API Reference to help you during integration. Use it alongside the Doc and the Explorer.
IMPROVEMENTS:
We added some shortcuts to our GraphQL Schema. Now you can get the legal representative account membership directly from the account using account.legalRepresentativeMembership and the account created by the onboarding using onboarding.account (only for onboardings created after 2022-02-01)
BREAKING CHANGES:
The new web banking navigation comes with new URL formats. If you use deep links, you'll have to update them accordingly.
For security reasons, PUT method is no longer supported when uploading a supporting document.
For performance reasons, we added a rate-limiting to 60 requests per minute for introspections queries. Learn more
For Partners using Account Funding, the mutation addExternalAccountBalance is now deprecated. We just created a new one: addOrUpdateExternalAccountBalance. Both have the following behavior, with no breaking impacts: if you already added a balance for a specific date and then you add another balance for the same date, the existing balance will be updated with the characteristics you set, so you'll always have only one balance for the day.
UPCOMING BREAKING CHANGES:
By the end of September, we will update the hierarchy of Membership rights: A member will not be able to give permissions they don't themselves have, to other members. We will keep you posted on the new rejection that will occur in case this happens.
By the end of October, the deprecated field executionDate used as an input of the intitiateCreditTransfer mutation will be permanently removed and replaced by requestedExecutionAt

12 July 2022

IMPROVEMENTS:
We added a security captcha when there is some doubt concerning the phone number entered, in order to increase the level of security. This should impact only 0.5% of users.
To avoid strong authentication for the end customer each time the card number is revealed, we now allow calling the same consentUrl for 5 minutes after consenting. For this, we advise you to store the consentId on your side and to run a consent query each time before reusing the consentUrl to check that the consent status is Accepted and the updatedAt is less than 5min. Learn more​

6 July 2022

NEW FEATURES:
Account funding beta testers, you can now push your end customers' balances in order to calculate a funding limit. Learn more​
IMPROVEMENTS:
Review and optimize the user experience of our Strong Customer Authentication flows and encourage biometric authentication each time the passcode is used.
Add a supporting document section in the dashboard to consult the list of uploaded documents required for KYC/KYB and upload new ones.
2 new countries are available for company onboarding: Cyprus
and Bulgaria
We added more search filters and sorting in the account list and in the account membership list.
A new webhook account.closing is triggered when closing an account
The sepaBeneficiary.name input of the initiateCreditTransfer API mutation now needs to have a minimum of 2 characters
A new simulation (simulateReleaseReservedBalance) lets you release the reserved balance for a transaction. As a reminder, the reserve balance depends on the rolling reserve
When the blockSDD field is set to true at the account level, SDD-Out transactions presented on any virtual IBAN attached to it will be rejected.
Onboarding API data validation: new rejection type raised in case of incorrect data format/type
BUG FIXES:
We fixed some performance issues with the card and the account membership list
BREAKING CHANGES:
The Supporting Document status has been renamed from ReviewPending to PendingReview
accountHolder.fundingLimitand accountHolder.instantFundingLimit were deprecated since the previous release and have been totally removed
UPCOMING BREAKING CHANGES:
We changed the upload method from PUT to POST. PUT still works but is now deprecated and will be removed by end of August.
Next release, we will implement a rate-limiting to 60 req/minutes for introspections queries

7 June 2022

NEW FEATURES:
Instantly load your customers' accounts with SEPA Direct Debit. This is one of our biggest features of the year! Contact us if you're interested in joining the beta testers group. Learn more
Accept up to 100 consents with just one single Strong Customer Authentication. Learn more
When finalizing your customers' onboarding, you can now use the API to consult the list of minimum required supporting document purposes. Using this feature will reduce a lot of back-and-forths. In 90% of account openings, we require documents for just one single purpose. However, if an individual presents a higher risk than expected, we ask for additional documents. Learn more​
IMPROVEMENTS:
Clearly see where you are in the activation process, right from the dashboard header. Just click “Activate.” Learn more
If you're opening accounts for companies, you can now upload supporting documents using the nocode onboarding interface.
For a better UX, we decided to remove the last page of user registration (Sign in).
You can now search a first or last name in the account membership list.
A new webhook onboarding.updated is triggered when onboarding is finalized.
Funding sources are listed in the dashboard.
A funding source with Pending or Enabled status can be Canceled by any account member with Can Manage Account Membership user rights using the cancelFundingSource mutation.
The Account Verification status of a SDD B2B funding source is automatically switched to verified when the Rolling Reserve amount is released from the reserved balance (if no R-transaction has been received)
A new reason code has been added for refused card transactions: MerchantShouldResubmitAuthorization
Card spending was not being released when the authorization amount was released.
BUG FIXES:
Some card options were recently desynchronized at our card processor. We've fixed this.
BREAKING CHANGES:
Account funding is in beta, so there are sometimes breaking changes: accountHolder.fundingLimit and accountHolder.instantFundingLimit is deprecated and moved to a new resource accountHolder.fundingLimitSettings respectively in accountHolder.fundingLimitSettings.fundingLimit and accountHolder.fundingLimitSettings.instantFundingLimit
UPCOMING BREAKING CHANGES:
Next release, in early July, we will rename the Supporting Document status ReviewPending to PendingReview

5 May 2022

NEW FEATURES:
Seamlessly load your customers' accounts, with SEPA Direct Debit. Contact us if you want to join the beta testers group. Learn more
Skip identity verification for some corporate card holders. Learn more
Users can reset their passcode via facial recognition in less that 3 minutes. Learn more​
IMPROVEMENTS:
The dashboard data list now includes search, count, filters, and more. We'll add more each cycle, so you can enhance your customer support experience. Let us know if you have any feedback or special wishes.
Simulate the reception of a physical card using the Testing API. The event simulator will soon feature this, as well.

11 April 2022

NEW FEATURES:
Full redesign of our dashboard to improve the Developer Experience.
IMPROVEMENTS:
Your customer service folks can easily cancel upcoming credit transfers, or cancel and suspend cards, thanks to some new buttons.
Account statements are listed in the dashboard, or you can generate them yourself.
In the onboarding API, we added creation date and last updated date, and improved some error messages.
BUG FIXES:
The cardId is now correctly sent within the redirection URL of the activatePhysicalCard mutation.
BREAKING CHANGES:
We activated pagination on onboarding.

15 March 2022

NEW FEATURES:
Display your customers' data on the dashboard. This is a great first round; the next release will feature even more data with added filters and a search field.
Cardholders can now activate a card after receiving it, thanks to the new activatePhysicalCard mutation. They just have to input the identifier printed on the card and give their consent. Learn more
Upload supporting documents using the generateSupportingDocumentUploadUrl mutation during the onboarding. This way you don't have to ask users a second time by email. Learn more​
IMPROVEMENTS:
To facilitate the interpretation of the merchantCategoryCode, you can now get the description of each code in the merchantCategoryDescription field for every transaction of CardTransactiontype.
BUG FIXES:
The amounts displayed in thecard.spending.amount.value field are now more consistent. Values previously returned as 0 will now be returned as 0.00
BREAKING CHANGES:
To update the verification status of an individual account holder, you have two options:
  • from the dashboard using the event simulator for Update Account Holder (instead of the sandbox users page).
  • from the Testing API with the updateAccountHolder mutation (instead of updateSandboxUser)
​
We've decided to reduce the number of cards we can issue using addCards mutation up to 250 while we fix a performance issue.
UPCOMING BREKING CHANGES:
Please note that after the next release (estimated for April 7th), the physical card identifier will return null if its status is ToActivate.

17 February 2022

NEW FEATURE:
A new Testing API exposes the event simulators and Sandbox user management. Developers can now call them programmatically and perform end-to-end tests without having to connect to the Dashboard. Big improvement to our developer experience! Try it now or Learn more​

3 February 2022

NEW FEATURES:
Offer Capital Deposit to your French customers. Enable the registration of new companies directly from your product, by providing an account and proof that the share capital has been wired by shareholders. Learn more
Ship a group of cards altogether to the same address using the addCardsWithGroupDelivery mutation. It's more cost-effective, and better for the planet!
IMPROVEMENTS:
Simulate Sandbox user’s identification status from the dashboard Learn more
Transactions are better sorted in our web banking thanks to a new transaction.executionDate field. For Upcoming transactions, it reflects the requested execution date. For all other transactions it reflects the creation date.
The maximum number of cards you can create using the addCards mutation has been increased from 200 to 500
New webhooks are available for creating and updating Received Direct Debit Mandates and
SEPA Direct Debit-Out B2B Mandates Amendments can now be registered with Swan using the UpdateReceivedSepaDirectDebitB2bMandate mutation. Learn more​
BUG FIXES:
We fixed some bugs for the users of old browsers (IndexedDB issues)
BREAKING CHANGES:
New PaymentProduct and TransactionType enum values have been added in order to provide you with a greater level of detail and an improved experience. These new enum values that were previously listed as COMING SOON are now populated. The enum values marked COMING SOON will be populated during the next release. Some other enum values (listed as SOON TO BE DEPRECATED) will be deprecated in the next Swan release, therefore please make sure you take these changes into account.
We will start sending the following RejectedReasonCodes for card transactions that were created during the last release: CardNotActivated, InvalidPin, InvalidPinAttemptsExceeded
Many new Rejections related to the card and already added during the last release are now populated. They should provide you with a greater level of detail and an improved experience.

6 January 2022

NEW FEATURES:
We fully support all kinds of Received Sepa Direct Debit: Core and B2B. Learn more
You can now close an account by API using the closeAccount mutation. Learn more​
IMPROVEMENTS:
It’s now possible to release a card authorization using the Event Simulator.
You can now filter cards by statuses for a given Account Membership using the accountMembership.cards query.
Default pagination has been increased to 50 items per page in the payments query in order to align with other queries.
For each card transaction on the Account Statement, the description field now shows the card holder name and the last four digits of the card.
Webhooks offer 2 new onboarding events: Onboarding.Created and Onboarding.Updated
Exponential backoff when retrying failed webhook events, with up to a maximum of 7 retries.
BUG FIXES:
The list of accepted characters in the reference field of the initiateCreditTransfer mutation has been updated to match current SEPA guidelines.
The image returned in the cardUrl (card query) is now updated when the Account Member name is updated
When issuing cards, Cardholder names and delivery addresses can include special characters and accents like "Amélie" or "Hauptstraße".
BREAKING CHANGES:
It's been 3 months now (that's 3 releases ago), that partners integrating by API must make sure their UX entices users to prove their identity. To give you time to develop this user flow, we've been texting all users about identity verification as soon as they are created. Starting today, we no longer send new users this sms. Learn more​

16 December 2021

NEW FEATURES:
Users can now consent using biometry. To try it out for yourself, just clear your browser data. During your next consent, we'll ask you to register your FaceId, TouchId, or Fingerprint. Passcode will only be requested if a user has changed their mobile device. Learn more
Some of you wish to send notifications via your own app, to offer a great UX just like the best neobanks. This is now possible. Just define your preferred consent notification channel, SMS or App, by using the new updateUserConsentSettings mutation. Learn more
Thanks to the new updateOnboarding and finalizeOnboarding mutations you are not obligated to use our #nocode interfaces. You can onboard customers directly from your product, if you prefer. Learn more​
IMPROVEMENTS:
We added new account filters : canManageAccountMembership, canManageBeneficiaries, canInitiatePayments and new accountMemberships filters: status, canInitiatePayments, canManageAccountMembership, canManageBeneficiaries
The list of transactions associated to a received direct debit mandate can now be retrieved using the API.
The dashboard lets you sort webhook event logs using 2 new filters: eventId and resourceId. View each webhook's KPIs for the last 7 days: hits, counter, and error rate. We also added 2 new events: Onboarding.created and Onboarding.updated
Transactions where paymentProduct is SEPACreditTransfer and status is Upcoming can now be canceled using the cancelTransaction mutation.
BUG FIXES:
When requesting physical cards, the Company Name and the Name/Last Name are now truncated to 38 characters. This is a mail delivery requirement.
The card language (used for 3DS, ATM screens and delivery envelopes) is dynamically assigned. Available languages: DE, FR, IT, NL, EN, ES. When a language is not available, the default language is EN.
BREAKING CHANGES:
Pagination on the accountHolders, accountMemberships, and accounts queries has been fixed. It might break if you implement the filter on the front-end. These queries now only return the requested number of items, rather than all items at once.

7 December 2021

NEW FEATURE:
Swan's Apple Pay offer is expanded across 19 EU countries!
(Austria
, Belgium
, Cyprus
, Estonia
, Finland
, France
, Germany
, Greece
, Ireland
, Italy
, Latvia
, Lithuania
, Luxembourg
, Malta
, The Netherlands
, Portugal
, Slovakia
, Slovenia
, Spain
)

18 November 2021

NEW FEATURES:
Add up to 200 account memberships using just one consent with the addAccountMemberships mutation. Learn more
Add up to 200 cards, and print their physical version using just one consent with the addCards mutation. Since card creation is executed asynchronously, we created a new card status: Processing . We deprecated the status filter on the cards query and created statuses so you can filter when there are multiple ones. Learn more
The new ibanValidation query helps you verify the format of an external IBAN, get all available bank info (name, BIC code, etc.) and account data available for this IBAN, as well as the reachability of this IBAN across all SEPA schemes. Learn more
Sepa Direct Debit Core Mandates are now visible in the API under the account.receivedDirectDebitMandates query and can be suspended with the suspendReceivedDirectDebitMandate mutation or resumed with the resumeReceivedDirectDebitMandate mutation. Learn more
During SCA, avoid asking your customer to enter their phone number, first name, last name, and birth date on the Swan user form. Query parameters during the oauth 2 process let you do this. Learn more​
IMPROVEMENTS:
Some webhook events used to be fired a few milliseconds too early, and now are fired right on time.
Just in case a webhook event is incorrectly integrated on your side, we've added a retry button to the dashboard.
Simulate physical card delivery from the dashboard.
Our compliance team did a lot of work to allow you to onboard individuals and now companies across all of Europe. Learn more​

2 November 2021

NEW FEATURE:
Swan's Google Pay offer is expanded across 15 EU countries!
(Austria
, Belgium
, Estonia
, Finland
, France
, Germany
, Greece
, Ireland
, Italy
, Latvia
, Lithuania
, The Netherlands
, Portugal
, Slovakia
, Spain
)

21 October 2021

NEW FEATURES:
Embedded Web SCA is out! After 2 years of good and loyal service, it's "bye-bye" to Swan app! Having to use Swan app was a major issue for many of you...so we look forward to receiving your feedback on this improvement!
​
​
Supsend and Resume Card directly from the web banking
Get the shipping information of a physical card from the web banking
IMPROVEMENTS:
Display card numbers during the addCard or addSingleUseVirtualCard consent by using the new viewCardNumbers property. This way, you save the time of one consent and can use the card immediately

13 October 2021

NEW FEATURES:
generateAccountStatement mutation allows you to generate account statements on demand.
suspendPhysicalCard and resumePhysicalCard mutations are now available.
All new users receive a first sandbox user; they don't need to have a dashboard member in order to use the sandbox.
IMPROVEMENTS:
New options during card authorization simulation (card type, authorization type, 3 wrong PINs ...)
The transaction query can now fetch its related account . If you're using webhooks for transactions, this is very helpful.
Add pagination and filtering on the cards query.
Limit GQL queries if they are too complex.
Standing orders are now fully available in the web banking.
The card holder name is displayed in the web banking's transaction details.
Edit an account's language in the web banking.
SMS after failed id verification includes more detailed reasons.
All interfaces including the web banking and onboarding process are now also available in Spanish.
BUG FIXES:
Id verification of documents from Kosovo.

16 September 2021

NEW FEATURES:
Add a category to: the card authorization event simulator, the payment control, the card transaction API
​
Add an authorizationType to: the card authorization event simulator, the payment control, the card transaction API. Values include Classic ,PreAuthorization,and DataRequest
Add a name field to the card in the API
Set estimatedDeliveryDate , trackingNumber , shippingProvider when you order new physical cards
Change the account language using updateAccount mutation
Start an identity verification process via the web banking
Schedule Standing Orders via the web banking
IMPROVEMENTS:
Expose the query param resourceId in the consent callbacks Url
Allow a membership with canManageMembership rights to cancel a physical card
Company account holders verification status remains NotStarted as long as the legal representative is not idverified
mutation scheduleStandingOrder : accept datetime format for firstExecutionDat
Account Statements and SMS are now all translated
BUG FIXES:
Resolve a non-coherent value in isPinReady when a physical card was printed before 5 PM Paris time

19 August 2021

NEW FEATURES:
Webhooks are now available. This allows you to process all events in real-time. Learn more
Standing Orders are ready to be used after a few weeks of beta testing Learn more
A new Developer role for dashboard members. We encourage you to update members accordingly.
Payment control settings are now available in the dashboard. Learn more
Permanently cancel a card via the web banking
Query transaction by Id in the Graph
IMPROVEMENTS:
API Explorer has shareable links and the prettify function was improved
We added autocompletion for Ultimate Beneficial owners to the onboarding for French companies
When an upcoming transaction is executed, this same transaction is updated to Pending rather than being deleted. Learn more​

17 August 2021

NEW FEATURE:
Apple Pay is live, you can add your card from the Swan app or directly from your Wallet app !

4 August 2021

NEW FEATURE:
Update the account name from the Web banking
Cancel a card to immediately and permanently cease usage of a card, its physical card and its digital cards and will no longer be billed for it by calling the cancelCard mutation Learn more​
IMPROVEMENTS:
We added the paymentId in the payment control payload during the card authorization Learn more​

21 July 2021

NEW FEATURE:
Our end-user interfaces are now available in Italian
IMPROVEMENTS:
A second address line is available for ordering a physical card
The number of characters allowed for addresses for physical card deliveries has been limited
Check IBAN consistency when using the InitiateCreditTransfers mutation

8 July 2021

NEW FEATURES:
Issue Single Use Virtual Cards with the new addSingleUseVirtualCard mutation. Learn more
Schedule, cancel, and fetch Standing Orders from the API. Execution is not yet up and running, but it's coming soon. Learn more
Change an account name from the onboarding mutation or at any time from the updateAccount mutation.
Permanently block a physical card via the web banking or with the cancelPhysicalCard mutation.
IMPROVEMENTS:
Membership binding is no longer case sensitive nor accent sensitive (Rémi and remi are seen as a match now)
​
Last modified 27d ago