Skip to main content

Update of Consent Flow v2

· 2 min read
Simon Meyer
Product Manager @ bLink

Here you find the latest updates to the Consent Flow API, which were introduced with the patch version 2.0.15.

Release

  • XE/XP: 04/2024
  • Prod: 04/2024

Added

  • New endpoint /revoke added
    • Applicable for specification: *-six, *-fi

Removed

  • Endpoint /oauth/bankingservices/b-link/v2/token removed
    • The endpoint was used to access previous CaaS, which was revised in 05/2023

Changes in YAML

  '/oauth/token':
post:
...

+ '/oauth/revoke':
+ post:
+ tags:
+ - oauth
+ summary: Revoke an OAuth token (access or refresh)
+ description: |
+ Revokes the specified OAuth token (must be done separately for access token and refresh token)
+ operationId: oauthRevoke
+ parameters:
+ - $ref: '#/components/parameters/correlation_in_header'
+ - $ref: '#/components/parameters/agent_in_header'
+ - $ref: '#/components/parameters/targetid_in_header'
+ - $ref: '#/components/parameters/psu_ip_in_header'
+ - $ref: '#/components/parameters/psu_user_agent_in_header'
+ requestBody:
+ required: true
+ content:
+ application/x-www-form-urlencoded:
+ schema:
+ required:
+ - token
+ properties:
+ token:
+ type: string
+ description: token to be revoked
+ token_type_hint:
+ type: string
+ description: either access_token or refresh_token
+ enum:
+ - access_token
+ - refresh_token
+ responses:
+ '200':
+ description: OAuth token revocation success
+ headers:
+ X-Correlation-ID:
+ $ref: '#/components/headers/X-Correlation-ID'
+ X-CorAPI-Source:
+ $ref: '#/components/headers/X-CorAPI-Source'
+ Cache-Control:
+ $ref: '#/components/headers/Cache-Control'
+ Pragma:
+ $ref: '#/components/headers/Pragma'
+ '400':
...

/oauth/username:
post:
...

Release of AIS v4

· 4 min read
Simon Meyer
Product Manager @ bLink

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'

Release of PSS v4

· 4 min read
Simon Meyer
Product Manager @ bLink

PSS Version 4.0

Today, we are excited to announce the release of the new major version of the Payment Submission 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 value RCVD added to schema paymentSubmissionStatus

Changed

  • Description of endpoints POST/iso20022/payments changed to specify supported XML-Schema
  • Description of endpoints POST/iso20022/payments/{submissionId}/status changed to specify supported XML-Schema
  • Status condition postalAddress in schema paymentCreditor changed to required
  • Description of Location in headers changed to indicate that relative path shall be returned

Removed

  • Endpoint GET/payments/{submissionId} removed
  • Endpoint GET/iso20022/payments/{submissionId} removed

Changes in YAML

  '/payments':
post:
...
- '/payments/{submissionId}':
- get:
- tags:
- - payments
- summary: Retrieve a payment submission
- operationId: retrievePaymentSubmission
- parameters:
- - $ref: '#/components/parameters/path_submissionId'
- - $ref: '#/components/parameters/permissionid_in_header'
- - $ref: '#/components/parameters/correlation_in_header'
- - $ref: '#/components/parameters/agent_in_header'
- - $ref: '#/components/parameters/targetid_in_header'
- - $ref: '#/components/parameters/psu_ip_in_header'
- - $ref: '#/components/parameters/psu_user_agent_in_header'
- - $ref: '#/components/parameters/optional_authorization_in_header'
- - $ref: '#/components/parameters/optional_instance_id_in_header'

- responses:
- '200':
- description: The original payment submission
- headers:
- X-Correlation-ID:
- $ref: '#/components/headers/X-Correlation-ID'
- X-CorAPI-Source:
- $ref: '#/components/headers/X-CorAPI-Source'
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/paymentSubmissionRequest'
- '400':
- $ref: '#/components/responses/standard400'
- '401':
- $ref: '#/components/responses/standard401'
- '403':
- $ref: '#/components/responses/standard403'
- '404':
- $ref: '#/components/responses/standard404'
- '405':
- $ref: '#/components/responses/standard405'
- '500':
- $ref: '#/components/responses/standard500'
- '501':
- $ref: '#/components/responses/standard501'

'/payments/{submissionId}/status':
...
  /iso20022/payments:
post:
tags:
- iso20022
summary: Submit an ISO20022 XML payment instruction (PAIN.001)
description: |
Submit an XML pain.001 payment instruction according to the ISO20022 specification.
+ * bLink supports payment instructions only in XML-Schema «pain.001.001.09».
operationId: submitIso20022PaymentInstruction
- '/iso20022/payments/{submissionId}':
- get:
- tags:
- - iso20022
- summary: Retrieve the submitted ISO20022 XML PAIN.001 message.
- operationId: retrieveIso20022PaymentInstruction
- parameters:
- - $ref: '#/components/parameters/path_submissionId'
- - $ref: '#/components/parameters/permissionid_in_header'
- - $ref: '#/components/parameters/correlation_in_header'
- - $ref: '#/components/parameters/agent_in_header'
- - $ref: '#/components/parameters/targetid_in_header'
- - $ref: '#/components/parameters/psu_ip_in_header'
- - $ref: '#/components/parameters/psu_user_agent_in_header'
- - $ref: '#/components/parameters/optional_authorization_in_header'
- - $ref: '#/components/parameters/optional_instance_id_in_header'

- responses:
- '200':
- description: Returns the submitted ISO20022 XML PAIN.001 message
- headers:
- X-Correlation-ID:
- $ref: '#/components/headers/X-Correlation-ID'
- X-CorAPI-Source:
- $ref: '#/components/headers/X-CorAPI-Source'
- content:
- application/xml:
- schema:
- type: string
- format: binary
- '400':
- $ref: '#/components/responses/standard400'
- '401':
- $ref: '#/components/responses/standard401'
- '403':
- $ref: '#/components/responses/standard403'
- '404':
- $ref: '#/components/responses/standard404'
- '405':
- $ref: '#/components/responses/standard405'
- '500':
- $ref: '#/components/responses/standard500'
- '501':
- $ref: '#/components/responses/standard501'
  /iso20022/payments/{submissionId}/status:
get:
tags:
- iso20022
summary: Retrieve ISO20022 XML status report of a payment instruction (PAIN.002)
description: |
Retrieve the status report for the requested XML ISO20022 payment instruction (PAIN.002).
+ * bLink supports status reports only in XML-Schema «pain.002.001.10».
operationId: retrieveIso20022PaymentInstructionStatusReport
    ...
ExpectedDurationInSeconds:
description: Indicates by when Retrieve ISO20022 XML status report (PAIN.002) can be called to fetch the related PAIN.002.
schema:
type: string
Location:
- description: Location (submissionId) of the submitted message. Add /status for the status report.
+ description: Location (URI-reference) of the submitted message. The relative path shall be returned as URI-reference.
schema:
type: string
X-Correlation-ID:
description: Client defined ID from request to correlate HTTP requests between a client and a server
schema:
...
    paymentCreditor:
title: Payment Creditor
type: object
required:
- name
+ - postalAddress
properties:
name:
type: string
maxLength: 70
example: Hans Muster
postalAddress:
$ref: '#/components/schemas/paymentStructuredOrUnstructuredAddress'
    paymentSubmissionStatus:
title: Payment Submission Status
type: object
required:
- statusCode
properties:
messageId:
type: string
example: eb6305c91f7f49deaed016487c27b42d
statusCode:
type: string
enum:
- ACCP
- RJCT
- PART
+ - RCVD
example: PART
transactions:
type: array
items:
$ref: '#/components/schemas/paymentInstructionItemStatus'

Release of AIS v3

· 2 min read
Simon Meyer
Product Manager @ bLink

AIS Version 3.1

Welcome to the release notes of the major version 3 of the Account Information Service API!

Here you can find all relevant information about updates, improvements and new features introduced in this version.

Release

  • XE/XP: 07/2023
  • Prod: 11/2023

Added

  • New status code 202 added to endpoints /balance and /transactions.
  • New status code 204 added to endpoints /balance and /transactions
Defined AIS behavior

Expected behavior for AIS when retrieving data via JSON endpoints:

  • Technical correct requests return always a successful status 20X
  • Requests for transactions or balance for specific days without any data are always returned with either
    • 200 + empty list of transactions / 200 + last available balance
    • 204 + without content
  • Requests for transactions or balance for specific days that have not yet completed the day-end-process return a 202

Changes in YAML

  '/accounts/{accountId}/balance':
get:
tags:
...
responses:
'200':
description: Account balance information of the specified account.
headers:
X-Correlation-ID:
$ref: '#/components/headers/X-Correlation-ID'
X-CorAPI-Source:
$ref: '#/components/headers/X-CorAPI-Source'
content:
application/json:
schema:
$ref: '#/components/schemas/accountBalanceItem'
+ '202':
+ $ref: '#/components/responses/standard202'
+ '204':
+ $ref: '#/components/responses/standard204'
'400':
$ref: '#/components/responses/standard400'
...

'/accounts/{accountId}/transactions':
get:
...
responses:
'200':
description: Returns transactions of an account.
headers:
X-Correlation-ID:
$ref: '#/components/headers/X-Correlation-ID'
X-CorAPI-Source:
$ref: '#/components/headers/X-CorAPI-Source'
content:
application/json:
schema:
$ref: '#/components/schemas/accountTransactionReport'
+ '202':
+ $ref: '#/components/responses/standard202'
+ '204':
+ $ref: '#/components/responses/standard204'
'400':
$ref: '#/components/responses/standard400'
...

   responses:
...
+ standard202:
+ headers:
+ Content-Type:
+ $ref: '#/components/headers/Content-Type'
+ Content-Language:
+ $ref: '#/components/headers/Content-Language'
+ X-Correlation-ID:
+ $ref: '#/components/headers/X-Correlation-ID'
+ X-CorAPI-Source:
+ $ref: '#/components/headers/X-CorAPI-Source'
+ description: |
+ Accepted - Valid request, requested data not available yet. The request may be attempted at a later time.
+ content:
+ application/json:
+ schema:
+ type: object
+ # properties: ??

+ standard204:
+ headers:
+ X-Correlation-ID:
+ $ref: '#/components/headers/X-Correlation-ID'
+ X-CorAPI-Source:
+ $ref: '#/components/headers/X-CorAPI-Source'
+ description: |
+ No content - The server has successfully fulfilled the request. There is no content to return and never will be.
...

AIS Version 3.0

Welcome to the change log for the Account Information Service API version 3, where you can find information about updates, improvements, and new features introduced in this version.

Release

  • XE/XP: 06/2022
  • Prod: 11/2022

Changed

  • Support of XML-Schema changed from camt.053.001.04 to camt.053.001.08

Release of PSS v3

· One min read
Simon Meyer
Product Manager @ bLink

PSS Version 3.0

Welcome to the release notes of the major version 3 of the Payment Submission Service API!

Here you can find all relevant information about updates, improvements and new features introduced in this version.

Release

  • XE/XP: 06/2022
  • Prod: 11/2022

Changed

  • Support of XML-Schema changed from pain.001.001.03 to pain.001.001.09
  • Support of XML-Schema changed from pain.002.001.03 to pain.002.001.10

Removed

  • Schema paymentISRDetail removed
  • Property paymentISRDetail removed from model paymentInstructionItem

Changes in YAML

    paymentInstructionItem:
title: Payment Instruction Item
type: object
required:
- instructionId
- endToEndId
- instructedAmount
properties:
instructionId:
type: string
maxLength: 35
example: "INSTR-001"
endToEndId:
type: string
maxLength: 35
example: "ENDTOENDID-001"
instructedAmount:
$ref: '#/components/schemas/paymentCurrencyAmount'
ibanDetails:
$ref: '#/components/schemas/paymentIBANDetail'
- isrDetails:
- $ref: '#/components/schemas/paymentISRDetail'
otherDetails:
$ref: '#/components/schemas/paymentOtherDetail'
qrDetails:
$ref: '#/components/schemas/paymentQRDetail'

paymentIBANDetail:
title: Payment IBAN Detail
type: object
required:
...

- paymentISRDetail:
- title: Payment ISR Detail
- type: object
- description: End of ISR/IS process on 30.09.2022 - ISR Payments with date later than 30.09.2022 will not be executed
- deprecated: true
- required:
- - remittanceReference
- properties:
- creditorAccount:
- $ref: '#/components/schemas/paymentOtherAccount'
- creditor:
- $ref: '#/components/schemas/paymentCreditor'
- remittanceReference:
- $ref: '#/components/schemas/paymentIsrRemittanceReference'

paymentOtherDetail: