Change log
Additions and updates to the Swan platform
Internal Direct Debit, open-sourcing our no-code experience, and many other great features are in the works. Check out our public roadmap to learn more.

NEW FEATURES:
We implemented a fallback option for instant transfers. When an instant transfer is unavailable, whether for technical reasons or due to a manual risk assessment, the instant transfer will run as a standard transfer instead. Your customer won’t need to reinitiate a transfer or consent a second time.
How? We added a new input mode to the

initiateCreditTransfer
mutation, as well as the new filter includeRejectedWithFallback
to the transactions query.
Tip: We recommend you choose false
by default so your customers won’t see the rejected instant transfer on their transaction history. Learn moreIMPROVEMENTS:
To reduce back and forth with our KYC team, we're asking some partners to collect additional supporting documents during onboarding for some use cases:
• Lithuanian companies: Company Registration, UBO Declaration
• Netherlands, Austria, Luxembourg companies: UBO Declaration
• German self-employed: Self-employed Registration

For German account onboarding (

accountCountry: DEU
), three fields are now API-optional:
• UBO birth date: individualUltimateBeneficialOwners.birthDate
• UBO birth city: individualUltimateBeneficialOwners.birthCity
• UBO birth postal code: individualUltimateBeneficialOwners.birthCityPostalCode

originTransaction
to the API at the transaction
level. It contains its parent transaction
(for example, the card debit for a card debit reversal).
We added instant SEPA credit transfers and their associated recalls to the event simulator in your dashboard.

You can now approve authorizations with a partial amount. To do so, indicate the

partialAuthorizationAmountValue
within your Payment Control response (more information here). Note that not all authorizations can be authorized partially; to identify eligible authorizations, look for the allowsPartialAuthorization: true
on the Payment Control notification we send you.BUGFIX:
We fixed some latency issues on our OAuth2.0 server. Let us know if you still have trouble getting your access tokens.

BREAKING CHANGES:
We added a new value

SwornStatement
in SupportingDocumentPurposeEnum
. To avoid breaking changes on your side, please take these into account. We'll request this supporting document during onboarding for Spanish companies.NEW FEATURES:
The onboarding and transfer pages have a fresh, new design. And guess what? We'll be ready to share our code and design system with you in the coming weeks.

We added Capital Deposits to the dashboard data, which was the first step to removing the current dashboard. Next, you'll be able to upload documents and simulate everything with the Event Simulator.

NEW FEATURES:
IBANs starting with DE are live after 3 successful months in beta.
You can use them via the API or no-code, across all use cases including B2B and B2C! To test them, use the new German onboarding link. You'll find it in your dashboard, on the Settings/Onboarding tab. The German onboarding flow is a little different, in order to comply with German law. Learn more


Verify the identity of individual account holders using a Qualified Electronic Signature. This new identification level is mandatory for individual German IBANs but can also be used for individual French IBANs in order to avoid the first transfer to finalize their verification process. Learn more

IMPROVEMENTS:
Our reachability on SEPA instant credit transfers has been extended to TIPS in addition to EBA-RT1. We're now connected to most banks for initiating and receiving these transactions.

BREAKING CHANGES:
We will begin using some changes we already warned you about, and have added them to the Graph. To avoid breaking changes on your side, please take these into account:

- New transaction types
SepaInstantCreditTransferInRecall
andSepaInstantCreditTransferOutRecall
- New rejection reason codes for
SepaInstantCreditTransferOut
transactions. The new values are:CreditorBankTechnicalErrorOccurred
andCreditorBankTimeout
Learn more
NEW FEATURES:
We added a new Account activation tab to the web banking. This makes it easy for our no-code customers to finalize the account holder verification process. Just follow the steps.

On March 1st 2023, we will start charging banking fees directly on your customers' Swan accounts. This is the first phase of our billing project. Ultimately, this will enable you to choose which fees you want to charge your customers through Swan, and lead to additional revenue. Learn more

IMPROVEMENTS:
You can now use the

accountStatement
query to return an account statement from its id
Learn moreBREAKING CHANGES:
As mentioned in past release notes, the new rejection reasons for

CardOut
transactions are as follows: RetryWithChipAndPin
, PinRequiredForFurtherTransaction
, InvalidSecurityNumber
, InvalidExpirationDate
These have been added to the Graph. Please take them into account to avoid breaking changes on your side. Learn moreNEW FEATURES:
The web banking has a fresh new design for transaction history, members, and card tabs. And guess what? We're getting ready to share our code and design system with you.

Automatically trigger the funding of a Swan account based on pre-defined events without user consent. Restricted to Account funding SEPA Direct Debit B2B with Rolling reserve. Learn more

IMPROVEMENTS:
Automatically fetch UBOs for french registered companies with the

updateOnboardCompanyAccountHolder
mutation. This was already available in the no-code interface and now it's in the API.
Indicate a

spendingLimit
when using the addCard
mutation. To avoid breaking changes, the spendingLimit
is an optional input for the addCard
mutation. Learn more
Create a card and add it to Apple Pay or Google Pay simultaneously using the multiple consent feature. Learn more

BUGFIX:
We have fixed some bugs on Capital Deposit:

- Account Holders linked to multiple Capital Deposits don’t have status errors anymore.
- Shareholder status is now properly updated when the funds are deposited.
- We fixed an error that was preventing some Capital Deposits from moving to completion.
BREAKING CHANGES:
We will begin using some changes we already warned you about, and have added them to the Graph. To avoid breaking changes on your side, please take these into account:

- new types of Transaction
FeeTransaction
andInternalDirectDebitTransaction
- A new enum at Transaction level:
paymentProduct = Fees
andtransactionType = FeesOut, FeesIn
- A new payment mandate type
InternalDirectDebitPaymentMandate
- A new received payment mandate type
InternalReceivedDirectDebitMandate
- A new rejection reason code on
SepaInstantCreditTransferOut
andSepaInstantCreditTransferIn
- A new enum at Onboarding level:
companyType = SelfEmployed
UPCOMING BREAKING CHANGES:
In February we will start using a lot of changes that have been added to the Graph. To avoid breaking changes on your side, please take these into account:

- New rejection reasons for
CardOut
transactions. The new values are:RetryWithChipAndPin
,PinRequiredForFurtherTransaction
,InvalidSecurityNumber
,InvalidExpirationDate
Learn more - New rejection reason codes for
SepaInstantCreditTransferOut
transactions. The new values are:CreditorBankTechnicalErrorOccurred
andCreditorBankTimeout
Learn more - New transaction types
SepaInstantCreditTransferInRecall
andSepaInstantCreditTransferOutRecall
- Add
Refused
inaccountHolder.verificationStatus
enum
NEW FEATURES:
Initiate SEPA Instant Credit Transfers (

SepaInstantCreditTransferOut
) transactions using the existing initiateCreditTransfers
API mutation with the isInstant
input flag. Please note that to guarantee instantaneity, we automatically reject instructions that hit our risk scoring engine (with the RegulatoryReason rejection reason code). In this case, we recommend you suggest your users to issue a new, non-instant SEPA Credit Transfer transaction (SepaCreditTransferOut
). Learn more
Use server-to-server consent to avoid any human interaction with the new

grantConsentWithServerSignature
mutation! To start playing with this highly secure yet easy feature, head to your Sandbox > Developers > Server Consent. If you are interested in using this feature in Live, please reach out to your TAM, check the documentation and start consenting on the go! Learn more
During onboarding, once we have verified the legal representative of the account holder is not a politically exposed person or on a sanctions list, we will distribute the IBAN via API and Web Banking. Most times, this should occur within 10min after ID Verification is completed. Learn more

IMPROVEMENTS:
Display the numbers of a physical card using the new

viewPhysicalCardNumbers
mutation. This is especially useful if you only issue physical cards. Learn more
When using server-to-server consent for

addSingleUseVirtualCard
, the AddSingleUseVirtualCardSuccessForProjectOwnerPayload
will now return a card in ConsentPending
status. The card will be enabled after the consent is validated. We would still recommend that you verify the card status before using it. Learn moreUPCOMING BREAKING CHANGES:
In early January we will start using a lot of changes that have been added to the Graph in order to improve the product in the following month of the release. Please make sure you take it into account before we use them to avoid breaking changes on your side:

- new types of Transaction
FeeTransaction
andInternalDirectDebitTransaction
- A new enum at Transaction level:
paymentProduct = Fees
andtransactionType = FeesOut, FeesIn
- A new payment mandate type
InternalDirectDebitPaymentMandate
- A new received payment mandate type
InternalReceivedDirectDebitMandate
- New rejection reason codes on
SepaInstantCreditTransferOut
andSepaInstantCreditTransferIn
- A new enum at Onboarding level:
companyType = SelfEmployed
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
transactionsBREAKING CHANGES:
The deprecated field
For regulatory reasons, we will no longer accept special characters in the

executionDate
used as an input for the initiateCreditTransfers
mutation was permanently removed and replaced by requestedExecutionAt

SepaBeneficiary
name
input fields for the initiateCreditTransfers
mutation. Chinese and Cyrillic characters will no longer be allowed.NEW FEATURES:
We can now receive Instant SEPA Credit Transfers! These will be shown as
Manage multiple card products from the dashboard, with different designs and spending limits. Learn more

SepaInstantCreditTransferIn
in the TransactionTypeEnum
. 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
Funding Sources are no longer suspended when a rejection is received for
We’ve removed the 14 calendar day limitation on the


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.

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

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 moreBUG 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

executionDate
used as an input for the intitiateCreditTransfer
mutation will be permanently removed and replaced by requestedExecutionAt
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,
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


PUT method
is no longer supported when uploading a supporting document.


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
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 moreNEW 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
The sepaBeneficiary.name input of the
A new simulation (
When the
Onboarding API data validation: new rejection type raised in case of incorrect data format/type







account.closing
is triggered when closing an account

initiateCreditTransfer
API mutation now needs to have a minimum of 2 characters

simulateReleaseReservedBalance
) lets you release the reserved balance for a transaction. As a reminder, the reserve balance depends on the rolling reserve

blockSDD
field is set to true at the account level, SDD-Out transactions presented on any virtual IBAN attached to it will be rejected.

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.fundingLimit
and accountHolder.instantFundingLimit
were deprecated since the previous release and have been totally removedUPCOMING 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


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
Funding sources are listed in the dashboard.
A funding source with
The Account Verification status of a SDD B2B funding source is automatically switched to
A new reason code has been added for refused card transactions:
Card





onboarding.updated
is triggered when onboarding is finalized.


Pending
or Enabled
status can be Canceled
by any account member with Can Manage Account Membership user rights using the cancelFundingSource
mutation.

verified
when the Rolling Reserve amount is released from the reserved balance (if no R-transaction has been received)

MerchantShouldResubmitAuthorization

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
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.


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.

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
Upload supporting documents using the


activatePhysicalCard
mutation. They just have to input the identifier printed on the card and give their consent. Learn more

generateSupportingDocumentUploadUrl
mutation during the onboarding. This way you don't have to ask users a second time by email. Learn moreIMPROVEMENTS:
To facilitate the interpretation of the

merchantCategoryCode
, you can now get the description of each code in the merchantCategoryDescription
field for every transaction
of CardTransaction
type.BUG FIXES:
The amounts displayed in the

card.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 ofupdateSandboxUser
)
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
.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 moreNEW 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
The maximum number of cards you can create using the
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


transaction.executionDate
field. For Upcoming transactions, it reflects the requested execution date. For all other transactions it reflects the creation date.

addCards
mutation has been increased from 200 to 500


UpdateReceivedSepaDirectDebitB2bMandate
mutation. Learn moreBUG FIXES:
We fixed some bugs for the users of old browsers (

IndexedDB
issues)BREAKING CHANGES:
New
We will start sending the following
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.

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.

RejectedReasonCodes
for card transactions that were created during the last release: CardNotActivated
, InvalidPin
, InvalidPinAttemptsExceeded

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 moreIMPROVEMENTS:
It’s now possible to release a card authorization using the Event Simulator.
You can now filter cards by
Default pagination has been increased to 50 items per page in the
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:
Exponential backoff when retrying failed webhook events, with up to a maximum of 7 retries.


statuses
for a given Account Membership using the accountMembership.cards
query.

payments
query in order to align with other queries.


Onboarding.Created
and Onboarding.Updated

BUG FIXES:
The list of accepted characters in the reference field of the
The image returned in the
When issuing cards, Cardholder names and delivery addresses can include special characters and accents like "Amélie" or "Hauptstraße".

initiateCreditTransfer
mutation has been updated to match current SEPA guidelines.

cardUrl
(card query) is now updated when the Account Member name is updated

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

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
Thanks to the new


updateUserConsentSettings
mutation. Learn more

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 moreIMPROVEMENTS:
We added new account filters :
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:
Transactions where

canManageAccountMembership
, canManageBeneficiaries
, canInitiatePayments
and new accountMemberships
filters: status
, canInitiatePayments
, canManageAccountMembership
, canManageBeneficiaries


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

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.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
)





















NEW FEATURES:
Add up to 200 account memberships using just one consent with the
Add up to 200 cards, and print their physical version using just one consent with the
The new
Sepa Direct Debit Core Mandates are now visible in the API under the
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

addAccountMemberships
mutation. Learn more

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

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

account.receivedDirectDebitMandates
query and can be suspended with the suspendReceivedDirectDebitMandate
mutation or resumed with the resumeReceivedDirectDebitMandate
mutation. 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




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
)

















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 NEW FEATURES:
All new users receive a first sandbox user; they don't need to have a dashboard member in order to use the sandbox.

generateAccountStatement
mutation allows you to generate account statements on demand.

suspendPhysicalCard
and resumePhysicalCard
mutations are now available.

IMPROVEMENTS:
New options during card authorization simulation (card type, authorization type, 3 wrong PINs ...)
The
Add pagination and filtering on the
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.


transaction
query can now fetch its related account
. If you're using webhooks for transactions, this is very helpful.

cards
query.






BUG FIXES:
Id verification of documents from Kosovo.

NEW FEATURES:
Add a

category
to: the card authorization event simulator, the payment control, the card transaction API
Add an
Add a
Set
Change the account language using
Start an identity verification process via the web banking
Schedule Standing Orders via the web banking

authorizationType
to: the card authorization event simulator, the payment control, the card transaction API. Values include Classic
,PreAuthorization
,and DataRequest

name
field to the card in the API

estimatedDeliveryDate
, trackingNumber
, shippingProvider
when you order new physical cards

updateAccount
mutation


IMPROVEMENTS:
Expose the query param
Allow a membership with
Company account holders verification status remains
mutation
Account Statements and SMS are now all translated

resourceId
in the consent callbacks Url

canManageMembership
rights to cancel a physical card

NotStarted
as long as the legal representative is not idverified

scheduleStandingOrder
: accept datetime format for firstExecutionDat

BUG FIXES:
Resolve a non-coherent value in

isPinReady
when a physical card was printed before 5 PM Paris timeNEW 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
Payment control settings are now available in the dashboard. Learn more
Permanently cancel a card via the web banking
Query



Developer
role for dashboard members. We encourage you to update members accordingly.



transaction
by Id in the GraphIMPROVEMENTS:
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 moreNEW FEATURE:
Apple Pay is live, you can add your card from the Swan app or directly from your Wallet app !

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 moreIMPROVEMENTS:
We added the

paymentId
in the payment control payload during the card authorization Learn moreNEW 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
mutationNEW FEATURES:
Issue Single Use Virtual Cards with the new
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
Permanently block a physical card via the web banking or with the

addSingleUseVirtualCard
mutation. Learn more


updateAccount
mutation.

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 20h ago