Resources

name path methods description
Account Information Service (AIS)
  • /accounts
  • /accounts/{account-id}
  • /accounts/{account-id}/balances
  • /accounts/{account-id}/transactions
  • /accounts/{account-id}/transactions/{transactionId}
  • /card-accounts
  • /card-accounts/{account-id}
  • /card-accounts/{account-id}/balances
  • /card-accounts/{account-id}/transactions
  • /consents
  • /consents/{consentId}
  • /consents/{consentId}/authorisations
  • /consents/{consentId}/authorisations/{authorisationId}
  • /consents/{consentId}/status
  • /custody-accounts
  • /custody-accounts/{account-id}
  • /custody-accounts/{account-id}/balances
  • /custody-accounts/{account-id}/transactions
  • /instruments
  • /instruments/search
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • POST
  • DELETE GET
  • GET POST
  • GET PUT
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • POST
The Account Information Service (AIS) offers the following services
  • Transaction reports for a given account or card account including balances if applicable.
  • Balances of a given account or card account,
  • A list of available accounts or card account,
  • Account details of a given account or card account or of the list of all accessible accounts or card account relative to a granted consent
Confirmation of Funds Service (PIIS)
  • /funds-confirmations
  • POST
Confirmation of Funds Service (PIIS) returns a confirmation of funds request at the ASPSP.
Market Order Initiation Service (MIS)
  • /market-orders
  • /market-orders/{marketorderId}
  • /market-orders/{marketorderId}/authorisations
  • /market-orders/{marketorderId}/authorisations/{authorisationId}
  • /market-orders/{marketorderId}/cancellation-authorisations
  • /market-orders/{marketorderId}/cancellation-authorisations/{authorisationId}
  • /market-orders/{marketorderId}/status
  • POST
  • DELETE GET
  • GET POST
  • GET PUT
  • GET POST
  • GET PUT
  • GET
The Description for Market Order Initiation Service (MIS) offers the following services:
  • Initiation and update of a market order request
  • Status information of a market order
OAuth2 Authentication Service
  • /oauth2/authorise
  • /oauth2/token
  • GET
  • POST

The OAuth2 protocol as used optionally for this API is defined in https://tools.ietf.org/html/rfc6749. In this section, additional requirements on the protocol are defined.

The requirements on the data exchange between the TPP and the OAuth Server of the ASPSP regarding the transport layer are identical to the data exchange requirements between TPP and the XS2A Interface.

Remark: Specifically, the requirements on using MTLS also apply to the usage of the oAUTH2 Protocoll. However, the general requirements on the application layer such as e.g. signing of Requests do not apply to the oAUTH2 messages.

The response type "code" and the grant types "authorization_code" and "refresh_token" are recommended by this specification. It is further strongly recommended to TPPs and ASPSPs to follow the security best practices.

The ASPSP is required to provide TPPs with configuration data conforming to the "OAuth 2.0 Authorisation Server Metadata" specification.

Payment Initiation Service (PIS)
  • /{payment-service}/{payment-product}
  • /{payment-service}/{payment-product}/{paymentId}
  • /{payment-service}/{payment-product}/{paymentId}/authorisations
  • /{payment-service}/{payment-product}/{paymentId}/authorisations/{authorisationId}
  • /{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations
  • /{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations/{authorisationId}
  • /{payment-service}/{payment-product}/{paymentId}/status
  • POST
  • DELETE GET
  • GET POST
  • GET PUT
  • GET POST
  • GET PUT
  • GET
The Description for Payment Initiation Service (PIS) offers the following services:
  • Initiation and update of a payment request
  • Status information of a payment
Signing Baskets (SBS)
  • /signing-baskets
  • /signing-baskets/{basketId}
  • /signing-baskets/{basketId}/authorisations
  • /signing-baskets/{basketId}/authorisations/{authorisationId}
  • /signing-baskets/{basketId}/status
  • POST
  • DELETE GET
  • GET POST
  • GET PUT
  • GET
Signing basket methods are used for authorising several transactions and resp. or consents with one SCA operation.
Utility
  • /utility/healthcheck
  • /utility/system-messages
  • /utility/version
  • GET
  • GET
  • GET
General services that indicate availability of the psd2 interface and backend services.

Data Types

JSON

type description
AccountAccess

Requested access services for a consent.

NOTE: All permitted "access" attributes ("accounts", "balances" and "transactions") used in this message shall carry a non-empty array of account references, indicating the accounts where the type of access is requested. Please note that a "transactions" or "balances" access right also gives access to the generic /accounts endpoints, i.e. is implicitly supporting also the "accounts" access.

AccountBalanceResponse Body of the response for a successful read balance for an account request.
AccountDetails Details about an account
AccountDetailsResponse Body of the response for a successful read of account details.
AccountGroup A group of accounts
AccountList A list of AccountDetails.
AccountReference

Reference to an account by either

  • IBAN, of a payment accounts, or
  • BBAN, for payment accounts if there is no IBAN, or
  • the Primary Account Number (PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or
  • the Primary Account Number (PAN) of a card in a masked form, or
  • an alias to access a payment account via a registered mobile phone number (MSISDN).
AccountStatus Account status.
AccountTransactionsResponse Body of the JSON response for a successful read card account transaction list request. This card account report contains transactions resulting from the query parameters.
AdditionalInformationAccess

Optional if supported by API provider.

Is asking for additional information as added within this structured object. The usage of this data element requires at least one of the entries "accounts", "transactions" or "balances" also to be contained in the object. If detailed accounts are referenced, it is required in addition that any account addressed within the additionalInformation attribute is also addressed by at least one of the attributes "accounts", "transactions" or "balances".

AdditionalInformationStructured Is used if and only if the bookingStatus entry equals "information". Every active standing order related to the dedicated payment account result into one entry.
Address Address object
Amount An amount of money in a certain currency
ApplicationVersionResponse Json Response Body for the application version request.
AuthenticationObject A method for strong customer authentication
AuthenticationType A specific type of an authentication method
AuthorisationConfirmationResponse Body of the JSON response for a authorisation confirmation.
AuthorisationErrorResponse Body of an 401 unauthorized JSON response.
AuthorisationTokenErrorResponse Body of the JSON response for a an invalid authorisation token request.
AuthorisationTokenResponse Body of the JSON response for a authorisation token.
AuthorisationUpdate Different Authorisation Bodies.
AuthorisationUpdateMifidConfirmation Extension of authorisation update with MiFID confirmation.
Authorisations An array of all authorisationIds
Balance A single balance element
BalanceType Type of balance.
BulkPaymentInitiation Generic Body for a bulk payment initiation via JSON.
BulkPaymentInitiationWithStatusResponse Generic JSON response body consistion of the corresponding bulk payment initation JSON body together with an optional transaction status field.
CardAccountBalanceResponse Body of the response for a successful read balance for a card account request.
CardAccountDetails Card account details.
CardAccountDetailsResponse Body of the response for a successful read of card account details.
CardAccountList A list of CardAccountDetails.
CardAccountReport

JSON based card account report.

This card account report contains transactions resulting from the query parameters.

CardAccountTransactionsResponse Body of the JSON response for a successful read card account transaction list request. This card account report contains transactions resulting from the query parameters.
CardTransaction Card transaction information.
Challenge It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA. In rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link.
ChargeBearerType1Code The charge type of a transaction
Consent A consent.
ConsentCreationRequest Content of the body of a consent request.
ConsentCreationResult The response for a consent creation
ConsentData Basic information about the consent.
ConsentStatus This is the overall lifecycle status of the consent.
ConsentStatusResponse Body of the JSON response for a successful get status request for a consent.
CustodyAccountBalanceResponse Body of the response for a successful read balance for an account request.
CustodyAccountDetails Custody account details.
CustodyAccountDetailsResponse Body of the response for a successful read of custody account details.
CustodyAccountList A list of CustodyAccountDetails.
CustodyAccountPosition Depot position.
CustodyAccountReference Reference to a custody account by BBAN.
CustodyAccountReport

JSON based custody account report.

This custody account report contains transactions resulting from the query parameters.

CustodyAccountTransaction JSON request body for a market order inition request message.
CustodyAccountTransactionsResponse Body of the JSON response for a successful read custody account transaction list request. This custody account report contains transactions resulting from the query parameters.
DayOfExecution Day of execution as string. This string consists of up two characters. Leading zeroes are not allowed. 31 is ultimo of the month.
EventFrequency7Code The following codes from the "EventFrequency7Code" of ISO 20022 are supported:
  • "Daily"
  • "Weekly"
  • "EveryTwoWeeks"
  • "Monthly"
  • "EveryTwoMonths"
  • "Quarterly"
  • "SemiAnnual"
  • "Annual"
  • "MonthlyVariable"
ExecutionRule "following" or "preceding" supported as values. This data attribute defines the behaviour when recurring payment dates falls on a weekend or bank holiday. The payment is then executed either the "preceding" or "following" working day. ASPSP might reject the request due to the communicated value, if rules in Online-Banking are not supporting this execution rule.
ExternalBankTransactionDomain1Code Domain Code
ExternalBankTransactionFamily1Code Family Code
ExternalBankTransactionSubFamily1Code SubFamily Code
ExternalCashAccountType1Code ExternalCashAccountType1Code from ISO 20022.
ExternalPurpose1Code The purpose of a transaction
FundsConfirmationRequest JSON Request body for the "Confirmation of Funds Service"
FundsConfirmationResponse JSON Response body for the "Confirmation of Funds Service"
HrefType Link to a resource
Instrument Object representing a specific financial instrument.
InstrumentReference Reference of a specific financial instrument.
InstrumentTypeGroup Securities type
InstrumentsAccess Financial instrument access type
InstrumentsResponse Body of the JSON response for a successful get financial instruments.
InstrumentsSearchRequest Parameters for generic search of financial instruments using the given parameters
Links Definition of _link types. Remark: All links can be relative or full links, to be decided by the ASPSP.
LinksAccountDetails Links to the account, which can be directly used for retrieving account information from this dedicated account. Links to "balances" and/or "transactions" These links are only supported, when the corresponding consent has been already granted.
LinksAccountReport Type of links admitted in this response
LinksAll A _link object with all available link types
LinksAuthorisationConfirmation Type of links admitted in this response
LinksCardAccountReport Type of links admitted in this response
LinksConsents Type of links admitted in this response
LinksDownload Type of links admitted in this response. This feature shall only be used where camt-data is requested which has a huge size.
LinksGetConsent Type of links admitted in this response
LinksMarketorderInitiation Type of links admitted in this response
LinksMarketorderInitiationCancel Type of links admitted in this response
LinksPaymentInitiation Type of links admitted in this response
LinksPaymentInitiationCancel Type of links admitted in this response
LinksSelectPsuAuthenticationMethod Type of links admitted in this response
LinksSigningBasket Type of links admitted in this response
LinksStartScaProcess Type of links admitted in this response
LinksTransactionDetails Type of links admitted in this response
LinksUpdatePsuAuthentication Type of links admitted in this response
LinksUpdatePsuIdentification Type of links admitted in this response
Marketorder JSON request body for a market order inition request message.
MarketorderCustodyAccount JSON request body for a market order depot inition request message.
MarketorderInitiationCancelResponse Body of the response for a successful cancel payment request.
MarketorderInitiationResponse Body of the response for a successful payment initiation request.
MarketorderStatusResponse Body of the response for a successful payment initiation status request in case of an JSON based endpoint.
MessageCode2XX Message codes for HTTP Error codes 2XX.
MifidConfirmation Reference to a custody account by BBAN.
MifidRequirement Requirements for MiFID confirmation.
OtpFormat The format type of the OTP to be typed in. The admitted values are "characters" or "integer".
PaymentExchangeRate Exchange Rate.
PaymentInitiation

Generic Body for a payment initiation via JSON.

This generic JSON body can be used to represent valid payment initiations for the following JSON based payment product, which where defined in the Implementation Guidelines:

  • sepa-credit-transfers
  • instant-sepa-credit-transfers
  • target-2-payments
  • cross-border-credit-transfers
    • For the convenience of the implementer additional which are already predefined in the Implementation Guidelines are included (but commented in source code), such that an ASPSP may add them easily.

      Take care: Since the format is intended to fit for all payment products there are additional conditions which are NOT covered by this specification. Please check the Implementation Guidelines for details.

      The following data element are depending on the actual payment product available (in source code):

      Data Element SCT EU Core SCT INST EU Core Target2 Paym. Core Cross Border CT Core
      endToEndIdentification optional optional optional n.a.
      instructionIdentification n.a. n.a. n.a. n.a.
      debtorName n.a. n.a. n.a. n.a.
      debtorAccount mandatory mandatory mandatory mandatory
      debtorId n.a. n.a. n.a. n.a.
      ultimateDebtor n.a. n.a. n.a. n.a.
      instructedAmount mandatory mandatory mandatory mandatory
      transactionCurrency n.a. n.a. n.a. n.a.
      exchangeRateInformation n.a. n.a. n.a. n.a.
      creditorAccount mandatory mandatory mandatory mandatory
      creditorAgent optional optional optional conditional
      creditorAgentName n.a. n.a. n.a. n.a.
      creditorName mandatory mandatory mandatory mandatory
      creditorId n.a. n.a. n.a. n.a.
      creditorAddress optional optional optional conditional
      creditorNameAndAddress n.a. n.a. n.a. n.a.
      ultimateCreditor n.a. n.a. n.a. n.a.
      purposeCode n.a. n.a. n.a. n.a.
      chargeBearer n.a. n.a. optional conditional
      remittanceInformationUnstructured optional optional optional optional
      remittanceInformationUnstructuredArray n.a. n.a. n.a. n.a.
      remittanceInformationStructured n.a. n.a. n.a. n.a.
      remittanceInformationStructuredArray n.a. n.a. n.a. n.a.
      requestedExecutionDate n.a. n.a. n.a. n.a.
      requestedExecutionTime n.a. n.a. n.a. n.a.

      IMPORTANT: In this API definition the following holds:

      • Data elements which are mandatory in the table above for all payment products are set to be mandatory in this specification.
      • Data elements which are indicated in the table above as n.a. for all payment products are commented in the source code.
      • Data elements which are indicated to be option, conditional or mandatory for at least one payment product in the table above are set to be optional in the specification except the case where all are define to be mandatory.
      • Data element which are indicated to be n.a. can be used by the ASPS if needed. In this case uncomment the the related lines in the source code.
      • If one uses this data types for some payment products he has to ensure that the used data type is valid according to the underlying payment product, e.g. by some appropriate validations.
PaymentInitiationBulkElement

Generic body for a bulk payment initiation entry.

The bulk entry type is a type which follows the JSON formats for the supported products for single payments excluding the data elements (if supported):

  • debtorAccount
  • requestedExecutionDate,
  • requestedExecutionTime.

These data elements may not be contained in any bulk entry.

This generic JSON body can be used to represent valid payment initiations for the following JSON based payment product, which where defined in the Implementation Guidelines:

  • sepa-credit-transfers
  • instant-sepa-credit-transfers
  • target-2-payments
  • cross-border-credit-transfers
    • For the convenience of the implementer additional which are already predefined in the Implementation Guidelines are included (but commented in source code), such that an ASPSP may add them easily.

      Take care: Since the format is intended to fit for all payment products there are additional conditions which are NOT covered by this specification. Please check the Implementation Guidelines for details.

      The following data element are depending on the actual payment product available (in source code):

      Data Element SCT EU Core SCT INST EU Core Target2 Paym. Core Cross Border CT Core
      endToEndIdentification optional optional optional n.a.
      instructionIdentification n.a. n.a. n.a. n.a.
      debtorName n.a. n.a. n.a. n.a.
      debtorAccount mandatory mandatory mandatory mandatory
      debtorId n.a. n.a. n.a. n.a.
      ultimateDebtor n.a. n.a. n.a. n.a.
      instructedAmount mandatory mandatory mandatory mandatory
      transactionCurrency n.a. n.a. n.a. n.a.
      exchangeRateInformation n.a. n.a. n.a. n.a.
      creditorAccount mandatory mandatory mandatory mandatory
      creditorAgent optional optional optional conditional
      creditorAgentName n.a. n.a. n.a. n.a.
      creditorName mandatory mandatory mandatory mandatory
      creditorId n.a. n.a. n.a. n.a.
      creditorAddress optional optional optional conditional
      creditorNameAndAddress n.a. n.a. n.a. n.a.
      ultimateCreditor n.a. n.a. n.a. n.a.
      purposeCode n.a. n.a. n.a. n.a.
      chargeBearer n.a. n.a. optional conditional
      remittanceInformationUnstructured optional optional optional optional
      remittanceInformationUnstructuredArray n.a. n.a. n.a. n.a.
      remittanceInformationStructured n.a. n.a. n.a. n.a.
      remittanceInformationStructuredArray n.a. n.a. n.a. n.a.

      IMPORTANT: In this API definition the following holds:

      • Data elements which are mandatory in the table above for all payment products are set to be mandatory in this specification.
      • Data elements which are indicated in the table above as n.a. for all payment products are commented in the source code.
      • Data elements which are indicated to be option, conditional or mandatory for at least one payment product in the table above are set to be optional in the specification except the case where all are define to be mandatory.
      • Data element which are indicated to be n.a. can be used by the ASPS if needed. In this case uncomment the the related lines in the source code.
      • If one uses this data types for some payment products he has to ensure that the used data type is valid according to the underlying payment product, e.g. by some appropriate validations.
PaymentInitiationCancelResponse Body of the response for a successful cancel payment request.
PaymentInitiationResponse Body of the response for a successful payment initiation request.
PaymentInitiationWithStatusResponse Generic JSON response body consisting of the corresponding payment initiation JSON body together with an optional transaction status field.
PaymentStatusResponse Body of the response for a successful payment initiation status request in case of an JSON based endpoint.
PeriodicPaymentInitiation

Generic Body for a periodic payment initation via JSON.

This generic JSON body can be used to represent valid payment initiations for the following JSON based payment product, which where defined in the Implementation Guidelines:

  • sepa-credit-transfers
  • instant-sepa-credit-transfers
  • target-2-payments
  • cross-border-credit-transfers
    • For the convenience of the implementer additional which are already predefined in the Implementation Guidelines are included (but commented in source code), such that an ASPSP may add them easily.

      Take care: Since the format is intended to fit for all payment products there are additional conditions which are NOT covered by this specification. Please check the Implementation Guidelines for details.

      The following data element are depending on the actual payment product available (in source code):

      Data Element SCT EU Core SCT INST EU Core Target2 Paym. Core Cross Border CT Core
      endToEndIdentification optional optional optional n.a.
      instructionIdentification n.a. n.a. n.a. n.a.
      debtorName n.a. n.a. n.a. n.a.
      debtorAccount mandatory mandatory mandatory mandatory
      debtorId n.a. n.a. n.a. n.a.
      ultimateDebtor n.a. n.a. n.a. n.a.
      instructedAmount mandatory mandatory mandatory mandatory
      transactionCurrency n.a. n.a. n.a. n.a.
      exchangeRateInformation n.a. n.a. n.a. n.a.
      creditorAccount mandatory mandatory mandatory mandatory
      creditorAgent optional optional optional conditional
      creditorAgentName n.a. n.a. n.a. n.a.
      creditorName mandatory mandatory mandatory mandatory
      creditorId n.a. n.a. n.a. n.a.
      creditorAddress optional optional optional conditional
      creditorNameAndAddress n.a. n.a. n.a. n.a.
      ultimateCreditor n.a. n.a. n.a. n.a.
      purposeCode n.a. n.a. n.a. n.a.
      chargeBearer n.a. n.a. optional conditional
      remittanceInformationUnstructured optional optional optional optional
      remittanceInformationUnstructuredArray n.a. n.a. n.a. n.a.
      remittanceInformationStructured n.a. n.a. n.a. n.a.
      remittanceInformationStructuredArray n.a. n.a. n.a. n.a.
      requestedExecutionDate n.a. n.a. n.a. n.a.
      requestedExecutionTime n.a. n.a. n.a. n.a.
      startDate mandatory mandatory mandatory mandatory
      executionRule optional optional optional optional
      endDate optional optional optional optional
      frequency mandatory mandatory mandatory mandatory
      dayOfExecution conditional conditional conditional conditional

      IMPORTANT: In this API definition the following holds:

      • Data elements which are mandatory in the table above for all payment products are set to be mandatory in this specification.
      • Data elements which are indicated in the table above as n.a. for all payment products are commented in the source code.
      • Data elements which are indicated to be option, conditional or mandatory for at least one payment product in the table above are set to be optional in the specification except the case where all are define to be mandatory.
      • Data element which are indicated to be n.a. can be used by the ASPS if needed. In this case uncomment the the related lines in the source code.
      • If one uses this data types for some payment products he has to ensure that the used data type is valid according to the underlying payment product, e.g. by some appropriate validations.
PeriodicPaymentInitiationWithStatusResponse Generic JSON response body consisting of the corresponding periodic payment initiation JSON body together with an optional transaction status field.
PsuData

PSU Data for PSU Authentication.

The password or encryptedPassword subfield is used, depending on encryption requirements of the ASPSP as indicated in the corresponding hyperlink contained in the last response message of the ASPSP.

Remark for Future: More details on the encrypted password transport will be published by a future bulletin.

RateType
RemitenceInformationStructured Structured remittance information.
ReportExchangeRate Exchange Rate.
ScaStatus Information about the status of the SCA method.
ScaStatusAuthorisationConfirmation
ScaStatusResponse Body of the JSON response with SCA Status.
ScaprocessResponse Common type for a sca process response.
SigningBasketInitiationResponse Body of the JSON response for a successful create signing basket request.
SigningBasketRequestBody JSON Body of a establish signing basket request. The body shall contain at least one entry.
SigningBasketResponse

Body of the JSON response for a successful get signing basket request.

  • 'payments': payment initiations which shall be authorised through this signing basket.
  • 'consents': consent objects which shall be authorised through this signing basket.
  • 'transactionStatus': Only the codes RCVD, ACTC, RJCT are used.
  • '_links': The ASPSP might integrate hyperlinks to indicate next (authorisation) steps to be taken.
SigningBasketStatusResponse Body of the JSON response for a successful get status request for a consent.
StandingOrderDetails Details of underlying standing orders.
StartScaprocessResponse Body of the JSON response for a Start SCA authorisation request.
SystemMessage A system message
SystemMessageResponse Json Response Body for the system messages request.
TppMessage Abstract TPP message type
TppMessage2XX Message codes for HTTP Error codes 2XX.
TppMessageCategory Category of the TPP message category
TradingType The trading types
TransactionDetails Transaction details
TransactionLists

JSON based account report. This account report contains transactions resulting from the query parameters.

'booked' shall be contained if bookingStatus parameter is set to "booked" or "both".

'pending' is not contained if the bookingStatus parameter is set to "booked".

TransactionStatus The state of a transaction
UpdatePsuDataResponse Body of the JSON response for a Update SCA authorisation request.
Usage Specifies the usage of the account
ValuationPrice Container for a valuation price.