API V2 exclusive features
This page summarizes all API v2 exclusive features, meaning the features available only in API v2, but not in API v1. API v2 contains both technical improvements over API v1, as well as additional functionality. If you want to upgrade from API v1 to v2, see https://documentation.finapi.io/access/api-v2-migration-guide.
Additional bank coverage
With Api v2, we offer an increased bank coverage with 400 more banks than API v1, with more to come in the future.
These banks can be made available to you depending on your coverage plan. For example, if your package contains only banks from Germany, and you are using API v1, when switching to API v2 you will automatically cover all the exclusive banks in API v2 for Germany.
As a quick overview per country, we offer the following:
Country | Numbers of banks | Biggest banks |
---|---|---|
International banks | 1 | Interactive Brokers |
Belgium | 15 | ING, Deutsche Bank, KBC Bank, etc |
Bulgaria | 1 | ING |
Czech Republic | 1 | ING |
Germany | 2 | ING, Volkswagen Bank |
Spain | 48 | Caja Rural, Caixa, ING, etc |
France | 85 | Banque Populaire, Caisse d'Epargne, Crédit Agricole, Société Générale, etc |
Hungary | 1 | ING |
Ireland | 1 | ING |
Italy | 226 | Banca di Credito Cooperativo, BCC, Cassa Rurale ed Artigiana, Iccrea, Poste Italiene, Unicredit, etc |
Luxembourg | 2 | ING |
Netherlands | 7 | ABN Amro, Rabobank, ING, etc |
Portugal | 1 | ING |
Romania | 8 | Banca Comercială Română, ING, Raiffeisen, Unicredit, etc |
Slovakia | 1 | ING |
If you are interested and would like to see a complete or upcoming list of banks, as well as functionality, please contact our Customer Success Team for more information.
Additional functionality
Access to a variety of additional banks (API v2 covers all banks of API v1, but not vice versa).
Retrieval of pending (not yet booked) transactions (currently available only for certain banks, but we are constantly extending the bank coverage for this). See:
/api/v2/pendingTransactions
Retrieval of bank-side standing orders (currently available only for certain banks, but we are constantly extending the bank coverage for this - see
bank.bankInterfaces[].aisCapabilities.standingOrdersDownload
). See:/api/v2/bankSideStandingOrders
Additional data for transactions/pending transactions that is not included in API v1 (e.g.
certisData
,feeAmount
,feeCurrency
)Ability to filter by
currency
in the “Get and search all transactions” and “Get cash flows” services.Possibility to configure the preferred consent type for XS2A communication. See:
/api/v2/clientConfiguration
Retrieval of the full set of a bank’s existing interfaces, with their AIS availability (account download) and PIS availability (payments/standing orders). See:
/api/v2/banks
(in API v1, currently, unsupported interfaces are implicitly hidden. Also, API v1 contains only a flag for AIS availability, but not for PIS availability).Retrieval of all bank groups existing in the Access bank repository via a dedicated endpoint.
Filtering banks in the “Get and search all banks” endpoint by bank groups.
Automated bank-side consent deletion upon deletion of a user, bank connection, account, or interface (in API v1, this has to be done manually via additional API calls).
Definition of bank-specific payment constraints per bank interface (
BankInterface.paymentConstraints
), so that customers can enforce those constraints upon payment creation to avoid payments getting rejected by the bank.The types
BankConnection
andAccount
contain a fieldimportDate
that depicts when the connection/account was initially imported in finAPI.more exclusive functionality coming soon…
Technical improvements
All deprecated services and fields from API v1 are gone, so the API is easier to understand and there is no risk of implementing against deprecated functionality.
“null” fields (i.e. fields without any value) are no longer contained in the response body, which reduces the network traffic and improves response times (API v1 returns all fields even when they are “null”)
Date and date-time fields are properly typed according to the OpenAPI standard (“date” and “date-time” types), which allows OpenAPI code generators to translate such fields into the respective types of your chosen programming language, including the correct timezone. (in API v1, such fields are returned as regular “string” types and must be converted into the proper date/date-time objects manually).
Improved authorization security: API v2 requires that authorization-related data is passed in the Authorization header or request body (API v1 allows passing such data as a query parameter, which is not recommended). See:
/api/v2/oauth
No more code generation issues with the term “interface”: API v1 used this term for a lot of fields, but since it is a reserved keyword in some programming languages, it caused issues with generated SDKs. API v2 instead uses the term “bankingInterface”.