Skip to main content

Release of AIS v4

· 4 min read
Simon Meyer
Product Manager

AIS Version 4.0

Today, we are excited to announce the release of the new major version of the Account Information Service API on bLink!

This release is the result of extensive discussions within the SFTI community, where existing API issues were throroughly examined and improved through various changes. Explore the detailed changes in the SFTI GitHub Changelog. A big thank you to the entire community for their contributions and to SFTI for the orchestration and refinement of the API.

Release

  • XE/XP: 05/2024
  • Prod: 11/2024

Added

  • New field accountTypeCode added to schema accountItem
  • New fields accountOwner and allowedCurrencies added to schema accountItem
  • New fields schemaVersion, account-type, account-identification, dateFrom, dateTo added to schema iso20022ReportReference
  • New examples added to error codes to specify usage

Changed

  • Status condition of additionalEntryInformation changed to required
  • Status condition and description of designation in schema accountItem changed to strongly recommended
  • Pattern of field exchangeRate in schema accountTransactionInstructedAmount changed to ^\d{1,11}$|^(?=\d+[.]\d+$).{3,12}$
  • Description of endpoints /iso20022/statements and /iso20022/statements/{reportId} changed to specify supported XML-Schema

Removed

  • Endpoint POST/healthcheck removed

Changes in YAML

  '/iso20022/statements':
get:
...
description: >
Get the resources links to available account statements (camt.053).
The returned account statements must be conform to the XML schema and
implementation guidelines defined by Swiss Payment Standards.
+ * bLink supports account statements only in XML-Schema «camt.053.001.08»
operationId: retrieveIso20022AccountStatementIds
...
'/iso20022/statements/{reportId}':
get:
...
responses:
'200':
description: |
Returns the requested ISO20022 XML camt.053 message.
+ * bLink supports account statements only in XML-Schema «camt.053.001.08».
Invalid schemas will result in an error to the client.
headers:
...
    accountItem:
title: Account Information Item
type: object
required:
+ - accountOwner
- id
- account
- currency
properties:
id:
$ref: '#/components/schemas/commonAccountId'
account:
$ref: '#/components/schemas/paymentIbanAccount'
+ accountOwner:
+ maxLength: 140
+ type: string
+ example: Account Owner XYZ
currency:
type: string
minLength: 3
maxLength: 3
example: CHF
+ allowedCurrencies:
+ type: array
+ items:
+ type: string
+ example: CHF
designation:
type: string
maxLength: 140
+ description: This element shall always be populated with the account alias, if defined, otherwise with specific bank account name (e.g. bank saving account).
example: Firmenkonto
+ accountTypeCode:
+ type: string
+ description: |
+ Contains the account type code according to the ISO external cash account type code list. It is strongly recommended to use only the 5 codes below as follows:
+ LOAN: Account used for loans (loan and mortgage accounts) - DE: Darlehenskonto, Kreditkonto, Baukreditkonto, Hypothekarkonto
+ LLSV: Account used for savings with special interest and withdrawal terms (pension provision and vested benefits accounts) - DE: Vorsorge- und Freizügigkeitskonten
+ SVGS: Account used for savings (all types of saving accounts)
+ TRAN: Account used for transactions (all types of personal, current and payment accounts) - DE: Privat-, Kontokorent- und Zahlungsverkehrskonten
+ OTHR: Account not otherwise specified (gathering pool for all other accounts)
+ example: TRAN
+ enum:
+ - CACC
+ - CARD
+ - CASH
+ - CHAR
+ - CISH
+ - COMM
+ - CPAC
+ - LLSV
+ - LOAN
+ - MGLD
+ - MOMA
+ - NFCA
+ - NREX
+ - ODFT
+ - ONDP
+ - OTHR
+ - SACC
+ - SLRY
+ - SVGS
+ - TAXE
+ - TRAN
+ - TRAS
+ - VACC
_links:
type: object
...
    accountTransactionEntry:
title: Account Transaction Entry
type: object
required:
- entryId
- transactionType
- bookingDate
- valueDate
- amount
- bankTransactionCode
+ - additionalEntryInformation
properties:
...
    accountTransactionInstructedAmount:
title: Account Transaction Instructed Amount
...
exchangeRate:
type: string
example: '0.957'
- pattern: '[0-9][.][0-9]{1,10}'
+ pattern: '^\d{1,11}$|^(?=\d+[.]\d+$).{3,12}$'
maxLength: 12
exchangeIndicator:
...
    iso20022ReportReference:
title: ISO 20022 Report Reference
type: object
properties:
name:
type: string
description:
type: string
type:
type: string
enum:
- CAMT53
+ schemaVersion:
+ type: string
+ example: camt.053.001.08
+ description: Indicates the delivered camt.053 schema version.
+ pattern: 'camt\.053\.[0-9]{3}\.[0-9]{2}'
id:
type: string
+ account:
+ $ref: '#/components/schemas/paymentIbanAccount'
+ dateFrom:
+ $ref: '#/components/schemas/date'
+ dateTo:
+ $ref: '#/components/schemas/date'