Release of AIS v5
AIS Version 5.0
We are excited to announce the release of AIS API Version 5.0, bringing important updates to enhance consistency, clarity, and interoperability across the bLink ecosystem. This new version refines key elements of the API, improves schema standardization, and introduces adjustments to ensure seamless integration for all participants.
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: 04/2025
- XP: 05/2025
- Prod: 08/2025
Key Changes
Added
- New query parameters for pagination and filtering:
cursor
andlimit
added to endpointsGET/accounts
,GET/transactions
,GET/iso20022/statements
andGET/iso20022/reports
for cursor-based pagination.date_from
anddate_to
added toGET/transactions
for date filtering.date_from
anddate_to
added toGET/iso20022/statements
for date filtering.
- New response header
X-Next-Cursor
:- Provides pagination cursor for
GET/accounts
,GET/transactions
,GET/iso20022/statements
andGET/iso20022/reports
.
- Provides pagination cursor for
- New filter
entryStatus
added toGET/transactions
:- Allows filtering intraday transactions by
pending
andbooked
status.
- Allows filtering intraday transactions by
- New attributes added:
- New mandatory attribute
accountServicerReference
added to schemaAccountTransactionEntry
. - New mandatory attribute
accountServicerReference
added to schemaAccountTransactionItem
. - New optional attribute
uetr
added to schemaAccountTransactionItem
. - New optional attribute
instructionId
added to schemaAccountTransactionItem
. - New mandatory attribute
creationDateTime
added to schemaiso20022ReportReference
.
- New mandatory attribute
- Support for ISO20022 camt.052 reports introduced:
- Added
GET/iso20022/reports
andGET/iso20022/reports/{reportId}
. - New schemas introduced for ISO20022 reporting consistency:
Iso20022ReportReference052
andIso20022ReportReference053
introduced as specialized extensions ofIso20022ReportReference
, allowing for schema reusability while incorporating file-specific attributes.
- Added
- All attribute descriptions updated to reference the corresponding attributes in Swiss Payment Standards (SPS) and ISO20022.
Changed
- Naming conventions updated to comply with OpenAPI specifications:
- Header parameters changed to
snake_case
formatting:- Before:
$ref: '#/components/parameters/clientid_in_header'
- Now:
$ref: '#/components/parameters/client_id_in_header'
- Before:
- Schema references changed from
camelCase
toPascalCase
.- Before:
$ref: '#/components/schemas/accountItem
' - Now:
$ref: '#/components/schemas/AccountItem'
- Before:
- Schema refactoring for consistency and reusability:
- Several attributes (e.g.,
identification
,currency
,designation
) are now defined as separate reusable schemas. - Example:
- Before:
designation
was directly defined inAccountItem
. - Now:
designation
references a separateDesignation
schema.
- Before:
- Several attributes (e.g.,
- Header parameters changed to
- Transaction retrieval behavior refined:
GET/transactions
now returns onlybooked
transactions from completed booking days when a date range is specified.GET/transactions
, when called without a date, returns only transactions for the current day. Bothpending
andbooked
entries may be included based on theentryStatus
parameter.
- Schema adjustments:
- Required status changes:
designation
andaccountTypeCode
in schemaAccountItem
are now mandatory.account
,creationDateTime
,id
andschemaVersion
in schemaiso20022ReportReference
are now mandatory.
- Regex constraints tightened: Pattern strings updated from
[A-Z]{2}
→^[A-Z]{2}$
.
- Required status changes:
Removed
- Deprecated headers removed:
optional_authorization_in_header
removed fromGET/healthcheck
.optional_authorization_in_header
andoptional_instance_id_in_header
fully removed.
- Removed endpoint:
/consents
endpoint has been deprecated and removed.
Changes in YAML
The following diff between AIS v4 and AIS v5 focuses only on functional and technical changes, while ignoring design-specific adjustments, including:
- Header references changed to snake_case formatting.
- Schema references changed from camelCase to PascalCase.
- Alphabetic ordering of attributes.
- Specification structure refinements.
- Schema refactoring to introduce shared components.
- Description enhancements aligning attributes with SPS 2025.
paths:
# bLink specific paths
/accounts:
get:
tags:
- accounts
summary: Retrieve list of authorized accounts
description: Return the list of all accounts accessible for the logged in user.
operationId: requestAccountList
parameters:
+ - $ref: '#/components/parameters/cursor_in_query'
+ - $ref: '#/components/parameters/limit_in_query'
- $ref: '#/components/parameters/authorization_in_header'
- $ref: '#/components/parameters/permission_id_in_header'
- $ref: '#/components/parameters/client_id_in_header'
- $ref: '#/components/parameters/correlation_in_header'
- $ref: '#/components/parameters/agent_in_header'
- $ref: '#/components/parameters/target_id_in_header'
- $ref: '#/components/parameters/psu_ip_in_header'
- $ref: '#/components/parameters/psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_target_id_in_header'
- $ref: '#/components/parameters/optional_psu_ip_in_header'
- $ref: '#/components/parameters/optional_psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_instance_id_in_header'
responses:
'200':
description: Returns a list of authorized accounts.
headers:
X-Correlation-ID:
$ref: '#/components/headers/X-Correlation-ID'
X-CorAPI-Source:
$ref: '#/components/headers/X-CorAPI-Source'
+ X-Next-Cursor:
+ $ref: '#/components/headers/X-Next-Cursor'
content:
application/json:
schema:
+ type: object
+ required:
+ - accounts
+ properties:
+ accounts:
+ type: array
+ items:
+ $ref: '#/components/schemas/AccountItem'
- schema:
- type: array
- items:
- $ref: '#/components/schemas/accountItem'
'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'
'502':
$ref: '#/components/responses/standard502'
'503':
$ref: '#/components/responses/standard503'
'504':
$ref: '#/components/responses/standard504'
/accounts/{accountId}:
get:
tags:
- accounts
summary: Retrieve information about a single specific account
description: Returns the accounts details of the specified account.
operationId: requestAccountDetails
parameters:
- $ref: '#/components/parameters/account_id_in_path'
- $ref: '#/components/parameters/authorization_in_header'
- $ref: '#/components/parameters/permission_id_in_header'
- $ref: '#/components/parameters/client_id_in_header'
- $ref: '#/components/parameters/correlation_in_header'
- $ref: '#/components/parameters/agent_in_header'
- $ref: '#/components/parameters/target_id_in_header'
- $ref: '#/components/parameters/psu_ip_in_header'
- $ref: '#/components/parameters/psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_target_id_in_header'
- $ref: '#/components/parameters/optional_psu_ip_in_header'
- $ref: '#/components/parameters/optional_psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_instance_id_in_header'
responses:
'200':
description: Account details 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/AccountItem'
'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'
'502':
$ref: '#/components/responses/standard502'
'503':
$ref: '#/components/responses/standard503'
'504':
$ref: '#/components/responses/standard504'
/accounts/{accountId}/balance:
get:
tags:
- accounts
summary: Retrieve account balance information
operationId: requestAccountBalance
description: |
+ Returns account balance information of the specified account.
+ * Returns the interim booked balance (ISO20022 Balance Type ITBD) for the current day, if called without a date. The balance is calculated
+ in the course of the service provider's business day, at the time specified, and subject to further changes during the business day. The
+ interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified.
+ * Returns the closing booked balance (ISO20022 Balance Type CLBD) for a specific day, if called for a past date. It is the sum of the opening
+ booked balance at the beginning of that day and all entries booked to the account during that day. In case the specified day has not yet been
+ finalized, the response code will be 202.
- * Returns the intraday booked balance (ITBD) for the current day, if called without a date.
- * Returns the closing booked balance (CLBD) for a specific day, if called for a past date (i.e. the closing booked balance (CLBD) of that day). In case the specified day has not yet been finalized, the response code will be 202.
parameters:
- $ref: '#/components/parameters/account_id_in_path'
- $ref: '#/components/parameters/date_in_query'
- $ref: '#/components/parameters/authorization_in_header'
- $ref: '#/components/parameters/permission_id_in_header'
- $ref: '#/components/parameters/client_id_in_header'
- $ref: '#/components/parameters/correlation_in_header'
- $ref: '#/components/parameters/agent_in_header'
- $ref: '#/components/parameters/target_id_in_header'
- $ref: '#/components/parameters/psu_ip_in_header'
- $ref: '#/components/parameters/psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_target_id_in_header'
- $ref: '#/components/parameters/optional_psu_ip_in_header'
- $ref: '#/components/parameters/optional_psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_instance_id_in_header'
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'
'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'
'502':
$ref: '#/components/responses/standard502'
'503':
$ref: '#/components/responses/standard503'
'504':
$ref: '#/components/responses/standard504'
/accounts/{accountId}/transactions:
get:
tags:
- accounts
summary: Retrieve transactions of a specific account
operationId: requestAccountTransactions
description: >
+ Returns the transaction list of the specified account.
+ * When called without a date, it returns transactions for the current day. Both "pending" and "booked" entries may be included based on the
+ entryStatus parameter.
+ * When called with a date range, only "booked" transactions from completed booking days are returned. For days not yet finalized, a 202
+ response code is returned.
- Returns the transaction list of the specified account. Only postings with status booked will be returned.
- * Returns the transaction list of the current day, if called without a date.
- * Returns the transaction list for a specific day, if called for a past date (i.e. all transactions from that day). In case the specified day is not yet finalized, the response code will be 202.
parameters:
- $ref: '#/components/parameters/account_id_in_path'
+ - $ref: '#/components/parameters/date_from_in_query'
+ - $ref: '#/components/parameters/date_to_in_query'
- - $ref: '#/components/parameters/query_date'
+ - $ref: '#/components/parameters/entry_status_in_query'
+ - $ref: '#/components/parameters/cursor_in_query'
+ - $ref: '#/components/parameters/limit_in_query'
- $ref: '#/components/parameters/authorization_in_header'
- $ref: '#/components/parameters/permission_id_in_header'
- $ref: '#/components/parameters/client_id_in_header'
- $ref: '#/components/parameters/correlation_in_header'
- $ref: '#/components/parameters/agent_in_header'
- $ref: '#/components/parameters/target_id_in_header'
- $ref: '#/components/parameters/psu_ip_in_header'
- $ref: '#/components/parameters/psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_target_id_in_header'
- $ref: '#/components/parameters/optional_psu_ip_in_header'
- $ref: '#/components/parameters/optional_psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_instance_id_in_header'
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'
+ X-Next-Cursor:
+ $ref: '#/components/headers/X-Next-Cursor'
content:
application/json:
schema:
+ type: object
+ required:
+ - transactions
+ properties:
+ transactions:
+ type: array
+ items:
+ $ref: '#/components/schemas/AccountTransactionReport'
- $ref: '#/components/schemas/accountTransactionReport'
'202':
$ref: '#/components/responses/standard202'
'204':
$ref: '#/components/responses/standard204'
'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'
'502':
$ref: '#/components/responses/standard502'
'503':
$ref: '#/components/responses/standard503'
'504':
$ref: '#/components/responses/standard504'
/iso20022/statements:
get:
tags:
- iso20022
summary: Retrieve a list of resource links to account statements (camt.053)
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
parameters:
+ - $ref: '#/components/parameters/date_from_in_query'
+ - $ref: '#/components/parameters/date_to_in_query'
+ - $ref: '#/components/parameters/cursor_in_query'
+ - $ref: '#/components/parameters/limit_in_query'
- $ref: '#/components/parameters/authorization_in_header'
- $ref: '#/components/parameters/permission_id_in_header'
- $ref: '#/components/parameters/client_id_in_header'
- $ref: '#/components/parameters/correlation_in_header'
- $ref: '#/components/parameters/agent_in_header'
- $ref: '#/components/parameters/target_id_in_header'
- $ref: '#/components/parameters/psu_ip_in_header'
- $ref: '#/components/parameters/psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_target_id_in_header'
- $ref: '#/components/parameters/optional_psu_ip_in_header'
- $ref: '#/components/parameters/optional_psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_instance_id_in_header'
responses:
'200':
description: Returns a list of resource links to ISO20022 XML camt.053 messages.
headers:
X-Correlation-ID:
$ref: '#/components/headers/X-Correlation-ID'
X-CorAPI-Source:
$ref: '#/components/headers/X-CorAPI-Source'
+ X-Next-Cursor:
+ $ref: '#/components/headers/X-Next-Cursor'
content:
application/json:
schema:
+ type: object
+ required:
+ - statements
+ properties:
+ statements:
+ type: array
+ items:
+ $ref: '#/components/schemas/Iso20022ReportReference053'
- type: array
- items:
- $ref: '#/components/schemas/iso20022ReportReference'
'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'
'502':
$ref: '#/components/responses/standard502'
'503':
$ref: '#/components/responses/standard503'
'504':
$ref: '#/components/responses/standard504'
/iso20022/statements/{reportId}:
get:
tags:
- iso20022
summary: Retrieve the designated ISO20022 XML camt.053 document
description: Retrieve the designated ISO20022 XML camt.053 document.
operationId: retrieveIso20022AccountStatement
parameters:
- $ref: '#/components/parameters/report_id_in_path'
- $ref: '#/components/parameters/authorization_in_header'
- $ref: '#/components/parameters/permission_id_in_header'
- $ref: '#/components/parameters/client_id_in_header'
- $ref: '#/components/parameters/correlation_in_header'
- $ref: '#/components/parameters/agent_in_header'
- $ref: '#/components/parameters/target_id_in_header'
- $ref: '#/components/parameters/psu_ip_in_header'
- $ref: '#/components/parameters/psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_target_id_in_header'
- $ref: '#/components/parameters/optional_psu_ip_in_header'
- $ref: '#/components/parameters/optional_psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_instance_id_in_header'
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:
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'
'502':
$ref: '#/components/responses/standard502'
'503':
$ref: '#/components/responses/standard503'
'504':
$ref: '#/components/responses/standard504'
+ /iso20022/reports:
+ get:
+ tags:
+ - iso20022
+ summary: Retrieve a list of resource links to account reports (camt.052)
+ description: >-
+ Get the resources links to available account reports (camt.052) generated since the last End-of-Day (EOD) processing. Only intraday reports created after the most recent EOD cycle are included. The returned account reports must conform to the XML schema and implementation guidelines defined by Swiss Payment Standards.
+ * bLink supports account statements only in XML-Schema «camt.052.001.08»
+ parameters:
+ - $ref: '#/components/parameters/cursor_in_query'
+ - $ref: '#/components/parameters/limit_in_query'
+ - $ref: '#/components/parameters/authorization_in_header'
+ - $ref: '#/components/parameters/permission_id_in_header'
+ - $ref: '#/components/parameters/client_id_in_header'
+ - $ref: '#/components/parameters/correlation_in_header'
+ - $ref: '#/components/parameters/agent_in_header'
+ - $ref: '#/components/parameters/target_id_in_header'
+ - $ref: '#/components/parameters/psu_ip_in_header'
+ - $ref: '#/components/parameters/psu_user_agent_in_header'
+ - $ref: '#/components/parameters/optional_target_id_in_header'
+ - $ref: '#/components/parameters/optional_psu_ip_in_header'
+ - $ref: '#/components/parameters/optional_psu_user_agent_in_header'
+ - $ref: '#/components/parameters/optional_instance_id_in_header'
+ responses:
+ '200':
+ description: Returns a list of resource links to ISO20022 XML camt.052 messages.
+ headers:
+ X-Correlation-ID:
+ $ref: '#/components/headers/X-Correlation-ID'
+ X-Next-Cursor:
+ $ref: '#/components/headers/X-Next-Cursor'
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - reports
+ properties:
+ reports:
+ type: array
+ items:
+ $ref: '#/components/schemas/Iso20022ReportReference052'
+ '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'
+ '502':
+ $ref: '#/components/responses/standard502'
+ '503':
+ $ref: '#/components/responses/standard503'
+ '504':
+ $ref: '#/components/responses/standard504'
+ /iso20022/reports/{reportId}:
+ get:
+ tags:
+ - iso20022
+ summary: Retrieve the designated ISO20022 XML camt.052 document
+ description: Retrieve the designated ISO20022 XML camt.052 document.
+ parameters:
+ - $ref: '#/components/parameters/report_id_in_path'
+ - $ref: '#/components/parameters/authorization_in_header'
+ - $ref: '#/components/parameters/permission_id_in_header'
+ - $ref: '#/components/parameters/client_id_in_header'
+ - $ref: '#/components/parameters/correlation_in_header'
+ - $ref: '#/components/parameters/agent_in_header'
+ - $ref: '#/components/parameters/target_id_in_header'
+ - $ref: '#/components/parameters/psu_ip_in_header'
+ - $ref: '#/components/parameters/psu_user_agent_in_header'
+ - $ref: '#/components/parameters/optional_target_id_in_header'
+ - $ref: '#/components/parameters/optional_psu_ip_in_header'
+ - $ref: '#/components/parameters/optional_psu_user_agent_in_header'
+ - $ref: '#/components/parameters/optional_instance_id_in_header'
+ responses:
+ '200':
+ description: Returns the requested ISO20022 XML camt.052 message.
+ headers:
+ X-Correlation-ID:
+ $ref: '#/components/headers/X-Correlation-ID'
+ 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'
+ '502':
+ $ref: '#/components/responses/standard502'
+ '503':
+ $ref: '#/components/responses/standard503'
+ '504':
+ $ref: '#/components/responses/standard504'
- /consents:
- get:
- tags:
- - consents
- summary: Retrieve a list of consents
- description: |
- The consents endpoint allows the client (e.g., a third party provider) to query the consents for a given corporate user. The provider (e.g., a financial institution) must return the consents linked with the access token supplied with the request.
- operationId: retrieveConsents
- parameters:
- - $ref: '#/components/parameters/authorization_in_header'
- - $ref: '#/components/parameters/permissionid_in_header'
- - $ref: '#/components/parameters/clientid_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_targetid_in_header'
- - $ref: '#/components/parameters/optional_psu_ip_in_header'
- - $ref: '#/components/parameters/optional_psu_user_agent_in_header'
- - $ref: '#/components/parameters/optional_instance_id_in_header'
- responses:
- '200':
- description: List of consents
- headers:
- X-Correlation-ID:
- $ref: '#/components/headers/X-Correlation-ID'
- #SCOPE(SIX,SIX_INTERNAL,SIX_CAAS,SIX_CAAS_INTERNAL) {
- X-CorAPI-Source:
- $ref: '#/components/headers/X-CorAPI-Source'
- #}
- content:
- application/json:
- schema:
- type: array
- items:
- $ref: '#/components/schemas/consentAccountItem'
- '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'
- '502':
- $ref: '#/components/responses/standard502'
- '503':
- $ref: '#/components/responses/standard503'
- '504':
- $ref: '#/components/responses/standard504'
/healthcheck:
get:
tags:
- diagnostics
summary: Returns all specified request headers and additional diagnostic information
operationId: healthCheckGet
parameters:
- $ref: '#/components/parameters/optional_correlation_in_header'
- - $ref: '#/components/parameters/optional_authorization_in_header'
- $ref: '#/components/parameters/optional_agent_in_header'
- $ref: '#/components/parameters/target_id_in_header'
- $ref: '#/components/parameters/optional_target_id_in_header'
- $ref: '#/components/parameters/client_id_in_header'
- $ref: '#/components/parameters/optional_psu_ip_in_header'
- $ref: '#/components/parameters/optional_psu_user_agent_in_header'
- $ref: '#/components/parameters/optional_instance_id_in_header'
responses:
'200':
description: Health Check Response
headers:
X-CorAPI-Source:
$ref: '#/components/headers/X-CorAPI-Source'
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheckResponse'
components:
schemas:
## /accounts
AccountItem:
title: Account Information Item
description: The account object.
type: object
required:
- account
- accountOwner
+ - accountTypeCode
- currency
+ - designation
- id
properties:
account:
$ref: '#/components/schemas/PaymentIbanAccount'
accountOwner:
type: string
maxLength: 140
description: The owner of the account.
example: Account Owner XYZ
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
allowedCurrencies:
type: array
items:
type: string
example: CHF
description: Permitted currencies for the account.
currency:
$ref: '#/components/schemas/Currency'
# description: The ISO currency three-letter code denominated and set for the account at the time it is opened.
designation:
$ref: '#/components/schemas/Designation'
id:
$ref: '#/components/schemas/CommonAccountId'
_links:
type: object
description: Contains the paths to additional resources for specific account (e.g. path to transactions resource)
properties:
self:
type: string
example: '/accounts/550e8400-e29b-11d4-a716-446655440000'
balance:
type: string
example: '/accounts/550e8400-e29b-11d4-a716-446655440000/balance'
transactions:
type: string
example: '/accounts/550e8400-e29b-11d4-a716-446655440000/transactions'
CommonAccountId:
description: Unique identifier (UUID) of the account for which information shall be retrieved.
type: string
pattern: ^[A-Za-z0-9](([A-Za-z0-9._]|-){0,254}[A-Za-z0-9]){0,1}$
maxLength: 256
example: abc123_abcxyz.123789.abcxyz.abcxyz_abcxyz_abcxyz_abcxyz_ccccc_123abc
Currency:
description: The ISO currency three-letter code. Corresponds to the attribute _Ccy_ in SPS/ISO-20022.
type: string
minLength: 3
maxLength: 3
example: CHF
Designation:
description: >-
This element shall always be populated with the account alias, if defined, otherwise with specific bank account name (e.g. bank saving
account).
type: string
maxLength: 140
example: Firmenkonto
AccountBalanceItem:
title: Account Balance Item
description: The account balance object.
type: object
required:
- balanceType
- balance
- date
properties:
balance:
$ref: '#/components/schemas/BalanceCurrencyAmount'
balanceType:
type: string
enum:
- ITBD
- CLBD
description: >-
The account balance type according to ISO20022. Either the interim booked balance (ITBD) or the closing booked balance (CLBD) type can be
applied. Corresponds to the attribute _Bal ⇾ Tp_ in SPS/ISO-20022.
example: CLBD
date:
$ref: '#/components/schemas/Date'
# description: The date for which the balance was retrieved.
_links:
type: object
description: contains the paths to additional resources for specific account (e.g. path to transactions resource)
properties:
self:
type: string
example: '/accounts/550e8400-e29b-11d4-a716-446655440000/balance'
account:
type: string
example: '/accounts/550e8400-e29b-11d4-a716-446655440000'
transactions:
type: string
example: '/accounts/550e8400-e29b-11d4-a716-446655440000/transactions'
BalanceCurrencyAmount:
title: Balance Currency-Amount
description: Specifies the requested account balance. Corresponds to the attribute _Bal_ in SPS/ISO-20022.
type: object
required:
- currency
- amount
properties:
amount:
$ref: '#/components/schemas/Amount'
currency:
$ref: '#/components/schemas/Currency'
# description: The ISO currency three-letter code in which the balance and the account are held.
AccountTransactionReport:
title: Account Transaction Report
description: The account transaction report object.
type: object
required:
+ - designation
- entries
- iban
properties:
designation:
$ref: '#/components/schemas/Designation'
entries:
type: array
description: The account transaction entry object.
items:
$ref: '#/components/schemas/AccountTransactionEntry'
iban:
$ref: '#/components/schemas/IbanIdentification'
# description: The International Bank Account Number (IBAN), associated with the account.
_links:
type: object
description: Contains the paths to additional resources for specific account (e.g. path to account and balance resource).
properties:
self:
type: string
example: /accounts/550e8400e29b11d4a716446655440000/statements
account:
type: string
example: /accounts/550e8400e29b11d4a716446655440000
balance:
type: string
example: /accounts/550e8400e29b11d4a716446655440000/balance
AccountTransactionEntry:
title: Account Transaction Entry
description: The account transaction entry object.
type: object
required:
+ - accountServicerReference
- additionalEntryInformation
- amount
- bankTransactionCode
- bookingDate
- entryId
+ - entryStatus
- transactionType
- valueDate
properties:
+ accountServicerReference:
+ type: string
+ description: Unique reference for the entry, assigned by the financial institution. Corresponds to the attribute _ntry ⇾ AcctSvcrRef_ in SPS/ISO-20022.
+ example: 12345ABC6789
+ maxLength: 35
additionalEntryInformation:
type: string
description: Additional entry information. Corresponds to the attribute _AddtlNtryInf_ in SPS/ISO-20022.
example: Online Shopping Visa Debit Card Nr. xxxx 1234
amount:
$ref: '#/components/schemas/PaymentCurrencyAmount'
bankTransactionCode:
$ref: '#/components/schemas/AccountTransactionBankTransactionCode'
bookingDate:
$ref: '#/components/schemas/Date'
# description: The booking date of the transaction set by the bank. Corresponds to the attribute _BookgDt_ in SPS/ISO-20022.
entryId:
type: string
example: ENTRY123456789
+ entryStatus:
+ type: string
+ enum:
+ - booked
+ - pending
+ description: Indicates the status of an account movement. Corresponds to the attribute _Ntry ⇾ Sts ⇾ Cd_ in SPS/ISO-20022
+ example: booked
transactionType:
$ref: '#/components/schemas/AccountTransactionTransactionType'
valueDate:
$ref: '#/components/schemas/Date'
# description: The value date of the transaction set by the bank. Corresponds to the attribute _ValDt_ in SPS/ISO-20022.
entryReference:
type: string
description: >-
Mandatory for business cases ISR and QR-IBAN. Contains the ISR participant number or QR-IBAN of the account owner. Corresponds to the
attribute _NtryRef_ in SPS/ISO-20022.
maxLength: 35
example: '10001628'
entryReferenceInternalId:
type: string
description: Additional grouping criteria for business cases ISR and QR-IBAN. Contains the BISR-ID or first 6 characters of the QR reference.
maxLength: 35
example: '010001628'
instructedAmount:
$ref: '#/components/schemas/AccountTransactionInstructedAmount'
reversalIndicator:
type: boolean
description: Indicates if the transaction is a reversing entry. Must always be true. Corresponds to the attribute _RvslInd_ in SPS/ISO-20022.
example: tru
totalChargesAmount:
$ref: '#/components/schemas/AccountTransactionItemCharges'
transactions:
type: array
description: Specifies the transaction entries.
items:
$ref: '#/components/schemas/AccountTransactionItem'
AccountTransactionItem:
title: Account Transaction Item
description: Specifies the transaction entry item.
type: object
required:
+ - accountServicerReference
- amount
- transactionId
- transactionType
properties:
+ accountServicerReference:
+ type: string
+ maxLength: 35
+ description: >-
+ Unique booking (transaction) reference assigned by the financial institution. Corresponds to the attribute _TxDtls ⇾ Refs ⇾ AcctSvcrRef_
+ in SPS/ISO-20022.
+ example: 12345ABC6789
amount:
$ref: '#/components/schemas/PaymentCurrencyAmount'
transactionId:
type: string
maxLength: 35
description: >-
The unique identifier to the listed transaction. Defined by the bank. Corresponds to the attribute _TxDtls ⇾ Refs ⇾ PmtInfId_ in
SPS/ISO-20022.
example: TX12345A987
transactionType:
$ref: '#/components/schemas/AccountTransactionTransactionType'
additionalTransactionInformation:
type: string
maxLength: 140
description: Any additional information to the transaction. Corresponds to the attribute _AddtlTxInf_ in SPS/ISO-20022.
example: Online Shopping Visa Debit Card Nr. xxxx 1234
bankTransactionCode:
$ref: '#/components/schemas/AccountTransactionBankTransactionCode'
counterparty:
$ref: '#/components/schemas/AccountTransactionCounterparty'
endToEndId:
type: string
maxLength: 35
description: The unique reference of the debtor/creditor. Corresponds to the attribute _EndToEndId_ in SPS/ISO-20022.
example: ENDTOENDID-01
instructedAmount:
$ref: '#/components/schemas/AccountTransactionInstructedAmount'
+ instructionId:
+ type: string
+ maxLength: 35
+ description: ID of the C-Level from the original payment instruction. Corresponds to the attribute _TxDtls ⇾ Refs ⇾ InstrId_ in SPS/ISO-20022.
+ example: 12345ABC6789
remittanceInformation:
$ref: '#/components/schemas/PaymentRemittanceInformation'
remittanceReference:
$ref: '#/components/schemas/AccountTransactionRemittanceReference'
totalChargesAmount:
$ref: '#/components/schemas/AccountTransactionItemCharges'
+ uetr:
+ type: string
+ pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
+ description: >-
+ Globally unique reference Reference assigned by the debtor (optional) or by the debtor agent. Corresponds to the attribute _TxDtls ⇾ Refs
+ ⇾ UETR_ in SPS/ISO-20022
+ example: fdc01a3e-4567-4abc-8def-1234567890ab
AccountTransactionItemCharges:
title: Account Transaction Item Charges
description: Specifies the total amount of account charges.
type: object
required:
- amount
- currency
properties:
amount:
$ref: '#/components/schemas/Amount'
# description: The total amount of account charges.
currency:
$ref: '#/components/schemas/Currency'
# description: The ISO currency three-letter code in which the total amount of charges was posed.
chargeRecords:
type: array
description: Specifies the details about individual charges.
items:
$ref: '#/components/schemas/AccountTransactionItemChargesRecord'
AccountTransactionItemChargesRecord:
title: Account Transaction Item Charges Record
description: Specifies the details about individual charges.
type: object
properties:
amount:
$ref: '#/components/schemas/Amount'
# description: The amount of individual charges.
currency:
$ref: '#/components/schemas/Currency'
# description: The ISO currency three-letter code in which the amount of individual charges was posed based.
type:
type: string
maxLength: 35
description: The type of charge. Corresponds to the attribute _Chrgs ⇾ Rcrd ⇾ Tp_ in SPS/ISO-20022.
example: Some type of charge
chargesIncludedIndicator:
description: Indicates whether the charges are included in the entry amount or not. Corresponds to the attribute _ChrgInclInd_ in SPS/ISO-20022.
type: boolean
example: true
AccountTransactionCounterparty:
title: Account Transaction Counterparty
description: Specifies the counterparty details (creditor or debtor).
type: object
properties:
account:
$ref: '#/components/schemas/AccountTransactionCounterpartyAccount'
agent:
$ref: '#/components/schemas/AccountTransactionCounterpartyAgent'
name:
type: string
maxLength: 140
description: Name of the counterparty (debtor name if transaction type = CRDT, creditor name if transaction type = DBIT).
example: Hans Muster
postalAddress:
$ref: '#/components/schemas/AccountTransactionStructuredOrUnstructuredAddress'
AccountTransactionCounterpartyAccount:
title: Account Transaction Counterparty Account
description: Specifies the counterparty account (debtor account if transaction type = CRDT creditor account if transaction type = DBIT).
type: object
required:
- identification
- type
properties:
identification:
type: string
maxLength: 35
description: 'The account identification: IBAN, ISR participant number or bank account number.'
example: CH9300762011623852957
type:
type: string
enum:
- IBAN
- OTHER
description: The account idientification type of the counterparty account, either IBAN or OTHER.
example: IBAN
AccountTransactionCounterpartyAgent:
title: Account Transaction Counterparty Agent
description: The account transaction counterparty agent object.
type: object
properties:
bic:
type: string
maxLength: 11
description: >
The bank identifier code (BIC) of the creditor agent of a payment. Corresponds to the attribute _CdtrAgt ⇾ FinInstnId ⇾ BIC_ in
SPS/ISO-20022. The BIC is an 8 or 11-character code that breaks down as follows:
- First 4 characters - bank code (letters only)
- Next 2 characters - ISO 3166-1 alpha-2 country code (letters only)
- Next 2 characters - location code (letters and digits)
- Last 3 characters (optional) - branch code, specifying a particular branch of the bank (letters and digits)
example: DEUTDE5M101
clearingSystemMemberIdentification:
$ref: '#/components/schemas/CommonClearingSystemMemberIdentification'
AccountTransactionInstructedAmount:
title: Account Transaction Instructed Amount
description: Specifies the instructed amount according to the account currency.
type: object
required:
- amount
- sourceCurrency
- targetCurrency
properties:
amount:
$ref: '#/components/schemas/Amount'
# description: The amount instructed by the customer to the bank to carry out transaction.
sourceCurrency:
$ref: '#/components/schemas/Currency'
# description: The ISO currency three-letter code which is used to fund a currency conversion. Corresponds to the attribute _SrcCcy_ in SPS/ISO-20022.
targetCurrency:
$ref: '#/components/schemas/Currency'
#description: >-
The ISO currency three-letter code which the recipient will receive after the currency conversion. Corresponds to the attribute _TrgtCcy_
in SPS/ISO-20022.
exchangeRate:
type: string
pattern: ^\d{1,11}$|^(?=\d+[.]\d+$).{3,12}$
maxLength: 12
description: The rate at which the source currency will be exchanged for the target currency. Corresponds to the attribute _XchgRate_ in SPS/ISO-20022.
example: '0.957'
exchangeIndicator:
type: string
maxLength: 4
description: Indicates whether the amount has to be multiplied or divided by the exchange rate (MULT, DIV). Mandatory if the exchange rate is provided.
example: MULT
AccountTransactionBankTransactionCode:
title: Account Transaction Bank Transaction Code
description: >-
The bank transaction code (ISO20022) object of an account transaction. Specifies a set of elements to fully identify the type of underlying
transaction resulting in an entry.
type: object
required:
- domainCode
- familyCode
- subFamilyCode
properties:
domainCode:
type: string
maxLength: 4
description: >-
The code of the business area of the underlying transaction according to the "Bank Transaction Code". Corresponds to the attribute _Domn ⇾
Cd_ in SPS/ISO-20022.
example: PMNT
familyCode:
type: string
maxLength: 4
description: >-
The family code within a specific domain according to the "Bank Transaction Code". Corresponds to the attribute _Fmly ⇾ Cd_ in
SPS/ISO-20022.
example: RCDT
subFamilyCode:
type: string
maxLength: 4
description: >-
Specifies the sub-family code within a specific domain according to the "Bank Transaction Code". Corresponds to the attribute _SubFmlyCd_
in SPS/ISO-20022.
example: DMCT
AccountTransactionRemittanceReference:
title: Account Transaction Remittance Reference
description: The remittance reference of the account transaction. Specifies the structured reference.
type: object
properties:
type:
type: string
enum:
- SCOR
- ISR
- QRR
description: The reference type (QRR, SCOR, ISR). Corresponds to the attribute _RmtInf ⇾ Strd ⇾ CdtrRefInf ⇾ Tp_ in SPS/ISO-20022.
example: SCOR
reference:
type: string
maxLength: 35
description: >-
The reference number associated to the choosen remittance type. Corresponds to the attribute _RmtInf ⇾ Strd ⇾ CdtrRefInf ⇾ Ref_ in
SPS/ISO-20022.
example: '210000000003139471430009017'
AccountTransactionStructuredAddress:
title: Structured Postal Address for Transactions
description: Specifies the details of the counterparty structured address.
type: object
required:
- postCode
- streetName
- townName
properties:
streetName:
type: string
maxLength: 70
description: The counterparty street name. Corresponds to the attribute _StrtNm_ in SPS/ISO-20022.
example: Rue de la gare
buildingNumber:
type: string
maxLength: 16
description: The counterparty building number. Corresponds to the attribute _BldgNb_ in SPS/ISO-20022.
example: '24'
postCode:
type: string
maxLength: 16
description: The counterparty post code. Corresponds to the attribute _PstCd_ in SPS/ISO-20022.
example: '2501'
townName:
type: string
maxLength: 35
description: The counterparty town name. Corresponds to the attribute _TwnNm_ in SPS/ISO-20022.
example: Biel
country:
type: string
maxLength: 2
description: The counterparty country. Corresponds to the attribute _Ctry_ in SPS/ISO-20022.
example: CH
AccountTransactionStructuredOrUnstructuredAddress:
title: Common Structured or Unstructured Address
description: Specifies the counterparty address (debtor address if transaction type = CRDT, creditor address if transaction type = DBIT).
type: object
properties:
structured:
$ref: '#/components/schemas/AccountTransactionStructuredAddress'
unstructured:
$ref: '#/components/schemas/AccountTransactionUnstructuredAddress'
AccountTransactionTransactionType:
title: Account Transaction Transaction Type
description: >-
The transaction type of the account transaction, either credit (CRDT) or debit (DBIT). Corresponds to the attribute _CdtDbtInd_ in
SPS/ISO-20022.
type: string
enum:
- CRDT
- DBIT
example: CRDT
AccountTransactionUnstructuredAddress:
title: Unstructured Address for Transactions
description: Specifies the details of the counterparty unstructured address.
type: object
required:
- addressLines
properties:
addressLines:
type: array
description: The counterparty address lines. Only four address lines allowed.
maxItems: 4
example:
- Robert Schneider SA
- Rue de la gare 24
items:
type: string
maxLength: 70
country:
type: string
description: The counterparty country. Corresponds to the attribute _Ctry_ in SPS/ISO-20022.
maxLength: 2
example: CH
+ ## ISO20022
Iso20022ReportReference:
title: ISO 20022 Report Reference
+ description: The referenced ISO20022 report (common fields for camt.052 and camt.053).
type: object
required:
+ - account
+ - creationDateTime
+ - id
+ - schemaVersion
properties:
account:
$ref: '#/components/schemas/PaymentIbanAccount'
+ creationDateTime:
+ $ref: '#/components/schemas/DateTime'
+ # description: Date and time when the message was created. Corresponds to the attribute _GrpHdr ⇾ CreDtTm_ in SPS/ISO-20022.
id:
type: string
description: The unique identifier of the referenced ISO20022 report.
example: '8265333'
schemaVersion:
type: string
example: camt.053.001.08
description: The delivered schema version of the referenced ISO20022 report.
pattern: '^camt\.(052|053)\.[0-9]{3}\.[0-9]{2}$'
- name:
- type: string
- description:
- type: string
- type:
- type: string
- enum:
- - CAMT53
- dateFrom:
- $ref: '#/components/schemas/date'
- dateTo:
- $ref: '#/components/schemas/date'
+ Iso20022ReportReference053:
+ title: ISO20022 Report Reference (camt.053)
+ description: The referenced ISO20022 report (camt.053).
+ type: object
+ required:
+ - dateFrom
+ - dateTo
+ properties:
+ dateFrom:
+ $ref: '#/components/schemas/Date'
+ # description: The start date of the transaction query period, mandatory for camt.053.
+ dateTo:
+ $ref: '#/components/schemas/Date'
+ # description: The end date of the transaction query period, mandatory for camt.053.
+ allOf:
+ - $ref: '#/components/schemas/Iso20022ReportReference'
+ Iso20022ReportReference052:
+ title: ISO20022 Report Reference (camt.052)
+ description: The referenced ISO20022 report (camt.052).
+ type: object
+ required:
+ - type
+ properties:
+ type:
+ type: string
+ enum:
+ - incremental
+ - full
+ example: full
+ description: |
+ Indicates the type of ISO 20022 report being referenced.
+ * incremental: Contains only the transactions that occurred since the last intraday statement (camt.052).
+ * full: Contains all transactions since the last regular account statement (camt.053).
+ dateFrom:
+ $ref: '#/components/schemas/Date'
+ # description: The start date of the transaction query period, optional for camt.052.
+ dateTo:
+ $ref: '#/components/schemas/Date'
+ # description: The end date of the transaction query period, optional for camt.052.
+ allOf:
+ - $ref: '#/components/schemas/Iso20022ReportReference'
## Shared with payments module
Amount:
description: An amount. Corresponds to the attribute _Amt_ in SPS/ISO-20022.
type: string
maxLength: 18
pattern: ^[0-9]{1,12}([.][0-9]{1,5})?$
example: '10.25'
CommonClearingSystemMemberIdentification:
title: Common Clearing System Member Identification
description: Specifies the Information used to identify a member within a clearing system.
type: object
required:
- code
- memberId
properties:
code:
type: string
maxLength: 5
description: >-
Identification code of a clearing system. Only "CHBCC" is permitted in Switzerland. Corresponds to the attribute _ClrSysId ⇾ Cd_ in SPS/ISO-20022.
example: CHBCC
memberId:
type: string
maxLength: 35
description: >-
The identification of a clearing system member. Clearing ID (Bank Code, "National Identifier") of the financial institution. Corresponds to the attribute _ClrSysId ⇾ MmbId_ in SPS/ISO-20022.
example: '00230'
IbanIdentification:
description: The International Bank Account Number (IBAN), associated with the account.
type: string
maxLength: 34
pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$
example: CH5481230000001998736
PaymentIbanAccount:
title: Payment IBAN Account
description: The IBAN account object.
type: object
required:
- identification
- type
properties:
identification:
$ref: '#/components/schemas/IbanIdentification'
# description: The International Bank Account Number (IBAN), associated with the account.
type:
type: string
description: The allowed account identification type for the creditor account depends on the payment type. The debtor account must always be an IBAN.
enum:
- IBAN
example: IBAN
PaymentCurrencyAmount:
title: Payment Currency-Amount
description: Specifies the entry amount according to the account currency.
type: object
required:
- amount
- currency
properties:
amount:
$ref: '#/components/schemas/Amount'
# description: The entry amount, which will be reflected in the account balance.
currency:
$ref: '#/components/schemas/Currency'
# description: The ISO currency three-letter code in which the entry was posed.
PaymentRemittanceInformation:
description: Either remittanceReference or remittanceInformation must be set. Corresponds to the attribute _RmtInf ⇾ Ustrd_ in SPS/ISO-20022.
type: string
maxLength: 140
example: Rechnung Nr. 408
## Date Formats
Date:
title: Date
description: A date.
type: string
format: date
example: 2018-04-13
DateTime:
title: Date-time
type: string
description: The date and time formatted as YYYY-MM-DDTHH:mm:ssZ.
format: date-time
example: 2018-04-13T11:11:11Z
## Errors
CommonErrorResponse:
title: Common Error Response
description: The common error response object.
type: object
+ required:
+ - detail
+ - title
+ - type
properties:
type:
$ref: '#/components/schemas/CommonErrorType'
title:
type: string
description: The title of the common error response.
example: This is the general problem description
detail:
type: string
description: The details about the common error response.
example: Detailed problem description with respect to the current request
instance:
type: string
description: The path to the corresponding resource
example: path/to/corresponding/resource
CommonErrorType:
title: Common Error Type
type: string
description: Error Types for commonErrorResponse. See Appendix for detailed information.
example: /problems/TECHNICAL_ERROR
enum:
- /problems/INVALID_PAYLOAD
- /problems/MALFORMED_PAYLOAD
- /problems/INVALID_TOKEN
- /problems/EXPIRED_TOKEN
- /problems/INSUFFICIENT_PRIVILEGES
- /problems/NO_ACCESS_TO_RESOURCE
- /problems/RESOURCE_DOES_NOT_EXIST
- /problems/RESOURCE_NOT_READY
- /problems/RESOURCE_TOO_LARGE
- /problems/WRONG_METHOD
- /problems/OPERATION_NOT_ALLOWED
- /problems/TECHNICAL_ERROR
- /problems/NOT_IMPLEMENTED
# bLink specific schemas
- ## /consents
- consentAccountItem:
- title: Consent Account Item
- required:
- - accountId
- - currency
- - iban
- - accountOwner
- type: object
- properties:
- accountId:
- type: string
- example: '13579'
- iban:
- maxLength: 34
- pattern: '[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}'
- type: string
- example: CH9300762011623852957
- currency:
- maxLength: 3
- minLength: 3
- type: string
- example: CHF
- accountOwner:
- maxLength: 140
- type: string
- example: Account Owner XYZ
- designation:
- type: string
- example: Savings ABC
- allowedCurrencies:
- type: array
- items:
- type: string
- example: CHF
## /healthcheck
HealthCheckResponse:
title: Health Check Response
type: object
properties:
requestDateTime:
title: Request Time
type: string
format: date-time
example: 2018-04-13T11:11:11Z
receivedHeaders:
title: Received Headers
type: array
items:
type: object
properties:
headerName:
type: string
example: X-Correlation-ID
headerValue:
type: string
description: As received
receivedPayload:
title: Received Payload
type: string
example: ... as received ...
responses:
standard202:
headers:
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.
standard400:
headers:
Content-Language:
$ref: '#/components/headers/Content-Language'
WWW-Authenticate:
$ref: '#/components/headers/WWW-Authenticate'
X-Correlation-ID:
$ref: '#/components/headers/X-Correlation-ID'
X-CorAPI-Source:
$ref: '#/components/headers/X-CorAPI-Source'
description: |
Bad Request - The format of the request was invalid.
Examples:
- InvalidPayload:
type: /problems/INVALID_PAYLOAD
title: Payload does not comply with API specification
detail: Malformed JSON
instance: path/to/corresponding/resource
- MissingId:
type: /problems/INVALID_PAYLOAD
title: The payload was not valid
detail: ID is missing
instance: path/to/corresponding/resource
- InvalidParameter:
type: /problems/MALFORMED_PAYLOAD
title: Invalid parameter values have been detected
detail: Data for date in the future cannot be requested
instance: path/to/corresponding/resource
- NoFutureDateSupported:
type: /problems/MALFORMED_PAYLOAD
title: Invalid parameter values have been detected
detail: Data for date in the future cannot be requested
instance: path/to/corresponding/resource
content:
application/problem+json:
schema:
$ref: '#/components/schemas/CommonErrorResponse'
standard401:
headers:
Content-Language:
$ref: '#/components/headers/Content-Language'
WWW-Authenticate:
$ref: '#/components/headers/WWW-Authenticate'
X-Correlation-ID:
$ref: '#/components/headers/X-Correlation-ID'
X-CorAPI-Source:
$ref: '#/components/headers/X-CorAPI-Source'
description: Unauthorized - Either no token or an invalid (e.g., token expired) token was received.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/CommonErrorResponse'
standard403:
headers:
Content-Language:
$ref: '#/components/headers/Content-Language'
WWW-Authenticate:
$ref: '#/components/headers/WWW-Authenticate'
X-Correlation-ID:
$ref: '#/components/headers/X-Correlation-ID'
X-CorAPI-Source:
$ref: '#/components/headers/X-CorAPI-Source'
description: |
Forbidden - A valid OAuth Token was received, but access was denied. (Depending on the security requirements, providers can return 404 instead)
Examples:
- InsufficientPrivileges:
type: /problems/INSUFFICIENT_PRIVILEGES
title: No privileges for the requested operation
detail: Insufficient privileges for the requested operation
instance: path/to/corresponding/resource
- ExpiredToken:
type: /problems/EXPIRED_TOKEN
title: The OAuth Token is expired
detail: The token is no longer valid
instance: path/to/corresponding/resource
content:
application/problem+json:
schema:
$ref: '#/components/schemas/CommonErrorResponse'
standard404:
headers:
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: |
Not Found - Either the endpoint does not exist or a requested resource is not yet available (e.g., account statements)
Examples:
- InvalidAccounts:
type: /problems/INSUFFICIENT_PRIVILEGES
title: Insufficient privileges to access resource
detail: The provided token does not grant access to the requested account
instance: path/to/corresponding/resource
- InvalidToken:
type: /problems/INSUFFICIENT_PRIVILEGES
title: Insufficient privileges to access resource
detail: The provided token is not valid
instance: path/to/corresponding/resource
- WrongEndpointUrl:
type: /problems/TECHNICAL_ERROR
title: URL not found
detail: The requested endpoint does not exist
instance: path/to/corresponding/resource
- NoIntradayDataSupported:
type: /problems/NOT_IMPLEMENTED
title: Feature is not implemented
detail: This interface does not support intraday data
instance: path/to/corresponding/resource
content:
application/problem+json:
schema:
$ref: '#/components/schemas/CommonErrorResponse'
standard405:
headers:
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: |
Method Not Allowed - The method received in the request-line is known by the origin server but not supported by the target resource.
Examples:
- NotSupportedOperation:
type: /problems/WRONG_METHOD
title: This HTTP operation is not allowed on this endpoint
detail: Only GET operations are allowed
instance: path/to/corresponding/resource
content:
application/problem+json:
schema:
$ref: '#/components/schemas/CommonErrorResponse'
standard500:
headers:
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: |
Internal Server Error - The server encountered an unexpected condition that prevented it from fulfilling the request.
Examples:
- TechnicalServerError:
type: /problems/TECHNICAL_ERROR
title: Technical error on server side
detail: Processing yielded a technical error
instance: path/to/corresponding/resource
- ResourceTooLarge:
type: /problems/RESOURCE_TOO_LARGE
title: Generated resource was too large
detail: The generated resource exceeded the size limit
instance: path/to/corresponding/resource
content:
application/problem+json:
schema:
$ref: '#/components/schemas/CommonErrorResponse'
standard501:
headers:
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: |
Not Implemented - The server does not support the functionality required to fulfill the request.
Examples:
- EndpointNotImplemented:
type: /problems/NOT_IMPLEMENTED
title: Target endpoint is not implemented
detail: This endpoint is not implemented
instance: path/to/corresponding/resource
content:
application/problem+json:
schema:
$ref: '#/components/schemas/CommonErrorResponse'
standard502:
headers:
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: Bad Gateway - The server received an invalid response from the upstream server.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/CommonErrorResponse'
standard503:
headers:
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: Service Unavailable - The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/CommonErrorResponse'
standard504:
headers:
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: Gateway Timeout - The server did not get a response in time that it needed in order to complete the request.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/CommonErrorResponse'
parameters:
+ cursor_in_query:
+ in: query
+ name: cursor
+ description: Optional parameter for pagination. Use the ID of the last item from the previous response to retrieve the next set of results.
+ required: false
+ schema:
+ type: string
+ example: cursorIDxyz
+ limit_in_query:
+ in: query
+ name: limit
+ description: Optional parameter for pagination, specifying the number of items to return. The actual maximum limit can be defined by the provider.
+ required: false
+ schema:
+ type: integer
+ format: int32
+ example: 25
+ minimum: 1
+ default: 25
account_id_in_path:
in: path
name: accountid
description: id of account
required: true
schema:
maxLength: 256
pattern: ^[A-Za-z0-9](([A-Za-z0-9._]|-){0,254}[A-Za-z0-9]){0,1}$
type: string
report_id_in_path:
in: path
name: reportId
description: id of report
required: true
schema:
maxLength: 35
type: string
date_in_query:
in: query
name: date
description: 'The date to query, formatted as yyyy-mm-dd. Default value: current date'
schema:
type: string
format: date
+ date_from_in_query:
+ in: query
+ name: date_from
+ description: The start date for the query. Must be earlier than or equal to the dateTo parameter.
+ schema:
+ $ref: '#/components/schemas/Date'
+ date_to_in_query:
+ in: query
+ name: date_to
+ description: The end date for the query. Must be later than or equal to the dateFrom parameter.
+ schema:
+ $ref: '#/components/schemas/Date'
+ entry_status_in_query:
+ in: query
+ name: entry_status
+ description: >-
+ Specifies the status of the entries to be queried. Intraday movements can have a status of either "pending" or "booked." For completed booking
+ days, only entries with a "booked" status will be returned.
+ required: false
+ schema:
+ type: string
+ enum:
+ - booked
+ - pending
+ - both
+ default: booked
# bLink specific parameters
target_id_in_header:
name: X-CorAPI-Target-ID
in: header
description: 'ID that identifies the provider (e.g., a financial institution).'
required: true
schema:
type: string
psu_ip_in_header:
name: X-PSU-IP-Address
in: header
description: 'IP address of the user initiating the operation or AUTO for system triggered processes'
required: true
schema:
type: string
psu_user_agent_in_header:
name: X-PSU-User-Agent
in: header
description: 'User agent of the user initiating the operation or AUTO for system triggered processes'
required: true
schema:
type: string
permission_id_in_header:
name: Permission-ID
in: header
description: 'This contains the permission Id returned by the post permission, which was performed prior to any request.'
required: true
schema:
format: uuid,
type: string
client_id_in_header:
name: X-CorAPI-Client-ID
in: header
description: 'ID of the client forwarded to the provider.'
required: true
schema:
type: string
optional_target_id_in_header:
name: X-CorAPI-Target-ID
in: header
description: 'ID of the target, e.g., a financial institution.'
required: false
schema:
type: string
authorization_in_header:
name: Authorization
in: header
description: Bearer followed by a base64 encoded OAuth access token
required: true
schema:
type: string
correlation_in_header:
name: X-Correlation-ID
in: header
description: Unique ID (defined by the caller) which will be reflected back in the response.
required: true
schema:
type: string
maxLength: 64
agent_in_header:
name: User-Agent
in: header
description: Name and version of the of the Client software
required: true
schema:
type: string
- optional_authorization_in_header:
- name: Authorization
- in: header
- description: Bearer followed by a base64 encoded OAuth access token
- required: false
- schema:
- type: string
optional_agent_in_header:
name: User-Agent
in: header
description: Name and version of the of the client software
required: false
schema:
type: string
optional_correlation_in_header:
name: X-Correlation-ID
in: header
description: Unique ID (defined by the caller) which will be reflected back in the response.
required: false
schema:
type: string
maxLength: 64
optional_psu_ip_in_header:
name: X-PSU-IP-Address
in: header
description: 'IP address of the user initiating the operation (SCOPE: FI - optional)'
required: false
schema:
type: string
optional_psu_user_agent_in_header:
name: X-PSU-User-Agent
in: header
description: 'User of the client software (SCOPE: FI - optional)'
required: false
schema:
type: string
- optional_instance_id_in_header:
- name: X-Instance-ID
- in: header
- description: '(Deprecated) Identifies an on-prem application instance which uses a legacy on-prem certificate in the mTLS connection. Do not use the header otherwise.'
- required: false
- schema:
- type: string
- maxLength: 64
optional_permission_id_in_header:
name: Permission-ID
in: header
description: 'This contains the permission Id returned by the post permission, which was performed prior to any request.'
required: false
schema:
format: uuid,
type: string
headers:
X-Correlation-ID:
description: Client defined ID from request to correlate HTTP requests between a client and a server
schema:
type: string
maxLength: 64
example: f058ebd6-02f7-4d3f-942e-904344e8cde5
X-CorAPI-Source:
description: |
Indicates whether the response was created by the bLink platform or by the provider.
schema:
type: string
enum:
- PLATFORM
- PROVIDER
+ X-Next-Cursor:
+ description: >-
+ An opaque string value used for pagination. Include this value in the cursor parameter of the subsequent request to fetch the next page of
+ results. An empty string indicates that there are no more results.
+ required: false
+ schema:
+ type: string
+ example: nextCursorIDxyz
Content-Language:
description: Response language - always en.
schema:
type: string
WWW-Authenticate:
description: 'i.e. "Bearer error=''invalid_token''" according to RFC6750 section-3'
schema:
type: string