integrations.sh
← all integrations

Swiss NextGen Banking API-Framework

OpenAPI apis-guru financial

Summary

The Swiss NextGen API is based on the NextGenPSD2 Framework Version 1.3.4 of the Berlin Group which offers a modern, open, harmonised and interoperable set of Application Programming Interfaces (APIs) as the safest and most efficient way to provide data securely. The NextGen Framework reduces XS2A complexity and costs, addresses the problem of multiple competing standards in Europe and, aligned with the goals of the Euro Retail Payments Board, enables European banking customers to benefit from innovative products and services ('Banking as a Service') by granting TPPs safe and secure (authenticated and authorised) access to their bank accounts and financial data.

The Swiss edtion refines the message formats specific to Switzerland and defines some matching examples.

The possible Approaches are:

  • Redirect SCA Approach
  • (Not recommended by obp.ch community) OAuth SCA Approach
  • (Not recommended by obp.ch community) Decoupled SCA Approach
  • (Not recommended by obp.ch community) Embedded SCA Approach without SCA method
  • (Not recommended by obp.ch community) Embedded SCA Approach with only one SCA method available
  • (Not recommended by obp.ch community) Embedded SCA Approach with Selection of a SCA method

Not every message defined in this API definition is necessary for all approaches. Furthermore this API definition does not differ between methods which are mandatory, conditional, or optional Therefore for a particular implementation of a compliant API it is only necessary to support a certain subset of the methods defined in this API definition.

Please have a look at the implementation guidelines if you are not sure which message has to be used for the approach you are going to use.

Some General Remarks Related to this version of the OpenAPI Specification:

  • This API definition is based on the Implementation Guidelines of the . It is not a replacement in any sense. The main specification is (at the moment) always the Implementation Guidelines of the Berlin Group API.

  • This API definition contains the REST-API for requests from the PISP to the ASPSP.

  • This API definition contains the messages for all different approaches defined in the Implementation Guidelines.

  • According to the OpenAPI-Specification []

    "If in is "header" and the name field is "Accept", "Content-Type" or "Authorization", the parameter definition SHALL be ignored."

    The element "Accept" will not be defined in this file at any place.

    The elements "Content-Type" and "Authorization" are implicitly defined by the OpenApi tags "content" and "security".

  • There are several predefined types which might occur in payment initiation messages, but are not used in the standard JSON messages in the Implementation Guidelines. Therefore they are not used in the corresponding messages in this file either. We added them for the convenience of the user. If there is a payment product, which needs these fields, one can easily use the predefined types. But the ASPSP need not to accept them in general.

  • We omit the definition of all standard HTTP header elements (mandatory/optional/conditional) except they are mentioned in the Implementation Guidelines. Therefore the implementer might add these in his own realisation of a comlient API in addition to the elements defined in this file.

General Remarks on Data Types

The Berlin Group definition of UTF-8 strings in context of the API have to support at least the following characters

a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9

/ - ? : ( ) . , ' +

Space

Homepage
https://api.apis.guru/v2/specs/openbankingproject.ch/1.3.8_2020-12-14 - Swiss edition 1.3.8.1-CH.json
Provider
openbankingproject.ch
OpenAPI version
3.0.1
Spec (JSON)
https://api.apis.guru/v2/specs/openbankingproject.ch/1.3.8_2020-12-14 - Swiss edition 1.3.8.1-CH/openapi.json
Spec (YAML)
https://api.apis.guru/v2/specs/openbankingproject.ch/1.3.8_2020-12-14 - Swiss edition 1.3.8.1-CH/openapi.yaml

Tools (36)

Extracted live via the executor SDK.

  • accountInformationServiceAis.createConsent

    This method create a consent resource, defining access rights to dedicated accounts of a given PSU-ID. These accounts are addressed explicitly in the method as parameters as a core function.

    Side Effects When this consent request is a request where the "recurringIndicator" equals "true", and if it exists already a former consent for recurring access on account information for the addressed PSU, then the former consent automatically expires as soon as the new consent request is authorised by the PSU.

    Optional Extension: As an option, an ASPSP might optionally accept a specific access right on the access on all PSD2 related services for all available accounts.

    As another option an ASPSP might optionally also accept a command, where only access rights are inserted without mentioning the addressed account. The relation to accounts is then handled afterwards between PSU and ASPSP. This option is not supported for the Embedded SCA Approach. As a last option, an ASPSP might in addition accept a command with access rights

    • to see the list of available payment accounts or
    • to see the list of available payment accounts with balances.
  • accountInformationServiceAis.deleteConsent

    The TPP can delete an account information consent object if needed.

  • accountInformationServiceAis.getAccountList

    Read the identifiers of the available payment account together with booking balance information, depending on the consent granted.

    It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed list of accounts depends then on the PSU ID and the stored consent addressed by consentId, respectively the OAuth2 access token.

    Returns all identifiers of the accounts, to which an account access has been granted to through the /consents endpoint by the PSU. In addition, relevant information about the accounts and hyperlinks to corresponding account information resources are provided if a related consent has been already granted.

    Remark: Note that the /consents endpoint optionally offers to grant an access on all available payment accounts of a PSU. In this case, this endpoint will deliver the information about all available payment accounts of the PSU at this ASPSP.

  • accountInformationServiceAis.getBalances

    Reads account data from a given account addressed by "account-id".

    Remark: This account-id can be a tokenised identification due to data protection reason since the path information might be logged on intermediary servers within the ASPSP sphere. This account-id then can be retrieved by the "Get account list" call.

    The account-id is constant at least throughout the lifecycle of a given consent.

  • accountInformationServiceAis.getConsentAuthorisation

    Return a list of all authorisation subresources IDs which have been created.

    This function returns an array of hyperlinks to all generated authorisation sub-resources.

  • accountInformationServiceAis.getConsentInformation

    Returns the content of an account information consent object. This is returning the data for the TPP especially in cases, where the consent was directly managed between ASPSP and PSU e.g. in a redirect SCA Approach.

  • accountInformationServiceAis.getConsentScaStatus

    This method returns the SCA status of a consent initiation's authorisation sub-resource.

  • accountInformationServiceAis.getConsentStatus

    Read the status of an account information consent resource.

  • accountInformationServiceAis.getTransactionDetails

    Reads transaction details from a given transaction addressed by "transactionId" on a given account addressed by "account-id". This call is only available on transactions as reported in a JSON format.

    Remark: Please note that the PATH might be already given in detail by the corresponding entry of the response of the "Read Transaction List" call within the links subfield.

  • accountInformationServiceAis.getTransactionList

    Read transaction reports or transaction lists of a given account ddressed by "account-id", depending on the steering parameter "bookingStatus" together with balances.

    For a given account, additional parameters are e.g. the attributes "dateFrom" and "dateTo". The ASPSP might add balance information, if transaction lists without balances are not supported.

  • accountInformationServiceAis.readAccountDetails

    Reads details about an account, with balances where required. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed details of this account depends then on the stored consent addressed by consentId, respectively the OAuth2 access token.

    NOTE: The account-id can represent a multicurrency account. In this case the currency code is set to "XXX".

    Give detailed information about the addressed account.

    Give detailed information about the addressed account together with balance information

  • accountInformationServiceAis.startConsentAuthorisation

    Create an authorisation sub-resource and start the authorisation process of a consent. The message might in addition transmit authentication and authorisation related data.

    his method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the consent.

    The ASPSP might make the usage of this access method unnecessary, since the related authorisation resource will be automatically created by the ASPSP after the submission of the consent data with the first POST consents call.

    The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource.

    This applies in the following scenarios:

    • The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceding Payment initiation response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms:
      • 'startAuthorisationWithPsuIdentfication',
      • 'startAuthorisationWithPsuAuthentication'
      • 'startAuthorisationWithEncryptedPsuAuthentication'
      • 'startAuthorisationWithAuthentciationMethodSelection'
    • The related payment initiation cannot yet be executed since a multilevel SCA is mandated.
    • The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceding payment cancellation response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above.
    • The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation.
    • The signing basket needs to be authorised yet.
  • accountInformationServiceAis.updateConsentsPsuData

    This method update PSU data on the consents resource if needed. It may authorise a consent within the Embedded SCA Approach where needed.

    Independently from the SCA Approach it supports e.g. the selection of the authentication method and a non-SCA PSU authentication.

    There are several possible update PSU data requests in the context of a consent request if needed, which depends on the SCA approach:

    • Redirect SCA Approach: A specific Update PSU data request is applicable for
      • the selection of authentication methods, before choosing the actual SCA approach.
    • Decoupled SCA Approach: A specific update PSU data request is only applicable for
      • adding the PSU Identification, if not provided yet in the payment initiation request or the Account Information Consent Request, or if no OAuth2 access token is used, or
      • the selection of authentication methods.
    • Embedded SCA Approach: The Update PSU data request might be used
      • to add credentials as a first factor authentication data of the PSU and
      • to select the authentication method and
      • transaction authorisation.

    The SCA Approach might depend on the chosen SCA method. For that reason, the following possible update PSU data request can apply to all SCA approaches:

    • Select an SCA method in case of several SCA methods are available for the customer.

    There are the following request types on this access path:

    • Update PSU identification
    • Update PSU authentication
    • Select PSU autorization method WARNING: This method needs a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change.
    • Transaction Authorisation WARNING: This method needs a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change.
  • confirmationOfFundsServicePiis.checkAvailabilityOfFunds

    Creates a confirmation of funds request at the ASPSP. Checks whether a specific amount is available at point of time of the request on an account linked to a given tuple card issuer(TPP)/card number, or addressed by IBAN and TPP respectively. If the related extended services are used a conditional Consent-ID is contained in the header. This field is contained but commented out in this specification.

  • paymentInitiationServicePis.cancelPayment

    This method initiates the cancellation of a payment. Depending on the payment-service, the payment-product and the ASPSP's implementation, this TPP call might be sufficient to cancel a payment. If an authorisation of the payment cancellation is mandated by the ASPSP, a corresponding hyperlink will be contained in the response message.

    Cancels the addressed payment with resource identification paymentId if applicable to the payment-service, payment-product and received in product related timelines (e.g. before end of business day for scheduled payments of the last business day before the scheduled execution day).

    The response to this DELETE command will tell the TPP whether the

    • access method was rejected,
    • access method was successful, or
    • access method is generally applicable, but further authorisation processes are needed.
  • paymentInitiationServicePis.getPaymentCancellationScaStatus

    This method returns the SCA status of a payment initiation's authorisation sub-resource.

  • paymentInitiationServicePis.getPaymentInformation

    Returns the content of a payment object

  • paymentInitiationServicePis.getPaymentInitiationAuthorisation

    Read a list of all authorisation subresources IDs which have been created.

    This function returns an array of hyperlinks to all generated authorisation sub-resources.

  • paymentInitiationServicePis.getPaymentInitiationCancellationAuthorisationInformation

    Retrieve a list of all created cancellation authorisation sub-resources.

  • paymentInitiationServicePis.getPaymentInitiationScaStatus

    This method returns the SCA status of a payment initiation's authorisation sub-resource.

  • paymentInitiationServicePis.getPaymentInitiationStatus

    Check the transaction status of a payment initiation.

  • paymentInitiationServicePis.initiatePayment

    This method is used to initiate a payment at the ASPSP.

    Variants of payment initiation requests

    This method to initiate a payment initiation at the ASPSP can be sent with either a JSON body or an pain.001 body depending on the payment product in the path.

    There are the following payment products:

    • Payment products with payment information in JSON format:
      • domestic-swiss-credit-transfers-isr
      • domestic-swiss-credit-transfers
      • domestic-swiss-credit-transfers-qr
      • domestic-swiss-foreign-credit-transfers
      • swiss-sepa-credit-transfers
      • swiss-cross-border-credit-transfers
    • Payment products with payment information in SIX pain.001 XML format:
      • pain.001-sepa-credit-transfers
      • pain.001-cross-border-credit-transfers
      • pain.001-swiss-six-credit-transfers

    Furthermore the request body depends on the payment-service:

    • payments: A single payment initiation request.

    • bulk-payments: A collection of several payment initiation requests.

      In case of a pain.001 message there are more than one payments contained in the *pain.001 message.

      In case of a JSON there are several JSON payment blocks contained in a joining list.

    • periodic-payments: Create a standing order initiation resource for recurrent i.e. periodic payments addressable under {paymentId} with all data relevant for the corresponding payment product and the execution of the standing order contained in a JSON body.

    This is the first step in the API to initiate the related recurring/periodic payment.

    Single and mulitilevel SCA Processes

    The payment initiation requests are independent from the need of one or multilevel SCA processing, i.e. independent from the number of authorisations needed for the execution of payments.

    But the response messages are specific to either one SCA processing or multilevel SCA processing.

    For payment initiation with multilevel SCA, this specification requires an explicit start of the authorisation, i.e. links directly associated with SCA processing like 'scaRedirect' or 'scaOAuth' cannot be contained in the response message of a Payment Initation Request for a payment, where multiple authorisations are needed. Also if any data is needed for the next action, like selecting an SCA method is not supported in the response, since all starts of the multiple authorisations are fully equal. In these cases, first an authorisation sub-resource has to be generated following the 'startAuthorisation' link. *

  • paymentInitiationServicePis.startPaymentAuthorisation

    Create an authorisation sub-resource and start the authorisation process. The message might in addition transmit authentication and authorisation related data.

    This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the transaction.

    The ASPSP might make the usage of this access method unnecessary in case of only one SCA process needed, since the related authorisation resource might be automatically created by the ASPSP after the submission of the payment data with the first POST payments/{payment-product} call.

    The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource.

    This applies in the following scenarios:

    • The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding Payment initiation response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms:
      • 'startAuthorisationWithPsuIdentfication'
      • 'startAuthorisationWithPsuAuthentication'
      • 'startAuthorisationWithEncryptedPsuAuthentication'
      • 'startAuthorisationWithAuthentciationMethodSelection'
    • The related payment initiation cannot yet be executed since a multilevel SCA is mandated.
    • The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding Payment cancellation response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above.
    • The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation.
    • The signing basket needs to be authorised yet.
  • paymentInitiationServicePis.startPaymentInitiationCancellationAuthorisation

    Creates an authorisation sub-resource and start the authorisation process of the cancellation of the addressed payment. The message might in addition transmit authentication and authorisation related data.

    This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the cancellation-authorisation.

    The ASPSP might make the usage of this access method unnecessary in case of only one SCA process needed, since the related authorisation resource might be automatically created by the ASPSP after the submission of the payment data with the first POST payments/{payment-product} call.

    The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource.

    This applies in the following scenarios:

    • The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding payment initiation response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms:
      • 'startAuthorisationWithPsuIdentfication'
      • 'startAuthorisationWithPsuAuthentication'
      • 'startAuthorisationWithAuthentciationMethodSelection'
    • The related payment initiation cannot yet be executed since a multilevel SCA is mandated.
    • The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding payment cancellation response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above.
    • The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation.
    • The signing basket needs to be authorised yet.
  • paymentInitiationServicePis.updatePaymentCancellationPsuData

    This method updates PSU data on the cancellation authorisation resource if needed. It may authorise a cancellation of the payment within the Embedded SCA Approach where needed.

    Independently from the SCA Approach it supports e.g. the selection of the authentication method and a non-SCA PSU authentication.

    There are several possible update PSU data requests in the context of a cancellation authorisation within the payment initiation services needed, which depends on the SCA approach:

    • Redirect SCA Approach: A specific Update PSU data request is applicable for
      • the selection of authentication methods, before choosing the actual SCA approach.
    • Decoupled SCA Approach: A specific Update PSU data request is only applicable for
      • adding the PSU Identification, if not provided yet in the payment initiation request or the Account Information Consent Request, or if no OAuth2 access token is used, or
      • the selection of authentication methods.
    • Embedded SCA Approach: The Update PSU data request might be used
      • to add credentials as a first factor authentication data of the PSU and
      • to select the authentication method and
      • transaction authorisation.

    The SCA approach might depend on the chosen SCA method. For that reason, the following possible update PSU data request can apply to all SCA approaches:

    • Select an SCA method in case of several SCA methods are available for the customer.

    There are the following request types on this access path:

    • Update PSU identification
    • Update PSU authentication
    • Select PSU autorization method WARNING: This method needs a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change.
    • Transaction Authorisation WARNING: This method needs a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change.
  • paymentInitiationServicePis.updatePaymentPsuData

    This methods updates PSU data on the authorisation resource if needed. It may authorise a payment within the Embedded SCA Approach where needed.

    Independently from the SCA Approach it supports e.g. the selection of the authentication method and a non-SCA PSU authentication.

    There are several possible update PSU data requests in the context of payment initiation services needed, which depends on the SCA approach:

    • Redirect SCA Approach: A specific update PSU data request is applicable for
      • the selection of authentication methods, before choosing the actual SCA approach.
    • Decoupled SCA Approach: A specific update PSU data request is only applicable for
      • adding the PSU identification, if not provided yet in the payment initiation request or the account information consent request, or if no OAuth2 access token is used, or
      • the selection of authentication methods.
    • Embedded SCA Approach: The Update PSU Data request might be used
      • to add credentials as a first factor authentication data of the PSU and
      • to select the authentication method and
      • transaction authorisation.

    The SCA Approach might depend on the chosen SCA method. For that reason, the following possible Update PSU data request can apply to all SCA approaches:

    • Select an SCA method in case of several SCA methods are available for the customer.

    There are the following request types on this access path:

    • Update PSU identification
    • Update PSU authentication
    • Select PSU autorization method WARNING: This method needs a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change.
    • Transaction authorisation WARNING: This method needs a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change.
  • signingBasketsServiceSbs.createSigningBasket

    Create a signing basket resource for authorising several transactions with one SCA method. The resource identifications of these transactions are contained in the payload of this access method

  • signingBasketsServiceSbs.deleteSigningBasket

    Delete the signing basket structure as long as no (partial) authorisation has yet been applied. The undlerying transactions are not affected by this deletion.

    Remark: The signing basket as such is not deletable after a first (partial) authorisation has been applied. Nevertheless, single transactions might be cancelled on an individual basis on the XS2A interface.

  • signingBasketsServiceSbs.getSigningBasket

    Returns the content of a signing basket object.

  • signingBasketsServiceSbs.getSigningBasketAuthorisation

    Read a list of all authorisation subresources IDs which have been created.

    This function returns an array of hyperlinks to all generated authorisation sub-resources.

  • signingBasketsServiceSbs.getSigningBasketScaStatus

    This method returns the SCA status of a signing basket's authorisation sub-resource.

  • signingBasketsServiceSbs.getSigningBasketStatus

    Returns the status of a signing basket object.

  • signingBasketsServiceSbs.startSigningBasketAuthorisation

    Create an authorisation sub-resource and start the authorisation process of a signing basket. The message might in addition transmit authentication and authorisation related data.

    This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the signing-baskets.

    The ASPSP might make the usage of this access method unnecessary in case of only one SCA process needed, since the related authorisation resource might be automatically created by the ASPSP after the submission of the payment data with the first POST signing basket call.

    The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource.

    This applies in the following scenarios:

    • The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding payment initiation response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms:
      • 'startAuthorisationWithPsuIdentfication',
      • 'startAuthorisationWithPsuAuthentication'
      • 'startAuthorisationWithEncryptedPsuAuthentication'
      • 'startAuthorisationWithAuthentciationMethodSelection'
    • The related payment initiation cannot yet be executed since a multilevel SCA is mandated.
    • The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding payment cancellation response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above.
    • The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation.
    • The signing basket needs to be authorised yet.
  • signingBasketsServiceSbs.updateSigningBasketPsuData

    This method update PSU data on the signing basket resource if needed. It may authorise a igning basket within the embedded SCA approach where needed.

    Independently from the SCA Approach it supports e.g. the selection of the authentication method and a non-SCA PSU authentication.

    There are several possible update PSU data requests in the context of a consent request if needed, which depends on the SCA approach:

    • Redirect SCA Approach: A specific Update PSU data request is applicable for
      • the selection of authentication methods, before choosing the actual SCA approach.
    • Decoupled SCA Approach: A specific Update PSU data request is only applicable for
      • adding the PSU Identification, if not provided yet in the payment initiation request or the account information consent request, or if no OAuth2 access token is used, or
      • the selection of authentication methods.
    • Embedded SCA Approach: The update PSU data request might be used
      • to add credentials as a first factor authentication data of the PSU and
      • to select the authentication method and
      • transaction authorisation.

    The SCA approach might depend on the chosen SCA method. For that reason, the following possible update PSU data request can apply to all SCA approaches:

    • Select an SCA method in case of several SCA methods are available for the customer.

    There are the following request types on this access path:

    • Update PSU identification
    • Update PSU authentication
    • Select PSU autorization Method WARNING: This method needs a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change.
    • Transaction Authorisation WARNING: This method needs a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change.
  • openapi.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools